Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Другие методич. материалы / Вариант № 23 "Использование циклов в вычислительных алгоритмах", ЕК ЦОР, решение (9 класс)

Вариант № 23 "Использование циклов в вычислительных алгоритмах", ЕК ЦОР, решение (9 класс)


  • Информатика

Поделитесь материалом с коллегами:

Практическое задание №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.

hello_html_2a5b4be.jpg

2. Разработать схему алгоритма для вычисления суммы ряда:


hello_html_6a0ff557.gif

Число 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.

hello_html_715e2d8c.jpg


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.

hello_html_m2553ced2.jpg

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.

hello_html_m294275f3.png


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.

hello_html_187714e.jpg





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.


hello_html_4d2acd04.png

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.

hello_html_m2128e6af.png

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.

hello_html_m256bd0e7.png

hello_html_m2d6d16df.png



4. Разработать схему алгоритма для вычисления N! (факториал числа N). Факториал вычисляется по формуле:

N!=hello_html_5b77c204.gif

Операцию вычисления факториала использовать нельзя!

Протестировать алгоритм для 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.

hello_html_m4301565e.png

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.

hello_html_7d48a84d.png

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.

hello_html_43ace489.png

hello_html_37f85d57.png

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.

hello_html_m3dce11c0.png



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.

hello_html_46464ba6.png

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.

hello_html_m6642cb6e.png


Автор
Дата добавления 25.01.2016
Раздел Информатика
Подраздел Другие методич. материалы
Просмотров908
Номер материала ДВ-378133
Получить свидетельство о публикации


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