Программирование алгоритмов разветвляющейся и циклической структуры

Автор работы: Пользователь скрыл имя, 15 Марта 2013 в 08:33, лабораторная работа

Краткое описание

ЦЕЛЬ РАБОТЫ - овладение практическими навыками разработки, программирования вычислительного процесса разветвляющейся и циклической структур, получение дальнейших навыков по отладке и тестированию программ.

Прикрепленные файлы: 1 файл

lab_pas2.doc

— 182.50 Кб (Скачать документ)

 

ЛАБОРАТОРНАЯ  РАБОТА 2

ПРОГРАММИРОВАНИЕ  АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ И ЦИКЛИЧЕСКОЙ  СТРУКТУРЫ

 

     ЦЕЛЬ  РАБОТЫ   -   овладение   практическими  навыками  разработки, программирования   вычислительного    процесса    разветвляющейся    и циклической  структур,  получение дальнейших  навыков по  отладке и тестированию программ.

 

Задания для  самостоятельной подготовки

 

     1. Изучить возможности языка программирования  для реализации:

     - условной и безусловной   передачи  управления;

     - вычислительного процесса разветвляющейся структуры.

     2. Разработать алгоритм решения  задач в соответствии с заданием.

     3. Составить программу решения  задачи.

     4. Подготовить  тесты  (  число   тестов   равно   числу   ветвей вычислительного процесса)  для  проверки правильности функционирования программы.

 

Задание к  работе

 

     Вычислить  значение функции,  заданной в  табл.2 ( в соответствии с вариантом задания).  Осуществить  вывод  значений  вводимых   исходных данных и  результат  вычисления  значения  функции,  сопровождая вывод наименованиями переменных.

                                                     Таблица 2

Вариант

Функция

Условие

Исходные данные

Диапазон и шаг изменения  аргумента

1

2

3

4

5

6

7

8

 

9

10

11

12

13

14

15


 

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

 

     Задание  Б.

     1. Модифицировать программу таким  образом, чтобы вычислялось многократно значение функции при изменении аргумента в указанном диапазоне  и с заданным  шагом  (табл.  2).  Организовать  вывод значения аргумента и вычисленного значения функции в виде таблицы.

 

ТАБЛИЦА  ФУНКЦИИ  Y(X)

 

X              Y

*******        *******

*******        *******

 2. Выполнить на ЭВМ модифицированную программу.

 

 

Пример выполнения работы

 

Задание А. Вычислить  на ЭВМ значение функции

     для a = 1,3; b = 1,29; t = 0,38.

    Схема алгоритма   решения   представлена  на  рис.2а.  Блоки  3,5,7 осуществляют проверку условия - at меньше,  равно или больше единицы – и в зависимости  от результата сравнения направляют вычисления по одной из ветвей - 4,  6 или 8.  Блок 9  выводит  на  печать  полученное  значение функции S совместно с введенными исходными данными

     Представленная  схема  алгоритма  не  является  единственной.  Число проверок можно сократить до двух (рис.2б).

     Программа,  реализующая схему алгоритма,  представленную на рис.2б, имеет вид:

 

     PROGRAM LAB2A(INPUT,OUTPUT);

     {Лабораторная работа 2А}

     {Студент группы  Г-11 Иванов А.В.}

     VAR

       A,B,T,S :REAL;

     BEGIN

       WRITELN('Введите A,B,T');

       READ(A,B,T);

       S:= A*T+B;

 

       IF A*T=1 THEN S:=COS(A*T);

       IF A*T>1 THEN S:=EXP(-A*T)*COS(A*T);

       WRITELN('A= ',A:8:3,'  B= ',B:8:3,'  T= ',T:8:3);

       WRITELN('Результат = ',S:8:3)

     END.

 

     Программа  на языке

     В качестве  тестовых наборов исходных данных  примем следующие тесты:

     1) a=1, b=1, t=0,5, s = 1* 0,5 + 1= 1,5;

     2) a=1, b=1, t=1, s = cos(1)= 0,5403;

     3) a=2, b=1, t=1, s = e 5-2 0 cos(2)= - 0,0563.

 

   

 
 ЗАДАНИЕ Б.

 

     Вычислить  на ЭВМ значение функции,  указанной  в  задании  А при изменении  аргумента  t  в диапазоне t 7е 0[0,1;2,1] с шагом 0,1.  Вывод значений t и s выполнить в виде таблицы.

     Схема  алгоритма решения приведена  на рис.  3а.  Блоки 5,6 выполняют собственно расчет значений функции с выдачей их на печать.  Это  рабочая часть цикла.   Блоки   4,7,8  являются  вспомогательными  и  служат  для организации циклического повторения рабочей части цикла.  Блок 4  задает начальное значение  параметра  цикла  t,  т.е.  осуществляет  подготовку цикла. Блок 7 вычисляет текущее  значение  параметра  цикла,  увеличивая

значение аргумента (параметра цикла) на величину заданного шага.  Блок 8 проверяет условие окончания цикла.  Для печати заголовка таблицы  служит блок 3.

     Для  цикла с известным числом повторений  программа получается  более компактной и  наглядной,  если для его организации использовать оператор цикла, который выполняет функции блоков 4,7,8.

     Схеме алгоритма   решения с использованием блока  модификации (цикла) представлена на рис.3б.


 

    Программа,  реализованная   в   соответствии   со  схемой  алгоритма

(рис.3б), имеет вид:

 

     PROGRAM LAB2B;

     {Лабораторная  работа 2Б}

     {Студент  группы Г-11 Иванов А.В.}

     VAR

       A,B,T,S,T0,Tk,dT :REAL;

     BEGIN

       WRITELN('Введите A,B,T0,Tk,dT');

       READ(A,B,T0,Tk,dT);

       WRITELN('ТАБЛИЦА ФУНКЦИИ  S(T)');

       WRITELN('      T              S(T)   ');

       t:=T0;

       REPEAT

         S:= A*T+B;

         IF A*T=1 THEN S:=COS(A*T);

         IF A*T>1 THEN S:=EXP(-A*T)*COS(A*T);

         WRITELN(T:10:3,'   ',S:10:3);

         T:=T+dT

       UNTIL T>Tk

     END.

 

                         Контрольные вопросы

 

     1. Что такое вычислительный процесс  разветвляющейся структуры?  Как организовать ветвление вычислений: а) на две ветви; б) на три ветви?

     2. Перечислить  действия,  реализуемые   при  выполнении   условного оператора.

     3. Какие действия выполняются оператором  перехода?

     4. Составить  последовательность  операторов для вычисления величины z=0, если x<-2; z=1, если -2  7, 0 x < 2; z=-1, если x>2.

     5. Зачем  необходимо  при  отладке  программы тестировать все ветви алгоритма?

     6. Указать последовательность действий, выполняемых при организации циклических участков программы с заданным числом повторений.

     7. Указать назначение и правила  организации цикла.

     8. Перечислить  возможные  способы  организации  цикла  с  заданным числом повторений в изучаемом языке программирования.


Информация о работе Программирование алгоритмов разветвляющейся и циклической структуры