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

7. Организация циклов с помощью оператора repeat

Этот оператор организует так называемый цикл «ДО», или цикл с посту­словием, так как проверка логического < Условия > завершения цикла осу­ществляется после каждого выполнения тела цикла (количество повторений цикла неизвестно). Вид цикла:

REPEAT {Повторять}

<тело цикла >

UNTIL {До тех пор}

<условие >;

Блок-схема цикла repeat:

Оператор repeat не требует использования операторных скобок Begin … End, когда в его теле необходимо записать более одного оператора. Кроме то­го, оператор repeat является не столь универсальным, как оператор while, по­скольку его логическое < Условие > располагается в конце тела цикла и опе­раторы его тела будут всегда выполняться как минимум один раз. Выражение, используемое в качестве логического < Условия > окончания цикла, должно давать результат булевского типа. Цикл repeat продолжается, пока логическое <условие> ложно (false), и заканчивается, когда логическое <условие> становиться истинным (true).

Задача 1

При вводе осуществить проверку длины вводимой последовательности.

Program Lab7_1;

Var

N: integer;

BEGIN {1}

Repeat

WriteLn ('Введите длину последовательности N =');

ReadLn (N);

Until N > 0;

WriteLn ('Длина последовательности N =', N);

END. {1}

Пояснения к задаче 1

Длина последовательности обозначена буквой N и должна быть положительной.

В логическое < Условие > ставим N > 0, и до тех пор, пока будет вво­диться отрицательное или нулевое значение последовательности, цикл repeat будет работать и требовать: «Введите длину последовательности N = ». Цикл выполняется до тех пор, пока пользователь будет вводить отрицательное чис­ло или ноль, и прервется при вводе положительного числа.

Нижняя граница оператора определена словом until, и нет надобности в операторных скобках Begin … End. Но если поставить операторные скобки, то это не будет ошибкой.

Задача 2

Вычислить значение функции при X = 8; X = 6; X = 4; X = 2.

PROGRAM Lab7_2;

Uses Crt;

Var X,Y: real;

Begin

ClrScr;

X : = 8;

WriteLn('Табулирование функции');

WriteLn(‘X Y');

WriteLn(' ‘);

Repeat

Y : = X * X;

WriteLn(X : 4 : 2, Y : 6 : 2);

X : = X - 2;

Until X = 0;

ReadLn;

End.

Пояснения к задаче 2

Мы имеем дело с задачей, которая называется «Табулирование функ­ции». У нас аргумент X меняет свое значение от 8 до 2 с шагом - 2. Перемен­ные X, Y объявляем как REAL. В переменную Y заносим вычисленное зна­чение функции. Для организации цикла используем оператор цикла с постусловием repeat. До входа в цикл присваиваем начальное значение ар­гументу X, равное 8. Затем печатаем шапку таблицы (три оператора WriteLn перед оператором Repeat). Шапка таблицы используется для оформления таблицы.

В теле цикла делаем вычисления по формуле, печать и изменение значе­ний аргумента на шаг, который равен -2.

Окончание цикла осуществляется проверкой в операторе Until. Как только X примет значение, равное нулю, цикл прервется и далее последует оператор ReadLn.

Практическое задание – решение задач с использованием операторов цикла

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

Методические указания

  1. Составить блок-схему программы, после чего приступить к написа­нию программы в ИСП.

  2. Желательно сделать форматированный вывод результатов вычислений.

Вариант 1

  1. Написать программу, которая выводит таблицу квадратов первых де­сяти целых положительных чисел. Ниже представлен рекомендуемый вид эк­рана во время работы программы.

    Таблица квадратов

    Число

    Квадрат

    2

    4

    3

    9

    4

    16

    5

    25

    6

    36

    7

    49

    8

    64

    9

    81

    10

    1000

  2. В классе N учеников. Определить средний рост учеников класса, вво­дя в ЭВМ по очереди рост каждого ученика.

  3. Написать программу, которая «задумывает» число в диапазоне от 1 до 10 и предлагает пользователю угадать число за 5 попыток. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).

Игра «Угадай число».

Компьютер «задумал» число от 1 до 10.

Угадайте его за 5 попыток.

Введите число и нажмите < Enter >

5

Нет

3.

Вы угадали! Поздравляю!

Вариант 2

  1. Написать программу, которая выводит таблицу квадратов первых пя­ти целых положительных нечетных чисел. Ниже представлен рекомендуемый вид экрана во время работы программы.

Таблица квадратов нечетных чисел

Таблица квадратов неченых чисел

Число

Квадрат

1

1

3

9

5

25

7

49

9

81

  1. Определить суммарный объем в литрах 12 вложенных друг в друга шаров со стенками толщиной 5 мм. Внутренний диаметр внутреннего шара равен 10 см. Считать, что шары вкладываются друг в друга без зазоров.

Указания к решению задачи 2

Необходимо в цикле по номеру шара вычислять объем каждого шара ( и прибавлять его к суммарному объему. Диаметр каждого следую­щего вложенного шара отличается от диаметра вложенного в него шара на 10 мм.

  1. Написать программу, которая определяет максимальное число из введенной с клавиатуры последовательности положительных чисел (длина последовательности неограниченна). Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выде­лены полужирным шрифтом).

Определение максимального числа последовательности положительных чисел.

Вводите после стрелки числа. Для завершения ввода введите ноль.

56

75

43

0

Максимальное число: 75

Вариант 3

  1. Написать программу, которая вычисляет сумму первых п целых по­ложительных чисел. Количество суммируемых чисел должно вводиться во время работы программы. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены по­лужирным шрифтом).

Вычисление суммы положительных чисел.

Введите количество суммируемых чисел: 20

Сумма первых 20 положительных чисел равна 210

  1. В 1985 году урожай ячменя составлял 20 ц с га. В среднем каждые 2 го­да за счет применения передовых агротехнических приемов урожай увеличива­ется на 5%. Определить, через сколько лет урожайность достигнет 25 ц с га.

  2. Заданы две стороны треугольника А, В. Вводя по очереди еще по два числа и интерпретируя их как длины сторон треугольника, напечатать те из введенных сторон, которые при соответствующем сравнении могут образо­вать треугольник, подобный первому (со сторонами А, В).

Вариант 4

  1. Написать программу, которая выводит на экран таблицу умножения, например на 7. Рекомендуемый вид экрана во время работы программы приве­ден ниже. Данные, введенные пользователем, выделены полужирным шрифтом.

Введите n = 7

Таблица умножения на 7

7х2=14

7х3=21

7х4=28

7х5=35

7х6=42

7х7=49

7х8=56

7х9=63

  1. Дана последовательность чисел 1, 2, 4, 8, 16... Найти первый член последовательности, превосходящий заданное число А.

  2. В доме шесть комнат, каждая из которых имеет форму прямоуголь­ника. Длина и ширина каждой из шести комнат указаны ниже. Написать про­грамму, которая выводит площадь каждой комнаты. Найти суммарную пло­щадь всех комнат в этом доме.

Номер комнаты

Длина, м

Ширина, м

1

4,5

3,5

2

3

2,5

3

4,5

4,5

4

5,5

3,5

5

6,5

3,5

6

7

4,5

Вариант 5

  1. Написать программу, которая вычисляет сумму первых п членов ряда 1, 3, 5, 7, 9,... Количество суммируемых членов ряда N задается во время ра­боты программы. Ниже представлен рекомендуемый вид экрана во время ра­боты программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление частичной суммы ряда: 1, 3, 5,7,...

Введите количество суммируемых членов ряда: 15

Сумма первых 15 членов ряда равна 225

  1. Напечатать таблицу значений функции при изменении X от 2 до 12 с шагом 2.

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

Вариант 6

  1. Написать программу, которая вычисляет сумму первых п членов ря­да 1 + 1/2 + 1/3 + 1/4 + ... Количество суммируемых членов ряда задается во время работы программы. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены по­лужирным шрифтом).

Вычисление частичной суммы ряда: 1 + 1/2 + 1/3 + ...

Введите количество суммируемых членов ряда: 15

Сумма первых 15 членов ряда равна 3,3182

  1. Начав тренировки, спортсмен в первый день пробежал 10 км. Каж­дый следующий день он увеличивал дневную норму на 10% от нормы преды­дущего дня. Какой суммарный путь спортсмен пробежит за 7 дней?

  2. Сберегательная касса начисляет 2% годовых (т. е. через год вклад увеличивается на 2% без участия вкладчика). Какой станет сумма (в руб.), по­ложенная в сберкассу на N лет?

Вариант 7

  1. Написать программу, которая выводит таблицу степеней двойки (от нулевой до десятой). Ниже представлен рекомендуемый вид экрана во время работы программы.

Таблица степеней двойки

0

1

2

3

4

5

6

7

8

9

10

1

2

4

8

16

32

64

128

256

512

1024

  1. Начав тренировки, спортсмен в первый день пробежал 10 км. Каж­дый следующий день он увеличивал дневную норму на 10% от нормы преды­дущего дня. Через сколько дней спортсмен будет пробегать больше 20 км?

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

Введите N: 3

Введите целое число и нажмите Enter 45

45 - не простое число

Введите целое число и нажмите Enter 7

7 - простое число

Введите целое число и нажмите Enter 19

19 - простое число

Указания к решению задачи 3

Простым называется число, которое делится только само на себя (напри­мер, 3, 5,17 и т. д.). «Число 1 может быть отнесено к простым числам, однако предпочтительно выделять его особо, не относя ни к простым, ни к состав­ным». (Выгодский М.Я. Справочник по элементарной математике.)

Вариант 8

  1. Написать программу, которая вычисляет факториал числа, введенно­го с клавиатуры. (Факториалом числа n называется произведение целых чисел

от 1 до n, например: факториал числа 1 равен 1, а факториал числа 8 – 40320.) Рекомендуемый вид экрана приведен ниже. Данные, введенные пользовате­лем, выделены полужирным шрифтом.

Вычисление факториала

Введите число, факториал которого надо вычислить, и нажмите Enter 7

Указания к решению задачи 1

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

  1. В киоске продается газета стоимостью 3 коп. и журнал стоимостью 20 коп. Составить программу, которая спрашивает о желании покупателя (журнал или газета?), принимает деньги (сумма денег вводится с клавиатуры) и печатает причитающуюся сдачу. Исходные данные задать самостоятельно. Количество покупателей равно N.

Указания к решению задачи 2

Покупателю нужно задать по меньшей мере два вопроса:

  1. «Что хотите купить: журнал или газету?» После ввода ответа нужно показать соответствующую стоимость издания и задать следующий вопрос.

  2. «Сколько платите?» Количество денег покупателя вводится с клавиа­туры (в числовую переменную).

Далее надо сравнить это количество со стоимостью покупки и напеча­тать итоговое сообщение.

  1. Пусть дано натуральное число N и последовательность из N вещест­венных чисел, среди которых есть хотя бы одно отрицательное. Найти наи­большее среди отрицательных чисел этой последовательности.

Вариант 9

  1. Написать программу, которая выводит таблицу значений функции в диапазоне от -2 до 2 с шагом 0,5. Ниже представлен ре­комендуемый вид экрана во время работы программы:

    x

    y

    -2

    -1.5

    -1

    -0.5

    0

    0.5

    1

    1.5

    2

    -22.60

    -15.90

    -10.40

    -6.10

    -3.00

    -1.10

    -0.40

    -0.90

    -2.60

  2. В ЭВМ поступают результаты соревнований по плаванию для трех спортсменов. Выбрать и напечатать лучший результат. Решить задачу для следующих наборов данных: 1) 11,3; 10,6; 11; 2) 10; 10,9; 13; 3) 16; 18; 13.

Указания к решению задачи 2

Задача сводится к определению минимального из трех чисел.

  1. Написать программу, которая вычисляет сумму первых n членов ря­да Количество суммируемых членов ряда задается во время работы программы. Рекомендуемый вид экрана во время работы про­граммы такой же, как в варианте 6 (задача 1).

Вариант 10

  1. Написать программу, которая вводит с клавиатуры 5 дробных чисел и вычисляет их среднее арифметическое. Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные пользователем, выде­лены полужирным шрифтом.

Вычисление среднего арифметического последовательности дробных чисел. После ввода каждого числа нажимайте Enter

5,4

7,8

3,0

1,5

2,3

Среднее арифметическое введенной последовательности: 4,00

  1. ЭВМ используется при разборе коллекции марок. Составить про­грамму, подсчитывающую число марок тематически: по спорту, искусству, городам. Подсчитать общее количество марок. Использовать множествен­ный выбор.

Указания к решению задачи 2

Названия типов марок закодировать числами 1, 2, 3. В зависимости от введенного значения типа марки для перехода к выполнению нужного опера­тора использовать оператор множественного выбора. Для окончания ввода можно использовать специальное значение, например ноль.

  1. Вводится последовательность ненулевых чисел, ноль - конец после­довательности. Определить, является ли последовательность возрастающей.

Вариант 11

  1. Написать программу, которая вводит с клавиатуры последователь­ность из пяти дробных чисел и после ввода каждого числа выводит среднее арифметическое полученной части последовательности. Рекомендуемый вид экрана во время работы программы приведен ниже. Данные, введенные поль­зователем, выделены полужирным шрифтом.

Обработка последовательности дробных чисел. После ввода каждого числа нажимайте Enter

12,3

Введено чисел: 1 Сумма: 12,30

Среднее арифметическое: 12,30

15

Введено чисел: 2 Сумма: 27,30

Среднее арифметическое: 13,65

10

Введено чисел: 3 Сумма: 37,30

Среднее арифметическое: 12,43

5,6

Введено чисел: 4 Сумма: 42,90

Среднее арифметическое: 10,73

11,5

Введено чисел: 5 Сумма: 54,40

Среднее арифметическое: 10,88

  1. Напечатать таблицу перевода температуры из градусов по шкале Цельсия (С) в градусы по шкале Фаренгейта (F) для значений от 15°С до 30°С с шагом 1°С.

Указания к решению задачи 2

Перевод осуществляется по формуле F = 1,8С + 32.

  1. Вводится N чисел. Вывести на экран те числа, делителем которых яв­ляется целое число А.

Вариант 12

  1. Написать программу, которая выводит таблицу значений функции . Диапазон изменения аргумента от -4 до 4, шаг прираще­ния аргумента равен - 0,5. Вид экрана такой, как в варианте 9 (задача 1).

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

  3. Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел, которые вводятся с клавиатуры. Ниже представлен рекомендуемый вид экрана во время работы программы (данные, введенные пользователем, выделены полужирным шрифтом).

Вычисление среднего арифметического последовательности положительных чисел.

Вводите после стрелки числа. Для завершения ввода введите ноль:

45

23

15

0

Введено чисел: 3

Сумма чисел: 83

Среднее арифметическое: 27,67

Вариант 13

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

Случайные числа 1342749621

Среднее арифметическое: 3,9

  1. В ЭВМ по очереди вводятся координаты n точек. Определить, сколь­ко из них принадлежат фигуре, ограниченной осью абсцисс и аркой синусои­ды, построенной для аргумента от 0 до .

Указания к решению задачи 2

Для каждой точки нужно проверять ограничение на X (0 < X < я.) и на Y ( ).

  1. Стоимость доставки груза самолетом составляет 2 500 руб. за м3 объ­ема груза. Написать программу, которая выводит стоимость доставки каждо­го из пяти ящиков, размеры которых приведены ниже. Найти общую стоимость груза.

Длина, м

Ширина, м

Высота, м

4

2

3

6

2

2

4

2,5

2,5

3

3

3

4

2

6

Вариант 14

  1. Написать программу, которая выводит таблицу значений функции . Диапазон изменения аргумента от - 4 до 4, шаг приращения аргумента равен 1. Вид экрана такой, как в варианте 9 (задача 1).

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

Указания к решению задачи 2

Нужно организовать цикл по количеству вопросов, а начать так: «Сколь­ко вопросов зададите?»

  1. Написать программу, которая бы спрашивала название времени года, а затем печатала названия месяцев, относящихся к этому времени года, на­пример: ВЕСНА - март, апрель, май. В случае неверного ввода программа должна печатать: «Такого месяца нет».

Вариант 15

  1. Написать программу, которая выводит на экран таблицу стоимости (например, яблок), в диапазоне от 100 г до 1 кг с шагом 100. Ниже представ­лен рекомендуемый вид экрана программы во время ее работы (данные, вве­денные пользователем, выделены полужирным шрифтом).

Введите цену одного килограмма и нажмите Enter (копейки от руб­лей отделяйте точкой) 16.50

Вес, г Стоимость, руб.

100 1.65

200 3.30

300 4.95

400 6.60

500 8.25

600 9.90

700 11.55

900 13.20

900 14.85

1000 16.50

  1. Ученикам 1-го класса назначается дополнительно стакан молока (200 мл), если их вес составляет меньше 30 кг. Определить, сколько литров молока потребуется ежедневно для одного класса, состоящего из N учеников. После взвешивания вес каждого ученика вводится в компьютер.

Указания к решению задачи 2

Если вес очередного ученика меньше 30 кг, то к числу учеников, кото­рым назначается молоко, нужно прибавить 1.

  1. Заданы N троек чисел А, В, С. Вводя их по очереди и интерпретируя как длины сторон треугольника, определить, сколько троек может быть ис­пользовано для построения треугольника.

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