Цель: Научиться использовать все виды операторов цикла при решении задач на языке 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. Вычислить .
Контрольные вопросы:
В каком случае алгоритм называется циклическим?
2) Что называется циклом?
3) Для чего используются операторы цикла в языке Турбо-Паскаль?
4) Что называется итерацией?
5) В чем заключается отличие цикла с предусловием от цикла с постусловием?
6) Что называется параметром цикла? В каком случае параметр цикла называется счетчиком?