Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MED_INFORMATIKA.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
425.49 Кб
Скачать

Лабораторная работа №4. Программирование циклов с условием

Цель работы: Овладеть навыками программирования на языке Turbo Pascal алгоритмов циклической структуры.

Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же ветвей при различных значениях промежуточных данных. Различают циклы с параметрами и циклы с условием.

В Turbo Pascal используется три формы оператора цикла, с помощью которых можно осуществить многократно повторяющиеся вычисления:

  • оператор цикла с предусловием;

  • оператор цикла с постусловием;

  • о ператор цикла с параметром.

Оператор цикла с предусловием имеет вид:

While <условие> Do <оператор>

Он организует выполнение оператора неизвестное заранее число раз. Тело цикла выполняется до тех пор, пока условие истинно, выполнение прекращается, когда условие становится ложным. Так как истинность условия проверяется в начале каждой итерации, то тело цикла может не выполниться ни разу. Если после ключевого слова Do необходимо выполнить несколько операторов, то используется составной оператор BeginEnd.

Оператор цикла с предусловием имеет следующую блок-схему:

Рис. 4. Блок-схема оператора цикла с предусловием

Задание 1. Оператор цикла с предусловием

Составить программу на языке Turbo Pascal для вывода значений функции на отрезке [a, b] с шагом h, используя цикл с предусловием.

Блок-схема предложенной задачи будет иметь вид (рис.5):

  1. Запустите Turbo Pascal.

  2. В окне редактирования наберите текст программы:

Program Tab_1;

var a, b, h, x, y: real;

b egin

Writeln ('Введите значения a, b, h');

Read (a, b, h);

x:=a;

While ( x<=b) Do

Begin

y:=x*(1+exp(-x*x));

Writeln ('x=', x : 6 : 2, ' y=', y : 6 : 2);

x:=x+h

End;

end.

  1. Откомпилируйте программу.

  2. Запустите программу на выполнение. Сохраните программу на диске.

Рис. 5.

Задание 2. Программа "Угадай число".

Проиллюстрируем работу оператора While на примере программы, моделирующей игру "Угадай число". Первый игрок должен задумать число. Второй игрок должен угадать это число с нескольких попыток. При каждой попытке первый игрок должен сообщать второму о том, больше или меньше названное число задуманного.

Составим программу, в которой роль первого игрока будет выполнять компьютер.

Для "задумывания" числа будем использовать функцию:

Random (i),

которая возвращает целое случайное число, лежащее в интервале (0, i), здесь очевидно параметр i также должен быть целого типа.

Обозначим через z задуманное число (это число можно получить с помощью оператора присваивания z:=random(1000)), а через р – число, вводимое пользователем с клавиатуры. Тогда на каждом шаге угадывания числа р и z должны сравниваться между собой до тех пор, пока они не совпадут, т.е. не станет справедливым равенство р = z.

Таким образом, вся программа может быть записана так:

Program Ugaday;

var p, z: integer;

begin

z:=random(1000);

writeln ('Угадай число!');

read(p);

while p<>z do

begin

if p<z then writeln(' меньше')

else writeln(' больше');

read(p)

end;

writeln(' Угадал! ')

end.

  1. Запустите Turbo Pascal.

  2. В окне редактирования наберите текст программы.

  3. Протестируйте программу несколько раз.

  4. Сохраните программу под именем Ugaday.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]