Лабораторная работа «Циклические алгоритмы»
Задание. Оформление отчета по работе.
Рассмотрите все приведенные задачи для которых дано решение, изучите варианты заданий предложенные для самостоятельного решения, в тетради для одного из вариантов нарисуйте блок-схему и запишите текст программы.
Пример выполнения: Задача 1

Задача 2:
Вывести на экран ряд чисел Фибоначчи, состоящий из n элементов.
Числа Фибоначчи – это элементы числовой последовательности
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …, в которой каждое последующее число равно сумме двух предыдущих.
Описание переменных:
n – количество элементов ряда;
a, b – значения двух последних элементов ряда;
c – буферная («запасная») переменная;
i – счетчик.
Алгоритм решения задачи:
1. Получить значение n.
2. Присвоить a и b значения 0 и 1 соответственно (это первые числа ряда Фибоначчи). Вывести их на экран.
3. Начиная с 3-го элемента по n,
a. выводить на экран сумму a и b,
b. сохранить значение переменной b в c,
c. записать в b сумму a и b,
d. присвоить a значение с.
Программа на языке Паскаль:
var
a, b,c, i,n: integer;
begin
write('n = ');
readln(n);
a := 0;
write(a,' ');
b := 1;
write(b,' ');
for i:=3 to n do begin
write(a+b,' ');
c := b;
b := a + b;
a := c
end;
readln
end.
Задача 3:
Вводятся целые числа до первого числа, которое меньше двух. Определить, сколько простых чисел было введено.
Программа на языке Паскаль:
var
n, i,q: integer;
f: boolean;
begin
q:=0;
write('Number: ');
readln(n);
while n > 2 do begin
f:=true;
for i:=2 to n div 2 do
if n mod i = 0 then
f:=false;
if f then
q:=q+1;
write('Number: ');
readln(n);
end;
writeln(q,' prime numbers');
readln;
end.
Задача 4:
Дано число. Найти сумму и произведение его цифр.
Описание переменных:
n – число;
sum – сумма цифр;
mult – произведение цифр.
Алгоритм решения задачи:
1. sum присвоить ноль.
2. mult присвоить единицу (при умножении на ноль результат будет нулевым).
3. Пока n больше нуля
1. найти остаток от деления n на 10 (т. е. последнюю цифру числа), добавить его к сумме и увеличить произведение;
2. избавиться от последнего разряда числа n путем деления нацело на число 10.
Программа на языке Паскаль:
var n, sum, mult: integer;
begin
write('Enter number: ');
readln(n);
sum := 0;
mult := 1;
while n > 0 do begin
sum := sum + n mod 10;
mult := mult * (n mod 10);
n := n div 10
end;
writeln('Sum of digits = ', sum);
writeln('Multiplication of digits = ', mult);
readln
end.
Задача 5:
Определить из каких цифр состоит число
Программа на языке Паскаль:
var
n:integer;
begin
write('Type integer: ');
readln(n);
if n<0 then
n:=-n; // уничтожение знака числа
repeat
writeln(n mod 10); // вывод последней цифры числа
n:= n div 10; // удаление последней цифры числа
until n=0;
readln
end.
В приведенных примерах вы можете найти подсказки для решения данных вариантов.
Варианты работ для самостоятельного решения:
Вариант №11. С клавиатуры вводится последовательность из N целых чисел. Найти наибольшее число из всех отрицательных и его порядковый номер в последовательности. В случае совпадения наибольших значений вывести номер первого из них. 2.Определить порядковый номер элемента последовательности 21, 22, 23,…,2n, значение которого превысит 100. 3. Найти все простые числа из заданного промежутка [a, b], где а и b задаются с клавиатуры. | Вариант №21.С клавиатуры вводится последовательность из целых чисел, 0 - конец последовательности. Найти наименьшее число и его порядковый номер в последовательности. В случае совпадения значений вывести номер последнего из них. 2. Вычислить сумму всех элементов последовательности Фибоначчи, не превосходящих N, где N задается с клавиатуры. 3. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось совершенных чисел. Натуральное число называется совершенным, если оно равно сумме всех своих положительных делителей, кроме самого себя. Например, 28 - совершенное число, т. к. 28=1+2+4+7+14 . |
Вариант №31.С клавиатуры вводится последовательность из целых чисел, 0 – конец последовательности. Определить, сколько раз в последовательности встретились пары равных соседних чисел. Если такие пары были, то вывести на печать номера последней пары. 2.Определить количество элементов последовательности 21, 22, 23,…,2n, сумма которых не превышает 200. 3. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось палиндромов. Назовем число палиндромом, если его запись читается одинаково справа налево и слева направо (как, например, 4884, 393, 55, 1). | Вариант №41.С клавиатуры вводится последовательность из целых чисел, 0 – конец последовательности. Определить, является ли последовательность возрастающей. 2.Вычислить порядковый номер элемента последовательности 1+ 1/(1+2)+1/(2+3)+…+1/(n+ (n +1)), значение которого станет меньше 0,002. 3. Для всех натуральных трехзначных чисел: а) проверьте, является ли оно числом Армстронга, т. е. сумма его цифр, возведенных в 3 степень, равна самому числу (например: 153=13 +53+33) б) найдите произведение всех чисел, которые кратны 5 и содержат хотя бы одну четную цифру. |
Вариант №51.С клавиатуры вводится последовательность из целых чисел, 0 - конец последовательности. Найти наименьшее число и его порядковый номер в последовательности. В случае совпадения значений вывести номер последнего из них. 2.Определить количество элементов последовательности 21, 22, 23,…,2n, которые попадают в интервал [10, 150]. 3. Для всех натуральных чисел n (100<n<1000). Найдите все числа а) у которых сумма цифр числа кратна 3; б) все цифры числа различны | Вариант №61.Вводится последовательность из N целых чисел. Найти два наименьших по значению числа. 2.Население города увеличивается ежегодно на 3% каждый год. В 1995 году население города составляло 10500 человек. Напечатайте на экране год, в котором численность населения города превысит 15000. 3.С клавиатуры вводится последовательность из N целых чисел. Найти: -вывести номера тех элементов, значения которых больше заданного числа А; -подсчитать количество положительных элементов кратных К. (N, A,K- задаваемые константы) |




