- •Информатика
- •Издательство тгту Cодержание
- •Программирование алгоритмов линейной структуры.
- •Программирование алгоритмов разветвляющейся и циклической структуры.
- •Составление простейших вычислительных программ циклической структуры.
- •Обработка массивов.
- •Составление программ с использованием процедур и функций.
- •Файлы с последовательным и прямым доступом.
Программирование алгоритмов разветвляющейся и циклической структуры.
Цель работы: Овладение практическими навыками разработки, программирования алгоритмов разветвляющейся и циклической структур, получение дальнейших навыков по отладке и тестированию программы.
Задание:
1. Составить блок-схему алгоритма разветвленной структуры.
2. Вычислить значение функции, заданной в таблице (в соответствии с вариантом задания) при изменении аргумента в указанном диапазоне и с заданным шагом.
3. Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы.
Методические указания
На практике редко удаётся представить решение задачи в виде алгоритма линейной структуры. Часто в зависимости от каких-либо промежуточных результатов вычисление осуществляется либо по одним, либо по другим формулам, т.е. в зависимости от выполнения некоторого логического условия вычислительный процесс осуществляется по одной или другой ветви. Алгоритм такого вычислительного процесса называется алгоритмом разветвляющейся структуры.
В общем случае число ветвей в алгоритме разветвляющейся структуры необязательно равно двум, а может быть и больше. Для организации разветвления в программах используется операторы условного, безусловного перехода и выбора. Операторы условного и безусловного перехода могут также использоваться для организации циклических вычислительных процессов.
Логические функции
Таблица 3
|
Паскаль |
НЕ |
Not |
И |
And |
ИЛИ |
or |
Логические отношения
|
Паскаль |
Равно |
= |
Не равно |
<> |
Больше |
> |
Меньше |
< |
Больше или равно |
>= |
Меньше или равно |
<= |
Таблица 4
Вариант задания |
Функция |
Исходные данные |
Диапазон и шаг изменения аргумента |
1 |
a=-0.5 b=2 |
t[0;3] ∆t=0.15 | |
2 |
a=1.5 |
x[0.8;2] ∆x=0.1 | |
3 |
a=2.8 b=-0.3 c=4
|
x[1;2] ∆x=0.05 | |
4 |
a=1.65 |
x[0.7;2] ∆x=0.1 | |
5 |
a=2.3 |
x[0.2;2.8] ∆x=0.2 | |
6 |
a=2.5
|
x[1;5] ∆x=0.5 | |
7 |
b=1.5
|
x[0.1;1] ∆x=0.1 | |
8 |
|
x[2;5] ∆x=0.25 | |
9 |
a=20.3
|
x[0.5;2] ∆x=0.1 | |
10 |
t=2.2
|
x[0.2;2] ∆x=0.2 | |
11 |
a=2.6 b=-0.39
|
x[0;7] ∆x=0.5 | |
12 |
a=0.9
|
x[0.8;2] ∆x=0.1 | |
13 |
a=2.1 b=1.8 c=-20.5
|
i[1;12] ∆i=1 | |
14 |
a=0.3 n=10
|
i[1;10] ∆x=1 | |
15 |
a=2.5 b=0.4
|
t[-1;1] ∆t=0.2 |
Пример программы разветвленной структуры.
uses CRT; { Подключается библиотека CRT }
var x, y: Real;
s: Char; { Переменная символьного типа }
f: Boolean; { Переменная логического типа }
begin
ClrScr; { Производится очистка экрана }
WriteLn('Cоставил Поляков Д.Г., КТФ, гр. Р-11 ');
WriteLn; { Вывод пустой строки }
repeat { Цикл с постусловием }
f := False; { Флаговая переменная }
WriteLn('Введите аргумент вычисляемого выражения');
ReadLn(x); { Считывается вводимое число }
if (x>10) then y:=1
else if (x>=0) and (x<=10) then y:=2*x–1
else if (x<0) then y:=Abs(1–3*x);
WriteLn('Выводится результат вычисляемого выражения');
WriteLn(y:4:5); { Форматный вывод }
WriteLn('Вычислять ли функцию для другого аргумента? Y/N');
s:=ReadKey; { Считывается символ с клавиатуры }
WriteLn;
if s in ['y','Y'] then f := True;
until f = False;
end.
Содержание отчёта по лабораторной работе
1 Цель лабораторной работы.
2. Задание.
3. Методические указания.
4. Блок-схема алгоритма программы.
5. Текст программы.
6. Результаты расчетов.
Контрольные вопросы
1 Как выполняется оператор if?
2 Какое выражение называется логическим?
3 Как обозначаются логические операции в Паскале?
4 Каких основных правил следует придерживаться при программировании разветвляющихся алгоритмов?
5 Нарисуйте блок-схему оператора if.
6 Что такое алгоритм разветвлённой структуры?
7 Перечислите логические функции на языке Паскаль.
8 Перечислите логические отношения на языке Паскаль.
9 Как выполняется оператор for?
10 Нарисуйте блок-схему оператора for.
Литература [2, 3].
Лабораторная работа № 3