Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
+лабораторные работы П2.docx
Скачиваний:
19
Добавлен:
01.07.2025
Размер:
1.09 Mб
Скачать

Лабораторная работа №6,7 Тема: Решение задач с применением операторов цикла

Цель: Научиться использовать все виды операторов цикла при решении задач на языке Pascal и представлять алгоритм решения задачи в виде блок-схемы.

Краткие сведения:

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

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

Формат записи: While  L do  OP; где:  While       - пока не; do    – выполнить; L     –  выражение логического типа; OP – тело цикла; оператор (простой или составной).

 Работа оператора: Вычисляется значение логического выражения, если вычисленное значение истинно, то выполняется оператор OP после чего повторяется проверка условия и выполнение операторов тела цикла. В противном случае осуществляется выход из цикла.

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

 Пример 9.3.  Составить программу вычисления функции  y для заданного значения x.

где: C=2,7;  n=2;  a=0.5;   0<t<1;  Dt=0,1.

Program Ex_2;   Uses crt; Var y, C,  a, t     :real; n               :integer; Begin clrscr; Writeln('Введите C, a,  n');    Read(C, a,  n); Writeln('Результат:'); Writeln('t’:5,’y’:15); t:=0; While t<1 do Begin y:=C*exp(a*t)*cos(n*t);    Writeln(t:4:1,’ ‘:5, y:10); t:=t+0.1; End; End.

 Оператор цикла с постусловием в языке Паскаль

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

Формат записи:         Repeat              OP        Until   L; где:  Repeat   - повторять; Until  – пока не; L     –  выражение логического типа; OP – тело цикла; оператор (простой или составной).

 Работа оператора: Выполняется оператор OP после чего вычисляется значение логического выражения L, если вычисленное значение False, то  снова выполняется оператор OP  в противном случае осуществляется выход из цикла.

Вычисление значения логического выражения следует после  выполнения операторов тела цикла, поэтому этот оператор цикла называется циклом с постусловием.

В отличие от цикла с предусловием, в цикле с постусловием тело цикла выполняется о крайней мере один раз не зависимо от условия. В операторе цикла с постусловием  ключевые слова Repeat и  Until играют роль операторных скобок. Пример 9.4. Составить программу вычисления функции  y для заданного значения x.

где: C=2,7;  n=2;  a=0.5;   0<t<1;  Dt=0,1.

Program Ex_2;   Uses crt; Var y, C,  a, t       :real; n                 :integer; Begin clrscr; Writeln('Введите C, a,  n'); Read(C, a,  n); Writeln('Результат:');  Writeln('t’:5,’y’:15); t:=0; Repeat y:=C*exp(a*t)*cos(n*t);    Writeln(t:4:1,’ ‘:5, y:10); t:=t+0.1; Untile t>=1; End.

 Оператор цикла с параметром в языке Паскаль

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

Формат записи:     1.   For P:=Pn to Pk do OP;     2.   For P:=Pk downto Pn do OP; где:  For   - для; to  – до; downto – уменьшая до do     –  выполнить; OP – тело цикла; оператор (простой или составной); P  - параметр цикла, переменная порядкового типа;  Pn, Pk – начальное и конечное значение параметра.

 Работа оператора: Вычисляется начальное значение параметра цикла Pn и присваивается параметру P.  Проверяется условие P>Pk, и если оно True выполняются операторы тела цикла  OP . После чего наращивается  значение P на единицу и опять проверяется условие P>Pk . Если условие False  осуществляется выход из цикла. В операторе с downto шаг изменения параметра цикла равен –1.

Примеры записи:

For i:=1 to n do n:=sqr(i)+1; For s:=’A’ to ‘Z’ do R:=R+ord(s)/127; For L:=False to True do H:= (False or L) And Not (L);

Пример 9.5.  Составить программу вычисления функции  y для заданного значения n.

где: C=2,7; a=0.5; t=0,1; 0<n<10;  Dn=1.

Program Ex_3;   Uses crt; Var y, C,  a, t  :real; n    :integer; Begin clrscr; Writeln('Введите C, a,  t'); Read(C, a,  n); Writeln('Результат:'); Writeln(‘n’:5,’y’:15); For n:=1 to 10 do  Begin y:=C*exp(a*t)*cos(n*t);    Writeln(n:4,’ ‘:5, y:10); end; End.

Задания:

! Для задачи 1 использовать оператор цикла с постусловием, для задачи 2 – оператор цикла с предусловием, для задачи 3 – оператор цикла с известным числом повторений

Вариант №1.

1.Дано целое число А. Определить количество цифр в числе, которые больше 6.

2.Сумма в А руб. лежит на расчетном счету. На сумму начисляется в% каждый год прибыли. Прибыль со счета не снимается. Через сколько лет данная сумма удвоится.

3. Дочери 8 лет, а матери 38 лет. Через сколько лет мать будет в 3 раза старше дочери?

Вариант №2.

1. Дано целое число А. Определить количество цифр в числе, которые меньше 5.

2.Спортсмен марафонец, готовясь к соревнованиям в первый день тренировки пробежал А км. Каждый следующий день он наращивал норму тренировки на В% от предыдущего дня. В какой день тренировок норма его пробега превысит С км?

3.В клетке сидят фазаны и кролики. Известно, что всего у них 35 голов и 94 ноги. Определить количество фазанов и кроликов.

Вариант №3.

1. Дано целое число А. Определить сумму цифр в числе, которые меньше 5.

2.Дана функция . Составить таблицу значений функции на отрезке [A, B] с шагом H.

3.Для учащихся закуплено 100 билетов в кино на общую сумму 3400 рублей. Билеты стоят 30 и 40 рублей. Сколько билетов было по 30 и по 40 рублей?

Вариант №4.

1. Дано целое число А. Определить сумму цифр в числе, которые больше 5.

2. Спортсмен марафонец, готовясь к соревнованиям в первый день тренировки пробежал А км. Каждый следующий день он наращивал норму тренировки на В% от предыдущего дня. В какой день тренировок общий пробег за все дни превысит С км?

3.У Андрея и Бори было 11 орехов. У Андрея и Вовы – 12 орехов. У Вовы и Бори – 13 орехов. Сколько всего было орехов у мальчиков?

Вариант №5.

1. Дано целое число А. Определить количество четных цифр в числе.

2. Сумма в А руб. лежит на расчетном счету. На сумму начисляется в% каждый год прибыли. Прибыль со счета не снимается. Через сколько лет данная сумма превысит С руб.?

3.Найти сумму всех нечетных двухзначных чисел.

Вариант №6.

1.Дано целое число А. Определить количество нечетных цифр в числе.

2.Количество граждан некоторого города увеличивается ежегодно на В%. Через сколько лет население города возрастет в 2 раза, если вначале было А человек.

3.Определить, можно ли упаковать 60 кг конфет в коробки по 3 кг и 5 кг. Если можно, то каким образом (привести все варианты)?

Вариант №7.

1. Дано целое число А. Определить сумму четных цифр в числе.

2.Мячик упал с высоты Р. Ударился о землю и поднялся на 2/3 предыдущей высоты. Через сколько ударов мячик поднимется на высоту Р?

3.Собака погналась за лисицей, которая была на расстоянии 30 м от нее. Прыжок собаки равен 2 м, а прыжок лисицы – 1 м. В то время как лисица делает 3 прыжка, собака делает 2 прыжка. Какое расстояние должна пробежать собака, чтобы догнать лисицу?

Вариант №8.

1. Дано целое число А. Определить сумму нечетных цифр в числе.

2.Гриб за сутки увеличивает свою массу на 40%. Через сколько суток масса гриба увеличится в 2,5 раза, если первоначально масса гриба составляла А?

3.Жители островов Чунга и Чанга один раз в год обмениваются своими драгоценностями. Жители острова Чанга везут на остров Чунга половину своих драгоценностей, а жители острова Чунга везут на остров Чанга 1/3 своих драгоценностей. В данный момент на острове Чанга х драгоценностей, на острове Чунга у драгоценностей. Сколько драгоценностей будет на каждом из островов через к лет?

Вариант №9.

1. Дано целое число А. Определить, есть ли в данном числе цифры, которые меньше 5.

2.Спортсмен, готовясь к соревнованиям по бегу на длинные дистанции, в первый день тренировок пробежал а км. Каждый следующий день он увеличивал норму пробега на в%. Какая норма пробега будет у спортсмена в к день тренировок?

3.Два двухзначных числа, записанных одно за другим, образуют четырехзначное число, которое делится на их произведение. Найти эти числа.

Вариант №10.

1. Дано целое число А. Определить, есть ли в данном числе цифры, которые больше 5.

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

3.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые при делении на данное число K, дают в остатке число 4.

Вариант №11.

1. Дано целое число А. Определить, есть ли в данном числе цифра, которая равна цифре К.

2.Дан натуральный отрезок чисел [A,B]. Найти те числа этого отрезка, которые являются делителями последнего числа В.

Вариант №12.

1. Программа запрашивает количество чисел, затем вводит целые числа в соответствии с указанным количеством. Программа находит сумму отрицательных и сумму нечетных чисел. Программа выводит ту сумму, которая по модулю меньше.

2.Дано натуральное число N. Найти 1!+2!+3!+…+N!

3.Сколько имеется четырехзначных чисел, которые делятся на 45, а две средние цифры у них 97.

Вариант №13.

1.Начальный вклад в банк составляет а рублей. Через сколько лет он станет больше b рублей? Каждый год вклад увеличивается на 3%.

2. Ежегодный прирост рыбы в пруду составляет 15%. Запасы рыбы оценены в А тонн. Ежегодный план отлова В тонн. Подсчитать, сколько лет можно выдерживать заданный план?

3. Программа запрашивает количество чисел, затем вводит целые числа в соответствии с указанным количеством и находит количество чисел, которые по модулю >5, количество чисел, кратных 4 и 5 одновременно, и сумму чисел, которые делятся на 6 с остатком

Вариант №14.

1. Каждая бактерия делится на две в течение одной минуты. В начальный момент имеется A бактерий. Сколько времени потребуется, чтобы количество бактерий превзошло X?

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

3. Найти все натуральные числа от 1 до N, представимые в виде суммы кубов двух натуральных чисел.

Вариант №15.

    1. Найти сумму чисел от 10 до n, кратных 10, где (10<n)

    2. Вычислить значение функции для всех x от 0 до π с шагом π/6. Вывести все полученные значения.

    3. Дано натуральное число n. Вычислить .