Основы алгоритмизации и программирования
Язык программирования Паскаль
Практическая работа
Составление циклических программ (Цикл с постусловием)
Методические указания
Москва, 2015 г.
Практическая работа
Составление циклических программ
Цель работы: | Научиться организовывать циклы в программах. |
Цикл «До». REPEAT UNTIL - Цикл с постусловием
Переводится как «Повторять до тех пор, пока….»
Этот оператор соответствует следующей базовой структуре алгоритмов:
|
Этот оператор переводится «повторять до», т.е. «выполнять тело цикла, пока не станет истинным условие». Здесь тело цикла всегда выполняется хотя бы один раз. А условием является условие выхода из цикла.
Пример:
Вычислить сумму S=1+1/2+1/3+…+1/n
program ex2;
uses crt;
var S: real;
n,i:integer;
begin
clrscr;
writeln(‘Введите n->’);
readln(n);
S:=0;
i:=1;
repeat
S:=S+1/i;
i:=i+1;
until i>n;
writeln('S=',S:10:6);
readln;
end.
Пример:
Используя цикл REPEAT составить таблицу значений функции
, где х меняется от -p до p с шагом .
Блок-схема программы имеет вид:
Программа имеет вид:
{Вычисление значений у}
program prac5;
uses crt;
var x,y:real;
begin
clrscr;
writeln(' x y');
writeln('------------------------');
x:=-pi;
repeat
y:=cos(x);
writeln(x:6:2,y:15:6);
x:=x+pi/8;
until x>pi;
writeln('------------------------');
readln;
end.
Результат работы этой программы следующий:
x y
------------------------
-3.14 -1.000000
-2.75 -0.923880
-2.36 -0.707107
-1.96 -0.382683
-1.57 -0.000000
-1.18 0.382683
-0.79 0.707107
-0.39 0.923880
-0.00 1.000000
0.39 0.923880
0.79 0.707107
1.18 0.382683
1.57 0.000000
1.96 -0.382683
2.36 -0.707107
2.75 -0.923880
3.14 -1.000000
------------------------
Задание. REPEAT UNTIL - Цикл с постусловием
Переводится как «Повторять до тех пор, пока….»
|
Задача Rep..Un1. Используя цикл REPEAT составить таблицу значений функции
, где х меняется от 1 до 6 с шагом 0,5.
Ответ.
x y
------------------------
1.00 1.40
1.50 1.65
2.00 1.95
2.50 2.30
3.00 2.72
3.50 3.21
4.00 3.79
4.50 4.48
5.00 5.29
5.50 6.25
6.00 7.39
------------------------
Задача Rep..Un2. Используя цикл REPEAT составить таблицу значений функции
, где х меняется от до p с шагом 0,2.
Ответ.
x=1.00 y=-0.00008
x=1.20 y=-0.00013
x=1.40 y=-0.00021
x=1.60 y=-0.00031
x=1.80 y=-0.00044
x=2.00 y=-0.00061
x=2.20 y=-0.00081
x=2.40 y=-0.00105
x=2.60 y=-0.00134
x=2.80 y=-0.00167
x=3.00 y=-0.00205
Задача Rep..Un3. Написать программу, пользователь вводит значение N, а программа выводит на экран таблицу умножения на N от 1 до 10.
Ответ. Введите число:3
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
3 * 10 = 30
Задача Rep..Un4. Написать программу, в которой пользователь вводит несколько чисел, программа выводит среднее арифметическое четных чисел.
Ответ:
Введите кол-во чисел n=5
Введите число 1: 3
Введите число 2: 7
Введите число 3: 6
Введите число 4: 5
Введите число 5: 4
s = 5
Задача Rep..Un5. Используя цикл REPEAT составить таблицу значений функции
, где х меняется от 0 до 5 с шагом 0,5.
Ответ.
x = 0.00 y = 0.00
x = 0.50 y = -0.15
x = 1.00 y = 1.20
x = 1.50 y = 4.05
x = 2.00 y = 8.40
x = 2.50 y = 14.25
x = 3.00 y = 21.60
x = 3.50 y = 30.45
x = 4.00 y = 40.80
x = 4.50 y = 52.65
x = 5.00 y = 66.00
Задача Rep..Un6. Написать программу, в которой пользователь вводит несколько чисел, программа выводит среднее арифметическое нечетных чисел.
Ответ.
Введите кол-во чисел n=5
Введите число 1:3
Введите число 2:6
Введите число 3:7
Введите число 4:9
Введите число 5:11
s = 7.5
Задача Rep..Un7. Используя цикл REPEAT составить таблицу значений функции
, где х меняется от 0,5 до 3 с шагом 0,2.
|
Ответ.
x = 0.5 y = 1.00
x = 0.7 y = 1.29
x = 0.9 y = 1.54
x = 1.1 y = 1.79
x = 1.3 y = 2.03
x = 1.5 y = 2.27
x = 1.7 y = 2.51
x = 1.9 y = 2.75
x = 2.1 y = 3.00
x = 2.3 y = 3.24
x = 2.5 y = 3.48
x = 2.7 y = 3.72
x = 2.9 y = 3.96
Задача Rep..Un8. Написать программу, в которой пользователь вводит несколько чисел, программа выводит количество положительных чисел.
Ответ.
Введите число 1:4
Введите число 2:-8
Введите число 3:-5
Введите число 4:18
Введите число 5:-67
количество положительных чисел: 2
Задача Rep..Un9. Используя цикл REPEAT составить таблицу значений функции
, где х меняется от -2 до 2 с шагом 0,5.
Ответ.
x = -2.00 y = -22.60
x = -1.50 y = -15.90
x = -1.00 y = -10.40
x = -0.50 y = -6.10
x = 0.00 y = -3.00
x = 0.50 y = -1.10
x = 1.00 y = -0.40
x = 1.50 y = -0.90
x = 2.00 y = -2.60
Задача Rep..Un10. Написать программу для решения следующей задачи: сумму S поместили в банк под процент t. Необходимо выводить в течении 5 лет сумму, полученную в конце года.
Ответ.
Введите сумму вклада: 25000
Введите % для вклада: 10
Сумма на конец 1 года:27500рублей
Сумма на конец 2 года:30250рублей
Сумма на конец 3 года:33275рублей
Сумма на конец 4 года:36602.5рублей
Сумма на конец 5 года:40262.75рублей
Задача Rep..Un11. Используя цикл REPEAT составить таблицу значений функции
, где х меняется от -3 до 2 с шагом 0,5.
Ответ.
x = -3.0 y = 36.00
x = -2.5 y = 30.25
x = -2.0 y = 25.00
x = -1.5 y = 20.25
x = -1.0 y = 16.00
x = -0.5 y = 12.25
x = 0.0 y = 9.00
x = 0.5 y = 6.25
x = 1.0 y = 4.00
x = 1.5 y = 2.25
x = 2.0 y = 1.00
Задача Rep..Un12. Написать программу для решения следующей задачи: учебным заведением был приобретен стол за S руб. Его амортизация составляет 12% в год. Определить, сколько он будет стоить через N лет.
Ответ.
Введите стоимость стола: 35000
Введите кол-во лет: 5
|
Стоимость стола на конец 1 года:30800.000рублей
Стоимость стола на конец 2 года:27104.000рублей
Стоимость стола на конец 3 года:23851.520рублей
Стоимость стола на конец 4 года:20989.338рублей
Стоимость стола на конец 5 года:18470.617рублей
Задача Rep..Un13. Найти значения функции
, где х меняется от -1 до 5 с шагом 0,5.
Ответ.
x = -1.0 y = -0.25
x = -0.5 y = -0.29
x = 0.0 y = -0.33
x = 0.5 y = -0.40
x = 1.0 y = -0.50
x = 1.5 y = -0.67
x = 2.0 y = -1.00
x = 2.5 y = -2.00
x = 3.0 y = Infinity
x = 3.5 y = 2.00
x = 4.0 y = 1.00
x = 4.5 y = 0.67
x = 5.0 y = 0.50