Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
контрольные работы информатика.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
531.97 Кб
Скачать

Программа:

program Years;

uses crt;

var year: word; i: 0..11; k: 0..4;

begin

clrscr;

write(‘введи год’);

readln(year);

i:=(year-3) mod 12;

k:=(3010-year) mod 60 div 12;

write(year;’ – это год ‘);

case k of

0: write(‘зелен’);

1: write(‘крас’);

2: write(‘жёлт’);

3: write(‘бел’);

4: write(‘чёр’)

end;

case I of

0,1,2,6,7,8,9,10,11: write(ой’);

3,4,5: write(‘ого’)

end;

case I of

1: write(‘ крысы;

2: write(‘ коровы);

3: write(‘ тигра’);

4: write(‘ зайца’);

5: write(‘ дракона’);

6: write(‘ змеи’);

7: write(' лошади’);

8: write(‘ овцы’);

9: write(‘ обезьяны’);

10: write(‘ курицы’);

11: write(‘ собаки’);

0: write(‘ свиньи’)

end;

readkey

end.

Циклы

Алгоритмы решения многих задач являются циклическими, то есть для получения результата определённая последовательность действий должна быть выполнена несколько раз. Последовательность повторяющихся действий называют циклом. Цикл не может выполняться вечно, в этом случае нарушается свойство алгоритма решить задачу за конечное число шагов. Если необходимое число повторений заранее неизвестно, то цикл заканчивается по какому-либо условию и называется циклом с условием. Проверка этого условия может производиться в начале каждого повторяющегося шага, в этом случае цикл называется цикл пока или циклом с предварительным условием.

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

while (условие) do оператор;

и выполняется следующим образом: оператор (тело цикла) повторяется до тех пор, пока выполняется условие (истинно логическое выражение). Оператор — простой или составной — представляет собой тело цикла. Однако в теле необходимо предусмотреть модификацию условия для того, чтобы цикл мог на каком-либо шаге закончиться. Проверка условия продолжения цикла осуществляется перед выполнением тела. Поэтому тело такого цикла может ни разу не выполниться. Условие — это условия продолжения цикла.

Пример 1.

Дано 100 вещественных чисел, вводимых с клавиатуры. Найти разность между максимальным и минимальным из них.

Программа:

program primer1 ;

uses crt;

var x, min, max : real; j : 1..100;

begin

clrscr;

writeln('Вводите числа!');

readln(x);

min:=x;

max:=x;

j:=1;

{организация цикла}

while j<=100 do

begin

readln(x);

If x<min then

min:=x;

If x>max then

max:=x;

j:=j+1;

end;

writeLn('Искомая разность равна ',max-min:9:3);

readkey

end.

Если проверка условия в цикле осуществляется после выполнения каждого повторяющегося шага, то цикл называется до или циклом с последующим условием.

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

repeat

Оператор

until условие;

Здесь условие — это условия окончания цикла. Тело цикла может состоять из большого числа операторов, среди которых необходимо предусмотреть модификацию условия для того, чтобы цикл мог на каком-либо шаге закончиться. Проверка условия окончания цикла осуществляется после выполнения тела. Поэтому тело такого цикла хотя бы один раз выполниться.

Пример 2.

Дано 100 вещественных чисел, вводимых с клавиатуры. Найти разность между максимальным и минимальным из них.

Программа:

program primer2;

uses crt;

var x,min,max : real;

j : 1..100;

begin

clrscr;

writeLn('Вводите числа!');

readLn(x); min:=x; max:=x;

j:=1;

repeat

readLn(x);

If x<min then min:=x;

If x>max then max:=x;

j:=j+1;

until j>=100

writeLn('Искомая разность равна ',max-min:9:3);

readkey

end.

Когда заранее известно количество повторений, то удобно использовать цикл пересчёт или цикл с параметром, относится к циклам с предусловием. Формат оператора следующий:

for переменная цикла:=начальное значение to конечное значение do оператор;

Переменная цикла — переменная одного из порядковых типов — пересчитывает количество повторений цикла, заданное с помощью начального и конечного значений. Количество повторений на единицу больше разности между конечным и начальным значениями. Оператор представляет собой тело цикла. Поскольку оператор for берёт на себя пересчёт количества повторений, то внутри тела цикла нельзя изменять переменную цикла. Её можно лишь использовать.

Пример 3.

Дано 100 вещественных чисел, вводимых с клавиатуры. Найти разность между максимальным и минимальным из них.

program primer;

uses crt;

var x, min, max : real;

j : 1.100

begin

clrscr;

writeln('Вводите числа!');

readln(x); min:=x; max:=x;

for j:=2 to 100 do

begin

readLn(x);

If x<min then

min:=x;

If x>max then

max:=x;

end;

writeLn('Искомая разность равна ',max-min:9:3);

readkey

end.