§ 39. Программирование циклов.

Выполните тест: Оператор ввода, вывода и присваивания. 

5 больше 85%
4 от 75% до 85%,
3 от 50% до 75% 

Просмотреть презентацию и текст учебника и ответить на вопросы в тетради:

Презентации:
1) 39cikl.swf

Вопросы:

1) Записать в тетрадь 6 этапов решения расчетных  задач на компьютере.
2) Записать определение цикла.
3) Записать правила описания цикла:
                    с пред условием,
                    с параметром,
                    с пост условием.

4) Записать один из примеров программы FAKTORIAL.
5) Запустите wineC\soft9kl\PascalAlgo\PascalAlgo.exe
        Наберите программу. Объясните что делает  данная программа.
        Проверьте правильность работы  данной  программы.
        Приведите пример исходных данных для проверки правильности работы программы.

Лабораторная работа

Решить задачи из группы на оценку 
        оценка 3 набрать 15 баллов
        оценка 4 набрать 25 баллов
        оценка 5 набрать 40 баллов

1 уровень сложности  (5 б. за задание)

1. Написать на Паскале программу, которая запрашивает с клавиатуры N произвольных целых чисел и ищет их сумму.  Число N вводится с клавиатуры. Разработать для созданной программы не менее трёх  тестов и проверить на них правильность работы алгоритма.
Программма
Program p39na3_1;
var
   i,n,S,x :integer;
Begin
  write('Введите количество чисел: N=');
  read(n);
  S:=0;
  i:=1;
  While i<=n do
    begin
      write('Введите ',i,' число ');
      read(x);
      S:=S+x;
      i:=i+1;
    end;
  writeln('Сумма чисел = ',S);
end.

2. Составить на Паскале программу для вычисления суммы ряда: 391.gif
Число N вводится с клавиатуры.
Протестировать программу для
N=1(S=1.0000),N=2(S=1.5000),N=4(S=2.0833),N=6(S=2.4500).
Формат вывода переменной S:  writeln('Сумма чисел = ',S:1:4);

Программа (вместо ??? замените нужными символами):
Program p39na3_2;
var
   i,n :integer;
   S:real;
Begin
  write('Введите количество чисел: N=');
  
??? (n);
  S:=0;
  i:=1;
  
???  i<=n do
    begin
      S:=S+(1/i);
      i:=i+1;
    end;
  
??? ('Сумма чисел = ',S:1:4);
end.


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

Программа (вместо ??? замените нужными символами):
Program p39na3_3;
var i,n,S :integer;
Begin
  write('
???N=');
  read(n); S:=??? ; i:=3;
  
??? i<=n do
     begin s:=s*2; i:=i+3 end;
  writeln('
Сумма амёб через ' ,???, ' часов = ',???);
end.


4. Дано натуральное число N и действительное число x.
Вычислить сумму ряда: sin x + sin 2x+sin 3x+…sin N*X
Протестировать программу для x=1.5 и N=3. Проверить правильность ответа на калькуляторе.

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

2 уровень сложности  (10 б. за задание)

1. Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный S путь пробежит спортсмен за N дней?
Протестировать
программу для
N=3 (s=33.10 км.) и N=7 (s=94.87 км.).

2. Составить программу, которая печатает таблицу умножения и таблицу сложения для числа N в десятичной системе счисления.
Протестировать
программу для чисел 6 и 9.

3. Составить программу, которая запрашивает пароль (четырёхзначное число 1945) до тех пор, пока он не будет правильно введён.
Протестировать
программу.

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

 5. Найти все делители натурального числа N.
Протестировать программу для
N=10, N=75, N=99, N=13.

6. Написать программу вычисления N! (факториал числа N).
                                           Факториал вычисляется по формуле:
392.gif
Протестировать программу для N=0, N=2 и N=4.

3 уровень сложности  (15 б. за задание)

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

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

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

4. Вывести на экран все простые числа в диапазоне от 2 до N.
Протестировать программу для
N=100, N=300.

5. Даны натуральное N и действительное x. Вычислить сумму ряда:
sin x+sin x2+sin x3+…+sin xN
Протестировать программу для
                    а)
x=0.5, N=3,
                    б)
x=1, N=5.
Проверить
правильность её работы с помощью калькулятора.

6. Построить таблицу истинности для логического выражения (A OR B) AND C.

Домашнее задание:
прочитать §39 ответить на вопросы