Автор работы: Пользователь скрыл имя, 15 Марта 2013 в 08:33, лабораторная работа
ЦЕЛЬ РАБОТЫ - овладение практическими навыками разработки, программирования вычислительного процесса разветвляющейся и циклической структур, получение дальнейших навыков по отладке и тестированию программ.
ЛАБОРАТОРНАЯ РАБОТА 2
ПРОГРАММИРОВАНИЕ АЛГОРИТМОВ РАЗВЕТВЛЯЮЩЕЙСЯ И ЦИКЛИЧЕСКОЙ СТРУКТУРЫ
ЦЕЛЬ РАБОТЫ - овладение практическими навыками разработки, программирования вычислительного процесса разветвляющейся и циклической структур, получение дальнейших навыков по отладке и тестированию программ.
Задания для самостоятельной подготовки
1.
Изучить возможности языка
- условной и безусловной передачи управления;
- вычислительного процесса разветвляющейся структуры.
2.
Разработать алгоритм решения
задач в соответствии с
3. Составить программу решения задачи.
4. Подготовить тесты ( число тестов равно числу ветвей вычислительного процесса) для проверки правильности функционирования программы.
Задание к работе
Вычислить значение функции, заданной в табл.2 ( в соответствии с вариантом задания). Осуществить вывод значений вводимых исходных данных и результат вычисления значения функции, сопровождая вывод наименованиями переменных.
Вариант |
Функция |
Условие |
Исходные данные |
Диапазон и шаг изменения аргумента |
1 |
||||
2 |
||||
3 |
||||
4 |
||||
5 |
||||
6 |
||||
7 |
||||
8 |
||||
9 |
||||
10 |
||||
11 |
||||
12 |
||||
13 |
||||
14 |
||||
15 |
2. Выполнить программу на ЭВМ и протестировать все ветви алгоритма.
Задание Б.
1.
Модифицировать программу
ТАБЛИЦА ФУНКЦИИ 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.
Для
цикла с известным числом
Схеме алгоритма
решения с использованием
Программа, реализованная в соответствии со схемой алгоритма
(рис.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.
Составить последовательность
операторов для вычисления
5. Зачем необходимо при отладке программы тестировать все ветви алгоритма?
6.
Указать последовательность
7. Указать назначение и правила организации цикла.
8. Перечислить возможные способы организации цикла с заданным числом повторений в изучаемом языке программирования.
Информация о работе Программирование алгоритмов разветвляющейся и циклической структуры