Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal.doc
Скачиваний:
16
Добавлен:
06.09.2019
Размер:
3.69 Mб
Скачать

Вложенные циклы

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

Пример1

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

program Happy;

var i,j,k,l,m,n:integer; {счетчики}

y:longint; {число счастливых билетов}

begin

for i:=0 to 9 do

for j:=0 to 9 do

for k:=0 to 9 do

for l:=0 to 9 do

for m:=0 to 9 do

for n:=0 to 9 do

if i+j+k=l+m+n then y:=y+1;

writeln(y);

end.

ЗАДАНИЕ:

  1. Путь при равноускоренном движении находится по формуле . Начальный путь был равен нулю, начальная скорость = 5 м/с. Найти пройденный путь для всех значений ускорения от 5 до 10 м/с2 , каждое - в течение 10 секунд. На экране ответы должны выглядеть так:

При ускорении 5 за 1 сек было пройдено 7,5 метров

При ускорении 5 за 2 сек было пройдено 20 метров и т.д…

  1. Три очевидца были свидетелями дорожно-транспортного происшествия. Первый заметил, что номер машины был трехзначным, второй – что сумма цифр номера = 15, третий, что номер машины делится на 2, 7 и 11. Определить номер машины.

  2. На примере 1 подсчитать количество тех счастливых билетов, сумма цифр которых = 13. Использовать только три вложенных цикла (i,j,k)! Подсказка: количество возможных комбинаций из трех первых цифр равно количеству комбинаций трех последних! ( и для каждой комбинации первой половины соответствуют все комбинации второй половины).

  3. Из чисел от 10 до 99 вывести только те числа, сумма цифр которых не больше 18.

  4. Сколько существует четырехзначных чисел, кратных 45, две средние цифры которых 9 и 7?

  5. Найдите три натуральных числа x, y, z, удовлетворяющих условию 15x + 20y + 30z = 270.

  6. Найдите все трехзначные числа, которые можно представить разностью между квадратом числа, образованного первыми двумя цифрами и квадратом третьей цифры. (например, 572-82=578)

  7. Напечатать все четырехзначные натуральные числа, в десятичной записи которых нет двух одинаковых чисел.

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

Оператор цикла с предусловием. (Работает, пока истинно условие)

Особенность такого цикла – перед каждым очередным выполнением внутреннего оператора производится проверка значения выражения логического типа (условия), которое служит критерием повторения: если это выражение имеет значения true, то выполняется очередная итерация; в противном случае (значение выражения есть false) выполнение оператора цикла заканчивается. Если выражение с самого начала имеет значение false, то цикл не выполняется ни разу.

WHILE условие do

Оператор;

Примерами оператора цикла с предусловием могут служить:

while i <> 0 do j :=j+1;

или

while X <=N do

begin

Fact := Fact*X;

X := X+1;

end;

Пример1. Сколько слагаемых должно быть в сумме

чтобы эта сумма оказалась больше 5?

PROGRAM poisk;

var i:integer; {количество слагаемых}

s:real;

BEGIN

s:=0; i:=1;

while S<=5 do

BEGIN

s:=s+1/i;

i:=i+1;

END;

writeln (s);

END.

Ответ: 84.

ЗАДАНИЕ:

  1. Вычислить Y = X2 при х=1,3,5,7,9

  2. Написать программу табулирования функции y=x3-2,5 на отрезке от –3 до 3 с шагом 0,5.

  3. Дан произвольный текст. Признаком конца текста считать нажатие клавиши Enter. Подсчитать общее количество введенных знаков. Условием окончания цикла является проверка конца строки. Пока не обнаружен конец строки (NOT EOLN), цикл продолжает выполняться.

  4. На срочный вклад в сберегательный банк было внесено А рублей. В конце каждого года вклад увеличивается на Р процентов от вклада за предыдущий год. Через сколько лет количество процентов за год превысит сумму первоначального вклада?

  5. На срочный вклад в сберегательный банк было внесено А рублей. В конце каждого года вклад увеличивается на Р процентов от вклада за предыдущий год. Через сколько лет вклад увеличится в N раз от первоначального вклада?

  6. Составить программу вычисления количества первых четных чисел, в сумме дающих 56.

  7. Составить программу вычисления количества первых чисел, в сумме дающих 100.

  8. Найти все двузначные числа, которые делятся на N.