Программирование циклических алгоритмов

Автор работы: Пользователь скрыл имя, 11 Декабря 2011 в 20:09, лабораторная работа

Краткое описание

Цель работы:
Познакомиться с операторами цикла, научиться составлять программы с использованием операторов повторения.

Вложенные файлы: 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

 

Порядок выполнения работы:

  1. Изучить описание лабораторной работы.
  2. Разобрать примеры программ
  3. Решить задачу по индивидуальному варианту (номер варианта совпадает с номером в списке журнала
    1. используя оператор while
    2. используя оператор repeat
  4. Продемонстрировать результаты выполнения работы преподавателю.

Варианты  заданий:

  1. Дано натуральное число n (n<999). Определить сколько цифр в числе n?
  2. Найти сумму квадратов чисел от m до n.
  3. Дано натуральное число n (n<999). Определить чему равна сумма его цифр?
  4. Найти сумму целых положительных чисел, кратных 4 и меньших 100.
  5. Найти сумму квадратов нечётных чисел в интервале, заданном значениями переменных m и n;
  6. Найти сумму квадратов четных чисел в интервале, заданном значениями переменных m и n;
  7. Определить  число n, при котором сумма квадратов натурального ряда чисел от 1 до n не превысит величину K, введенную с клавиатуры.
  8. С клавиатуры вводятся действительные числа и последовательно суммируются. Когда их сумма превысит 150, найти сумму введенных чисел.
  9. Найти на отрезке [а, b] натуральное число, имеющее наибольшее количество делителей.
  10. Найти наименьшую и наибольшую цифры в записи данного натурального числа.
  11. Найти сумму 10 произвольных чисел.
  12. Даны целые числа К и N (N>0). Вывести N раз число K.
  13. Написать программу, которая вычисляет значения функции у=|x| на промежутке от -4 до 4 с шагом 0,5 и выводит эти значения в виде таблицы.
  14. Начав тренировки,  спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой путь пробежал спортсмен за 7 дней?
  15. Написать программу, которая выводит таблицу стоимости продукта в диапазоне от 100 г до 1 кг с шагом в 100 г. Пользователь вводит стоимость 1 кг.
  16. Составить программу, печатающую все простые числа, не превосходящие данного числа.
  17. Написать программу, которая выводит таблицу степеней нечётных чисел от 1 до 9. Порядок выводимой степени определяет сам пользователь в начале программы.
  18. Написать программу, которая выводит таблицу степеней чётных чисел от 1 до 9. Порядок выводимой степени определяет сам пользователь в начале программы.
  19. Бизнесмен взял ссуду m  тысяч рублей в банке под 20% годовых. Через сколько лет его долг превысит s тысяч рублей, если за это время он не будет отдавать долг?
  20. Определить, является ли введенное число простым.
  21. Население города увеличивается на 3% каждый год. В 1983 году население города составляло 65000. Напишите программу, которая выведет на экран предсказываемую численность населения города в каждом году вплоть до 1999г.
  22. Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, …, 24 часов.
  23. Написать программу, которая выводит на экран таблицу квадратов целых чисел от 1 до 10
  24. Даны натуральные числа от 10 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5.
  25. Программа должна вычислять произведение двух чисел и спрашивать, завершать программу или нет, если нет, то продолжать запрашивать данные вычислять произведение и печатать его.
  26. Составьте таблицу функции  y = a3/(a2+x2) для х, принадлежащих отрезку [-1; 1] с шагом 0.1
  27. Программа должна вычислять сумму двух чисел и спрашивать завершать программу или нет, если нет то продолжать запрашивать данные вычислять сумму и печатать его.
  28. Написать программу, которая подсчитывает текущее среднее арифметическое введённых чисел и после каждого нового вводимого числа выводит это значение. Пользователь каждый раз должен выбирать, вводить ли числа дальше или закончить ввод чисел.
  29. Найти сумму 10 произвольных чисел.
  30. Запросить имя пользователя и напечатать "Привет, Вася!" 10 раз (если Вася – имя пользователя).
  31. Составьте программу, определяющую максимум из всех введенных вами чисел. (Пусть признаком конца ввода чисел является введенное число 0.)

Информация о работе Программирование циклических алгоритмов