- Преподавателю
- Информатика
- Вариант № 23 Использование циклов в вычислительных алгоритмах, ЕК ЦОР, решение (9 класс)
Вариант № 23 Использование циклов в вычислительных алгоритмах, ЕК ЦОР, решение (9 класс)
Раздел | Информатика |
Класс | 9 класс |
Тип | Другие методич. материалы |
Автор | Сланченко Л.А. |
Дата | 12.12.2015 |
Формат | docx |
Изображения | Есть |
Практическое задание №23
Тема: Использование циклов в вычислительных алгоритмах
1 уровень сложности.
1. Разработать схему алгоритма, который запрашивает N произвольных целых чисел и ищет их сумму. Число N вводится с клавиатуры. Разработать для созданного алгоритма не менее трёх тестов и проверить на них правильность работы алгоритма, где S = 1+2+3+…+N
program summa;
var a,S: real; N,i: integer;
begin
write ('vvedite kolichestvo chisel N-');
readln (N);
S:=0;
for i:=1 to N do
begin
write(i,'-e chislo=');
readln(a);
S:=S+a;
end;
writeln ('S=',S:6:3);
end.
2. Разработать схему алгоритма для вычисления суммы ряда:
Число N вводится с клавиатуры.
Протестировать алгоритм для N=1, N=2, N=4, N=6. Правильность ответов проверить с помощью калькулятора.
program Zad2;
var N,i: integer; S: real;
begin
write ('N=');
readln (N);
for i:=1 to N do
begin
S:=S+1/i;
end;
writeln ('S=',S);
end.
3. Одноклеточная амёба каждые три часа делится на 2 клетки. Разработать схему алгоритма для определения, сколько амёб будет через 3, 6, 9, 12 и 24 часа.
program ameba;
var i,n,amebe: integer;
begin
amebe:=1;
writeln ('vvedite kol-vo chasov');
readln (n);
n:=n div 3;
for i:=1 to n do
amebe:=amebe*2;
writeln('amebe',amebe);
end.
4. Дано натуральное число N и действительное число x. Разработать схему алгоритма для вычисления суммы ряда:
sin x + sin 2x+sin 3x+…sin N*X
Протестировать алгоритм для x=1.5 и N=3. Проверить правильность ответа на калькуляторе.
program sum;
var n,i: integer; x,s: real;
begin
repeat
write ('vvedite kol-vo slagaemuh N=');
readln (n);
until n>0;
write ('vvedite x=');
readln (x);
for i:=1 to n do
s:=s+sin(i*x);
writeln('s=',s);
end.
5. Разработать схему алгоритма для вычисления N-ой степени числа a (aN). Протестировать алгоритм для а) a=3 и N=4, б) a=2 и N=5.
program stepen;
var a,p:real; N,i: integer;
begin
write('vvedite chislo a - ');
readln (a);
write ('vvedite ctepen N - ');
readln (N);
p:=1;
for i:=1 to N do
p:=p*a;
writeln ('p=',p:3:3);
end.
2 уровень сложности.
1. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за N дней? Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для N=3 и N=7.
program sportsmen;
var n,i: integer; s,s1: real;
begin
s1:=10;
s:=0;
write ('vvedite kol-vo dney-');
readln (n);
for i:=1 to n do
begin
s:=s+s1;
s1:=s/100*10;
end;
writeln ('za ',n,' dney sportsmen probegit pyt-',s:3:2,'km');
end.
2. Ежемесячная стипендия студента составляет A рублей в месяц, а расходы на проживание превышают стипендию и составляют B рублей в месяц. Рост цен ежемесячно увеличивает расходы на 3%. Разработать схему алгоритма для расчёта необходимой суммы денег, которую надо единовременно попросить у родителей, чтобы можно было прожить учебный год (10 месяцев), используя только эти деньги и стипендию. Протестировать алгоритм для следующих исходных данных:
а) A=1000, B=1100
б) A=900, B=1000
в) A=600, B=1200
program stipendia;
var i:integer; A,B,S:real;
begin
write('vvedite A ');
readln (A);
write('vvedite B ');
readln (B);
S:=0;
for i:=1 to 10 do
begin
S:= S-A+B;
B:=B*1.03;
end;
writeln ('poprosit nado ',S:6:3);
end.
3. Разработать схему алгоритма для нахождения всех делителей натурального числа N. Протестировать алгоритм для N=10, N=75, N=99, N=13.
program delitel;
var n,i: integer;
begin
write('vvedite chislo dlya kotorogo nahodim delitel-');
readln (n);
writeln ('delitele chisla ',n,' ravnu');
for i:=1 to n do
if (n div i)=(n/i) then writeln (i);
end.
4. Разработать схему алгоритма для вычисления N! (факториал числа N). Факториал вычисляется по формуле:
N!=
Операцию вычисления факториала использовать нельзя!
Протестировать алгоритм для N=0, N=2 N=4.
program factorial;
label 1,2;
var n,i,p: integer;
begin
p:=1;
1:write('vvedite celoe N=');
readln(n);
if n=0 then goto 2 else
if n<0 then goto 1 else
for i:=1 to n do
p:=p*i;
2: writeln(n,'!=',p)
end.
3 уровень сложности.
1. Дано натуральное число N. Разработать схему алгоритма для вычисления суммы ряда: S=1!+2!+3!+…+N! (N>1)
Операцию вычисления факториала использовать нельзя!
Протестировать алгоритм для N=3 и N=5
program zad10;
var S,p:real; n,i:integer;
begin
write('N=');
readln(n);
S:=1;
p:=1;
for i:=2 to n do
begin
p:=p*i;
S:=S+p;
end;
writeln('S=',S)
end.
2. Покупатель должен заплатить в кассу S рублей. У него имеются монеты в 1, 2 и 5 рублей, а также купюры достоинством в 10, 50, 100 и 500 рублей (достаточное количество). Сколько монет и купюр разного достоинства отдаст покупатель, если он начинает платить с самых крупных? Операции целочисленного деления (div и mod) использовать нельзя. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для S=567, S=1025, S=64, S=13.
program pokupatel;
var rub1,rub2,rub5,rub10,rub50,rub100,rub500,s:integer;
begin
rub1:=0;rub2:=0;rub5:=0;
rub50:=0;rub100:=0;rub500:=0;
write ('vvedite summu pokupki: ');
readln (s);
while s>0 do
begin
if s>=500 then
begin
s:=s-500;
rub500:=rub500+1;
end
else
if s>=100 then
begin
s:=s-100;
rub100:=rub100+1;
end;
else
if s>=50 then
begin
s:=s-50;
rub50:=rub50+1;
end;
else
if s>=10 then
begin
s:=s-10;
rub10:=rub10+1;
end;
else
if s>=5 then
begin
s:=s-5;
rub5:=rub5+1;
end;
else
if s>=2 then
begin
s:=s-2;
rub2:=rub2+1;
end;
else
if s>=1 then
begin
s:=s-1;
rub1:=rub1+1;
end;
end;
writeln('500= ',rub500);
writeln('100= ',rub100);
writeln('50= ',rub50);
writeln('10= ',rub10);
writeln('5= ',rub5);
writeln('2= ',rub2);
writeln('1= ',rub1);
end.
3. Числа Фибоначчи (fn) определяются формулами:
f0=f1=1, fn=fn-1+fn-2 при n=2,3,…
Разработать схему алгоритма для вычисления числа Фибоначчи. Определить f10, f25, f40.
program Fibonacci;
var fib0,fib1,fib:longint;
i,n:byte;
begin
write ('vvedite nomer chisla Fibonacci- N=');
readln (n);
fib0:=0;
fib1:=1;
for i:=2 to n do
begin
fib:=fib1+fib0;
fib0:=fib1;
fib1:=fib;
end;
if n=0 then fib1:=0;
writeln('chislo fibonache dlya ',n,' nomera= ',fib1);
end.
4. Разработать схему алгоритма, определяющего, является ли заданное число N простым. Протестировать алгоритм для N=10, N=31, N=13, N=51.
program test;
var k,n,i:integer;
begin
write ('vvedite chislo ');
readln (n);
k:=0;
for i:=1 to n do
if n mod i=0 then k:=k+1;
if k=2 then writeln ('Yes') else writeln ('No');
end.
5. Даны натуральное N и действительное x. Разработать схему алгоритма для вычисления суммы ряда:
sin x+sin x2+sin x3+…+sin xN
Протестировать алгоритм для а) x=0.5, N=3, б) x=1, N=5. Проверить правильность его работы с помощью калькулятора.
program sum;
var i,n:integer;x1,x,summa:real;
begin
write('vvedite x ');
readln(x);
write('vvedite N ');
readln(n);
summa:=0;
x1:=1;
for i:=1 to n do
begin
x1:=x1*x;
summa:=summa+sin(x1);
end;
writeln('summa',summa:2:4);
end.