Читайте также: |
|
Программирование циклических алгоритмов
Цель работы: закрепить практические навыки работы с системой Borland Pascal, научиться правильно использовать различные операторы циклов; научиться составлять программы решения задач с использование циклических структур.
Общие сведения
Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же операторов при различных значениях промежуточных данных. Число повторений этих операторов может быть задано в явной (цикл с известным заранее числом повторений) или неявной (цикл с неизвестным заранее числом повторений) форме.
Перед выполнением работы необходимо изучить различные схемы организации циклов и операторы FOR, WHILE, REPEAT.
Примеры
Пример1: На промежутке от 1 до M найти все числа Армстронга. Натуральное число из n цифр называется числом Армстронга, если сумма его цифр, возведенных в n-ю степень, равна самому числу.
Этапы решения задачи:
Математическая модель: xО[1;M], x=
Составим блок схему программы:
Распишем составные части блока"Находим все числа Армстронга на заданном промежутке и печатаем их"
Опишем блок "Подсчитываем сколько цифр в числе i"
Опишем блок "Проверяем, является ли i числом Армстронга"
Дальнейшая детализация не требуется, запишем блок-схему целиком:
Дальнейшей детализации не требуется, переведем программу на язык Паскаль.
PROGRAM Primer_1;
var i,k,s,p,n: Integer;
BEGIN
Write('Введите M '); Readln(m);
For i:=1 to M do
begin
s:=0; k:=i; n:=0;
While k<>0 do
begin k:=k DIV 10; n:=n+1 end;
k:=i;
While k<>0 do
begin p:=k MOD 10; k:=k DIV 10;
If p<>0 then s:=Trunc (s+Exp(n*Ln(p)))
end;
If s=f then WriteLn (f)
end;
END.
Контрольные вопросы
Как записывается и как работает оператор FOR?
Для организации каких циклов применим оператор FOR?
В чем отличие оператора WHILE от оператора REPEAT?
Как программируются циклические алгоритмы с явно заданным числом повторений цикла?
Как программируются циклические алгоритмы с заранее неизвестным числом повторений цикла?
Напишите оператор цикла, который не выполняется ни разу.
Напишите оператор цикла, который выполняется неограниченное число раз.
Замените оператор "Repeat A Until B" равносильным фрагментом программы с оператором While.
Задачи
Вычисление выражений:
Дано натуральное n. Вычислить:
1. ;
2. ;
Дано действительное число х, натуральное число n. Вычислить:
3x (x - n)(x - 2 n)(x - 3 n)…(x – nn);
4. ;
5. ;
Дано натуральное n. Вычиcлить:
6. ;
7. ;
Вычислить приближенно значение бесконечной суммы (справа от каждой суммы дается ее точное значение, с которым можно сравнить полученный ответ):
8. = ;
9. = ;
10. = ;
Нужное приближение считается полученным, если вычислена сум-+/.ма нескольких первых слагаемых, и очередное слагаемое оказалось по модулю меньше данного положительного числа e.
Дата добавления: 2015-07-08; просмотров: 129 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Ход работы | | | Пример 1. |