Составить
программу, которая вводит и суммирует
целые числа. Если введено значение
999, то на экран выводится результат
суммирования.
Program
s;
Var x,
s:integer;
Begin
S:=0;
Repeat
Write(‘Ввести
число’);
Readln(x);
If x<>999
then s:=s+x;
Until x=999;
Writeln(‘Сумма
введенных чисел’, s);
End.
Следует
знать:
•
число повторений операторов (инструкций)
цикла repeat определяется в ходе работы
программы и во многих случаях
заранее неизвестно;
•
инструкции цикла repeat будут выполняться,
пока условие, стоящее после until, будет
оставаться ложным;
•
после слова until записывается условие
завершения цикла;
•
условие — это выражение логического
типа: простое выражение отношения
или сложное логическое выражение;
•
для успешного завершения цикла
repeat в его теле обязательно должны
быть инструкции, выполнение которых
влияет на условие завершения цикла,
иначе цикл будет выполняться
бесконечно — программа зациклится.
Другими словами, переменная, которая
участвует в условии выхода из
цикла, обязательно должна изменяться
в теле цикла.
•
цикл repeat — это цикл с постусловием
(условие проверяется после выполнения
тела цикла), т. е. инструкции тела цикла
будут выполнены хотя бы один раз;
•
поэтому цикл repeat удобно использовать
в тех случаях, когда тело цикла
гарантированно должно выполниться
хотя бы один раз;
•
нижняя граница операторов тела цикла
четко обозначена словом until, поэтому
нет необходимости заключать
эти операторы в операторные
скобки begin и end. В то же время наличие
операторных скобок не будет являться
ошибкой.
Как
вы знаете, оператор For можно использовать
только в том случае, когда заранее или
в процессе работы программы при подходе
к циклу точно известно, сколько раз будет
выполнен данный цикл, то операторы while
и repeat можно использовать в любом случае,
в том числе и вместо цикла с For. Например,
цикл
For k:=4 to 6 do sum:=sum+3
можно записать
с помощью
оператора whil |
с помощью оператора
repeat |
k:=4;
while k<=6 do
begin
sum:=sum+3;
k:=k+1;
end; |
k:=4;
repeat
sum:=sum+3;
k:=k+1
until k>6
|
Порядок
выполнения работы:
- Изучить описание
лабораторной работы.
- Разобрать
примеры программ
- Решить задачу
по индивидуальному варианту (номер варианта
совпадает с номером в списке журнала
- используя
оператор while
- используя
оператор repeat
- Продемонстрировать
результаты выполнения работы преподавателю.
Варианты
заданий:
- Дано натуральное
число n (n<999). Определить сколько цифр
в числе n?
- Найти сумму
квадратов чисел от m до n.
- Дано натуральное
число n (n<999). Определить чему равна сумма
его цифр?
- Найти сумму
целых положительных чисел, кратных 4 и
меньших 100.
- Найти сумму
квадратов нечётных чисел в интервале,
заданном значениями переменных m и n;
- Найти сумму
квадратов четных чисел в интервале, заданном
значениями переменных m и n;
- Определить
число n, при котором сумма квадратов натурального
ряда чисел от 1 до n не превысит величину
K, введенную с клавиатуры.
- С клавиатуры
вводятся действительные числа и последовательно
суммируются. Когда их сумма превысит
150, найти сумму введенных чисел.
- Найти на
отрезке [а, b] натуральное число, имеющее
наибольшее количество делителей.
- Найти наименьшую
и наибольшую цифры в записи данного натурального
числа.
- Найти сумму
10 произвольных чисел.
- Даны целые
числа К и N (N>0). Вывести N раз число K.
- Написать
программу, которая вычисляет значения
функции у=|x| на промежутке от -4 до 4 с шагом
0,5 и выводит эти значения в виде таблицы.
- Начав тренировки,
спортсмен в первый день пробежал 10 км.
Каждый день он увеличивал дневную норму
на 10% нормы предыдущего дня. Какой путь
пробежал спортсмен за 7 дней?
- Написать
программу, которая выводит таблицу стоимости
продукта в диапазоне от 100 г до 1 кг с шагом
в 100 г. Пользователь вводит стоимость
1 кг.
- Составить
программу, печатающую все простые числа,
не превосходящие данного числа.
- Написать
программу, которая выводит таблицу степеней
нечётных чисел от 1 до 9. Порядок выводимой
степени определяет сам пользователь
в начале программы.
- Написать
программу, которая выводит таблицу степеней
чётных чисел от 1 до 9. Порядок выводимой
степени определяет сам пользователь
в начале программы.
- Бизнесмен
взял ссуду m тысяч рублей в банке под
20% годовых. Через сколько лет его долг
превысит s тысяч рублей, если за это время
он не будет отдавать долг?
- Определить,
является ли введенное число простым.
- Население
города увеличивается на 3% каждый год.
В 1983 году население города составляло
65000. Напишите программу, которая выведет
на экран предсказываемую численность
населения города в каждом году вплоть
до 1999г.
- Одноклеточная
амеба каждые 3 часа делится на 2 клетки.
Определить, сколько амеб будет через
3, 6, 9, 12, …, 24 часов.
- Написать
программу, которая выводит на экран таблицу
квадратов целых чисел от 1 до 10
- Даны натуральные
числа от 10 до 50. Напечатать те из них, которые
делятся на 3, но не делятся на 5.
- Программа
должна вычислять произведение двух чисел
и спрашивать, завершать программу или
нет, если нет, то продолжать запрашивать
данные вычислять произведение и печатать
его.
- Составьте
таблицу функции y = a3/(a2+x2) для х, принадлежащих
отрезку [-1; 1] с шагом 0.1
- Программа
должна вычислять сумму двух чисел и спрашивать
завершать программу или нет, если нет
то продолжать запрашивать данные вычислять
сумму и печатать его.
- Написать
программу, которая подсчитывает текущее
среднее арифметическое введённых чисел
и после каждого нового вводимого числа
выводит это значение. Пользователь каждый
раз должен выбирать, вводить ли числа
дальше или закончить ввод чисел.
- Найти сумму
10 произвольных чисел.
- Запросить
имя пользователя и напечатать "Привет,
Вася!" 10 раз (если Вася – имя пользователя).
- Составьте
программу, определяющую максимум из всех
введенных вами чисел. (Пусть признаком
конца ввода чисел является введенное
число 0.)