Программирование циклических алгоритмов
Лабораторная работа, 11 Декабря 2011, автор: пользователь скрыл имя
Краткое описание
Цель работы:
Познакомиться с операторами цикла, научиться составлять программы с использованием операторов повторения.
Вложенные файлы: 1 файл
20111102200853.docx
— 143.99 Кб (Скачать файл)Составить
программу, которая вводит и суммирует
целые числа. Если введено значение
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.)