1053685
столько раз учителя, ученики и родители
посетили сайт «Инфоурок»
за прошедшие 24 часа
+Добавить материал
и получить бесплатное
свидетельство о публикации
в СМИ №ФС77-60625 от 20.01.2015
Дистанционные курсы профессиональной переподготовки и повышения квалификации для педагогов

Дистанционные курсы для педагогов - курсы профессиональной переподготовки от 1.410 руб.;
- курсы повышения квалификации от 430 руб.
Московские документы для аттестации

ВЫБРАТЬ КУРС СО СКИДКОЙ ДО 90%

ВНИМАНИЕ: Скидка действует ТОЛЬКО до конца апреля!

(Лицензия на осуществление образовательной деятельности №038767 выдана ООО "Столичный учебный центр", г.Москва)

ИнфоурокИнформатикаКонспектыИспользование циклов в вычислительных алгоритмах

Использование циклов в вычислительных алгоритмах

библиотека
материалов
Скачать материал целиком можно бесплатно по ссылке внизу страницы.

Курбет Елена Николаевна учитель информатики МБОУ «Открытый космический лицей», г. Симферополь


Практическое задание №23

Тема: Использование циклов в вычислительных алгоритмах

1 уровень сложности

1. Разработать схему алгоритма, который запрашивает N произвольных целых чисел и ищет их сумму. Число N вводится с клавиатуры. Разработать для созданного алгоритма не менее трёх тестов и проверить на них правильность работы алгоритма, где S = 1+2+3+…+N

Program odin_odin;

Var s:longint;

n,i:integer;

Begin

writeln('Vvedite n');

readln(n);

s:=0;

for i:=1 to n do s:=s+i;

writeln('summa = ',s);

End.

hello_html_m4877fa39.png



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


hello_html_6a0ff557.gif

Число N вводится с клавиатуры.

Протестировать алгоритм для N=1, N=2, N=4, N=6. Правильность ответов проверить с помощью калькулятора.

Program odin_dva;

Var N, i: integer;

S: real;

Begin

write('Vvedite celoe chislo N = ');

readln(N);

S:=0;

for i := 1 to N do

begin

S := S + 1 / i;

end;

writeln('S = ', S);

end.

hello_html_m5a3dc3e.png



3. Одноклеточная амёба каждые три часа делится на 2 клетки. Разработать схему алгоритма для определения, сколько амёб будет через 3, 6, 9, 12 и 24 часа.

Program odin_tri;

Var a: longint;

n,i:integer;

Begin

a:=1;

i:=3;

while i<=24 do

begin

a:=a*2;

writeln ('proshlo t= ',i, ' ameb - ',a);

i:=i+3;

end;

End.

hello_html_m476637bf.png



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

sin x + sin 2x+sin 3x+…sin N*X

Протестировать алгоритм для x=1.5 и N=3. Проверить правильность ответа на калькуляторе.

Program odin_cheturi;

Var s,x: real;

n,i:integer;

Begin

writeln('Vvedite x');

readln(x);

writeln('Vvedite n');

readln(n);

s:=0;

for i:=1 to n do

s:=s+sin(x*i);

writeln ('summa = ',s);

End.

hello_html_5bd91bf4.png



5. Разработать схему алгоритма для вычисления N-ой степени числа a (aN). Протестировать алгоритм для а) a=3 и N=4, б) a=2 и N=5.

Program odin_pjat;

Var s: real;

a,n,i:integer;

Begin

writeln('Vvedite a');

readln(a);

writeln('Vvedite n');

readln(n);

s:=1;

for i:=1 to n do

s:=s*a;

writeln ('step = ',s);

End.

hello_html_m2acc5136.png



2 уровень сложности

1. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за N дней? Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для N=3 и N=7.

Program dva_odin;

Var s,s1:real;

n,i:integer;

Begin

writeln('Vvedite n');

readln(n);

s1:=10;

s:=s1;

for i:=2 to n do

begin

s1:=1.1*s1;

s:=s+s1;

end;

writeln('summa = ',s);

End.

hello_html_m1317d844.png



2. Ежемесячная стипендия студента составляет A рублей в месяц, а расходы на проживание превышают стипендию и составляют B рублей в месяц. Рост цен ежемесячно увеличивает расходы на 3%. Разработать схему алгоритма для расчёта необходимой суммы денег, которую надо единовременно попросить у родителей, чтобы можно было прожить учебный год (10 месяцев), используя только эти деньги и стипендию. Протестировать алгоритм для следующих исходных данных:

а) A=1000, B=1100 б) A=900, B=1000 в) A=600, B=1200

Program dva_dva;

Var a,b,s:real;

i:integer;

Begin

write('Vvedite razmer stipendii ');

readln(a);

write('Vvedite razmer rashodov ');

readln(b);

s:=0;

for i:=1 to 10 do begin

s:=s+b;

b:=b*1.03;

end;

s:=s-a*10;

writeln('Neobhodimo poprosit u roditelej summu= ',Round(s));

End.

hello_html_m6c4d8219.png

3. Разработать схему алгоритма для нахождения всех делителей натурального числа N. Протестировать алгоритм для N=10, N=75, N=99, N=13.

Program dva_tri;

Var n,d:integer;

Begin

writeln('Vvedite n');

readln(n);

d := 1;

writeln('Deliteli chisla:');

repeat

if n mod d = 0 then write(d, ' ');

d := d + 1

until d > n div 2;

writeln(n);

End.

hello_html_m2bb10961.png



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

N!=hello_html_5b77c204.gif

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

Протестировать алгоритм для N=0, N=2 N=4.

Program dva_cheturi;

Var f:longint;

n,i:integer;

Begin

writeln('Vvedite n');

readln(n);

f:=1;

for i:=1 to n do f:=f*i;

writeln('factorial = ',f);

End.

hello_html_m52505ec5.png



3 уровень сложности

1. Дано натуральное число N. Разработать схему алгоритма для вычисления суммы ряда: S=1!+2!+3!+…+N! (N>1)

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

Протестировать алгоритм для N=3 и N=5

Program odin_tri;

Var f,s:longint;

n,i:integer;

Begin

writeln('Vvedite n>1');

readln(n);

f:=1;

s:=0;

for i:=1 to n do

begin

f:=f*i;

s:=s+f;

end;

writeln('summa = ',s);

End.

hello_html_4a64f008.png



2. Покупатель должен заплатить в кассу S рублей. У него имеются монеты в 1, 2 и 5 рублей, а также купюры достоинством в 10, 50, 100 и 500 рублей (достаточное количество). Сколько монет и купюр разного достоинства отдаст покупатель, если он начинает платить с самых крупных? Операции целочисленного деления (div и mod) использовать нельзя. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм для S=567, S=1025, S=64, S=13.

Program tri_dva;

Var m1,m2,m5,k10,k50,k100,k500,s:integer;

begin

write('Vvedite s');

read(s);

m1:=0; m2:=0; m5:=0;

k10:=0; k50:=0; k100:=0; k500:=0;

while s>0 do

begin

if s>=500 then begin s:=s-500; k500:=k500+1; end else

if s>=100 then begin s:=s-100; k100:=k100+1; end else

if s>=50 then begin k50:=k50+1; s:=s-50; end else

if s>=10 then begin s:=s-10; k10:=k10+1; end else

if s>=5 then begin m5:=m5+1; s:=s-5; end else

if s>=2 then begin m2:=m2+1; s:=s-2; end else

begin m1:=m1+1; s:=s-1; end;

end;

write('500p= ',k500,';'); write(' 100p= ',k100,';'); write(' 50p= ',k50,';');

write(' 10p= ',k10,';'); write(' 5p= ',m5,';'); write(' 2p= ',m2,';');

writeln(' 1p= ',m1,'.');

end.

hello_html_b7c40af.png

3. Числа Фибоначчи (fn) определяются формулами: f0=f1=1, fn=fn-1+fn-2 при n=2,3,…

Разработать схему алгоритма для вычисления числа Фибоначчи. Определить f10, f25, f40.

Program tri_tri;

Var n,p,p1,p2,i:longint;

Begin

writeln('Vvedite nomer iskomogo elementa Fibonachi ');

readln(n);

p1:=1; p2:=1;

if (n=1) and (n=2) then

writeln('Iskomoe znachenie',n,'-go elementa Fibonachi ravno 1')

else

begin

for i:=3 to n do

begin

p:=p1+p2;

p1:=p2;

p2:=p;

end;

writeln('znachenie',n,'-go elementa Fibonachi =',p);

end;

End.

hello_html_3590487d.png

4. Разработать схему алгоритма, определяющего, является ли заданное число N простым. Протестировать алгоритм для N=10, N=31, N=13, N=51.

Program tri_cheturi;

Var n, d, k : integer;

Begin

writeln('Vvedite chislo n'); readln(n);

d := 2; k := 0;

repeat

if n mod d =0 then k := k + 1;

d := d + 1

until d > n div 2;

if k = 0 then writeln('Chislo ', n,' prostoe')

else writeln('Chislo ', n,' sostavnoe');

End.

hello_html_m7dbcfd43.png



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

sin x+sin x2+sin x3+…+sin xN

Протестировать алгоритм для а) x=0.5, N=3, б) x=1, N=5. Проверить правильность его работы с помощью калькулятора.

Program tri_pjat;

Var s,x,y: real;

n,i:integer;

Begin

writeln('Vvedite x');

readln(x);

writeln('Vvedite n');

readln(n);

s:=0;

y:=1;

for i:=1 to n do

begin

y:=y*x;

s:=s+sin(y);

end;

writeln ('summa = ',s);

End.

hello_html_m76d293a4.png

Общая информация

Номер материала: ДA-015966

Вам будут интересны эти курсы:

Курс повышения квалификации «Табличный процессор MS Excel в профессиональной деятельности учителя математики»
Курс повышения квалификации «Информационные технологии в деятельности учителя физики»
Курс повышения квалификации «Методика преподавания информатики в начальных классах»
Курс повышения квалификации «Основы создания интерактивного урока: от презентации до видеоурока»
Курс повышения квалификации «Внедрение системы компьютерной математики в процесс обучения математике в старших классах в рамках реализации ФГОС»
Курс повышения квалификации «Организация работы по формированию медиаграмотности и повышению уровня информационных компетенций всех участников образовательного процесса»
Курс профессиональной переподготовки «Информатика: теория и методика преподавания в образовательной организации»
Курс «Фирменный стиль» (Corel Draw, Photoshop)
Курс «Оператор персонального компьютера»
Курс повышения квалификации «Развитие информационно-коммуникационных компетенций учителя в процессе внедрения ФГОС: работа в Московской электронной школе»
Курс повышения квалификации «Использование компьютерных технологий в процессе обучения в условиях реализации ФГОС»
Курс повышения квалификации «Введение в программирование на языке С (СИ)»
Курс профессиональной переподготовки «Управление в сфере информационных технологий в образовательной организации»
Курс повышения квалификации «Современные тенденции цифровизации образования»
Курс повышение квалификации «Применение интерактивных образовательных платформ на примере платформы Moodle»

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

Опубликуйте минимум 3 материала, чтобы БЕСПЛАТНО получить и скачать данную благодарность

Сертификат о создании сайта

Добавьте минимум пять материалов, чтобы получить сертификат о создании сайта

Грамота за использование ИКТ в работе педагога

Опубликуйте минимум 10 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Свидетельство о представлении обобщённого педагогического опыта на Всероссийском уровне

Опубликуйте минимум 15 материалов, чтобы БЕСПЛАТНО получить и скачать данное cвидетельство

Грамота за высокий профессионализм, проявленный в процессе создания и развития собственного учительского сайта в рамках проекта "Инфоурок"

Опубликуйте минимум 20 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Грамота за активное участие в работе над повышением качества образования совместно с проектом "Инфоурок"

Опубликуйте минимум 25 материалов, чтобы БЕСПЛАТНО получить и скачать данную грамоту

Почётная грамота за научно-просветительскую и образовательную деятельность в рамках проекта "Инфоурок"

Опубликуйте минимум 40 материалов, чтобы БЕСПЛАТНО получить и скачать данную почётную грамоту

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