Лабораторная работа «Циклические алгоритмы»

Задание. Оформление отчета по работе.

Рассмотрите все приведенные задачи для которых дано решение, изучите варианты заданий предложенные для самостоятельного решения, в тетради для одного из вариантов нарисуйте блок-схему и запишите текст программы.

Пример выполнения: Задача 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.

В приведенных примерах вы можете найти подсказки для решения данных вариантов.
Варианты работ для самостоятельного решения:

Вариант №1

1. С клавиатуры вводится последовательность из N целых чисел. Найти наибольшее число из всех отрицательных и его порядковый номер в последовательности. В случае совпадения наибольших значений вывести номер первого из них.

2.Определить порядковый номер элемента последовательности 21, 22, 23,…,2n, значение которого превысит 100.

3. Найти все простые числа из заданного промежутка [a, b], где а и b задаются с клавиатуры.

Вариант №2

1.С клавиатуры вводится последовательность из целых чисел, 0 - конец последовательности. Найти наименьшее число и его порядковый номер в последовательности. В случае совпадения значений вывести номер последнего из них.

2. Вычислить сумму всех элементов последовательности Фибоначчи, не превосходящих N, где N задается с клавиатуры.

3. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось совершенных чисел. Натуральное число называется совершенным, если оно равно сумме всех своих положительных делителей, кроме самого себя. Например, 28 - совершенное число, т. к. 28=1+2+4+7+14 .

Вариант №3

1.С клавиатуры вводится последовательность из целых чисел, 0 – конец последовательности. Определить, сколько раз в последовательности встретились пары равных соседних чисел. Если такие пары были, то вывести на печать номера последней пары.

2.Определить количество элементов последовательности 21, 22, 23,…,2n, сумма которых не превышает 200.

3. С клавиатуры вводится последовательность из N целых чисел. Определить, сколько среди них встретилось палиндромов. Назовем число палиндромом, если его запись читается одинаково справа налево и слева направо (как, например, 4884, 393, 55, 1).

Вариант №4

1.С клавиатуры вводится последовательность из целых чисел, 0 – конец последовательности. Определить, является ли последовательность возрастающей.

2.Вычислить порядковый номер элемента последовательности 1+ 1/(1+2)+1/(2+3)+…+1/(n+ (n +1)), значение которого станет меньше 0,002.

3. Для всех натуральных трехзначных чисел:

а) проверьте, является ли оно числом Армстронга, т. е. сумма его цифр, возведенных в 3 степень, равна самому числу (например: 153=13 +53+33)

б) найдите произведение всех чисел, которые кратны 5 и содержат хотя бы одну четную цифру.

Вариант №5

1.С клавиатуры вводится последовательность из целых чисел, 0 - конец последовательности. Найти наименьшее число и его порядковый номер в последовательности. В случае совпадения значений вывести номер последнего из них.

2.Определить количество элементов последовательности 21, 22, 23,…,2n, которые попадают в интервал [10, 150].

3. Для всех натуральных чисел n (100<n<1000). Найдите все числа а) у которых сумма цифр числа кратна 3;

б) все цифры числа различны

Вариант №6

1.Вводится последовательность из N целых чисел. Найти два наименьших по значению числа.

2.Население города увеличивается ежегодно на 3% каждый год. В 1995 году население города составляло 10500 человек. Напечатайте на экране год, в котором численность населения города превысит 15000.

3.С клавиатуры вводится последовательность из N целых чисел.

Найти:

-вывести номера тех элементов, значения которых больше заданного числа А;

-подсчитать количество положительных элементов кратных К.

(N, A,K- задаваемые константы)