изучение алгоритмического языка С. Изучение системы Matlab

Страницы работы

Содержание работы

Романова Г. Н. , доцент кафедры  «Радиоэлектронные  системы»

                                                           Информатика

                                  Методические указания для заочников

                                                ( спец. 20007, 20009 )

1.  Содержание курса:

         1 - й семестр – изучение алгоритмического языка С; необходимо              

              выполнить  4 лабораторных работы :

1.  табулирование функции;

2.  вычисление суммы бесконечного ряда;

3.  табулирование функции с использованием функции;

4.  вычисление суммы бесконечного ряда с использованием функции;

         2-й семестр -  изучение системы Matlab(курсовая работа) .

2.  Элементарные понятия  программирования на ЭВМ

ЭВМ – физическая система для автоматического выполнения команд по заданному алгоритму. Команды выполняются строго в той последовательности, как они записаны в алгоритме. ЭВМ получает информацию, хранит, преобразует по заданному алгоритму и выводит результат в заданной форме.

АЛГОРИТМ – строгая последовательность действий (команд), которые необходимо выполнить над исходными данными для получения результата.

Свойства алгоритма:

1.  дискретность (команды отделены одна от другой );

2.  определенность (однозначность, каждая команда имеет единственный смысл);

3.  множественность (по данному алгоритму можно решить много однотипных задач);

4.  результативность (выполнение алгоритма должно привести к получению результата).

          Составление алгоритма требует четкой постановки задачи, определения

          исходных данных и  формы результата.

          Пример.

           Протабулировать функцию F(x,y) как зависимость от x в диапазоне x

           от xb до xe   при   одном значении y . В диапазоне от xb до xe

           необходимо вычислить n значений F(x,y).

           F(x,y)=A*lg(x+y)+B*Cos(V+x), где

           A=Öx*tg(B); B=ln(x2+y2); V – дробная часть А.

           Исходные данные: y,xb, xe и n - число расчетов .

           Результат: на экран необходимо вывести таблицу.

            Словесный алгоритм.

            1. Начало;

            2. Ввод y,xb,xe,n;

       3. Вычисление шага dx=(xe-xb)/(n-1);

       4. Вывод y;

   5. Вывод  шапки;

6.  x=xb;

7.  Вычисление B,A,V,F;

8.  Вывод x,F;

9.  x=x+dx;

10. x<=xe если да то переход на 7; если нет – на 11;

11. Вывод подписи;

12. Конец.

Блок – схема алгоритма приведена на рис. 1 и рис. 2. На рис.1 повтор вычислений B, A, V, F и вывод  на экран x, F реализован с помощью условного оператора и системы меток. На рис.2 повтор вычислений B, A, V, F и вывод  на экран x, F реализован с помощью оператора цикла.

3.  Структура программы на алгоритмическом языке С.

1.  Директивы препроцессора;

2.  Объявления функций созданных программистом;

3.  Объявления глобальных переменных;

4.  Описание функции _tmain();

5.  Описания функций созданных программистом ;

Пункты 2, 3, 5 могут отсутствовать.

Директивы препроцессора – специальная программа, позволяющая включить в текст  вашей программы текст из какого – либо файла. Директива

#include<math.h> указывает на включение в программу содержимого файла math.h (заголовочного файла библиотеки математических функций).

Описания функций обязательно заключены в фигурные скобки {} и содержат последовательность операторов, которые реализуют алгоритм задачи, перед операторами могут быть объявления локальных переменных.

Объявления  переменных . В языке С все идентификаторы (переменные) должны быть объявлены т.е. задан их тип до первого их применения. Объявление  переменной определяет следующие действия:

1.Выделение памяти под данную переменную (количество байт 

  определено типом );

2.фиксирование номера первого байта – адреса переменной;

3.определение диапазона возможных значений переменной;

4.определение  возможных действий, которые можно совершать над переменной.

Программа на языке С, реализующая табулирование функции.

      #include “stdafx.h”

     #include <conio.h>

    #include <math.h>

    void _tmain(void)

    {

                    double x,y,A,B,V,F,xb,xe,dx;

                    int n;

                    printf("y=");

            scanf_s("%le",&y);

            printf("\nxb, xe, n  (x>0)");

            scanf_s("%le%le%i",&xb,&xe,&n);

            dx=(xe-xb)/(n-1);

            printf("y=%le\n",y);

            printf("   -----------------------------------\n");

            printf("   |         X       |       F        |\n");

            printf("   -----------------------------------\n");

           for(x=xb;x<=xe;x=x+dx)

          {

                    B=log(x*x+y*y);

                    A=sqrt(x)*B;

                    V=A-(int)A;

                    F=A*log10(x+y)+B*cos(V+x);

                    printf("     %le       %le     \n",x,F);

           }

          printf("Romanova           \n");

          _getch();

  }

Рис. 1

                                                      Рис. 2          

           Вычисление суммы бесконечного ряда

Похожие материалы

Информация о работе