воскресенье, 15 января 2012 г.

Урок 13. Цикл for (продолжение)

1. Выполните задания с циклом for:

Чему будет равно значение переменно s после выполнения программы?
var s, i: integer;
begin
s:=0;
for i:=1 to 10 do
s:=s+i;
s:=s*10;
end.
2. Рассмотрим решение ДЗ
Решение задачи for19.pas:
var i: integer;
n:real;
begin
writeln('Найти N!');
write('Введите число N: ');
readln(n);
for  i:=1 to trunc(n) do  n:=n*i;
writeln('N!=',n:20:0);
end.


Решение задачи for20.pas:
var i,n: integer;
s,p:real;
begin
writeln('Найти 1!+2!+... N!');
write('Введите число N: ');
readln(n);
p:=1; s:=0;
for  i:=1 to n do  begin p:=p*i; s:=s+p;   end;
writeln('1!+2!+... N!',s:20:0);
end.


Решение задачи for24.pas:
var n,i: integer;
x,s,ai:real;
begin
writeln('Найти X - X^2 /(2!)+ X^4 /(4!)- ... +(-1)^N*X^(2*N)/((2*N)!)');
write('Введите число N: ');
readln(n);
write('Введите значение x: ');
readln(x);
ai:=1;
for  i:=1 to n do
begin
     s:=s+ai;
     ai:=-ai*x*x/(2*i-1)/(2*i)
end;
writeln (s);
end.

3. Решение задач
Напишите самостоятельно программу для решения задачи for25.pas.

4. Домашнее задание
Решите задачи for21.pas, for26.pas.

понедельник, 19 декабря 2011 г.

Урок 12. Цикл for

1. Проверить решение ДЗ
Задача for7.pas.
var a,b,i,s: integer;
begin
writeln('Даны два числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно.');
write('Введите числа A и B в порядке возрвстания): ');
readln(a,b);
for  i:=a to b do
s:=s+i;
writeln();
writeln('Сумма чисел: ',s);
end.

2. Программируем вместе и самостоятельно
Вместе: for10.pas. Самостоятельно: for11.pas.
Вместе: for13.pas. Самостоятельно: for14.pas.
Вместе: for23.pas. 


3. ДЗ
Решите самостоятельно: for19.pas, for20.pas, for24.pas.

4. По результатам II четверти
В этой четверти на первое место вырвался Мысливцев Андрей. Наши поздравления Андрею и пожеланиями дальнейших успехов! Второе место - Иванов Антон, третье - Богданов Алина. Тройка лидеров не изменилась))

воскресенье, 11 декабря 2011 г.

Урок 11. По итогам районной олимпиады по программированию

1. Результаты олимпиады
По результатам олимпиады победителем стал Мысливцев Андрей. Он справился с тремя задачами, что позволило ему набрать 62 балла. От всей души поздравляем его с этим неожиданным результатом!

Еще двое наших участников, Богданова Алина и Иванов Антон, справились с одной задачей, что принесло им по 25 баллов из 100. Для первого выступления на олимпиаде очень неплохо.
2. Условия олимпиадных задач




3. Оператор цикла c параметром (for)
Синтаксис:
for переменная:=значение1 to значение2 do оператор
или
for переменная:=значение1 downto значение2 do оператор

Оператор for вызывает оператор, находящийся после слова do, по одному разу для каждого значения в диапазоне от значения1 до значения2.

Переменная цикла, начальное и конечное значения должны иметь порядковый тип. Со словом to, значение переменной цикла увеличивается на 1 при каждой итерации цикла. Со словом downto, значение переменной цикла уменьшается на 1 при каждой итерации цикла. Не следует самостоятельно изменять значение управляющей переменной внутри цикла.

4. Решение задач
Решить задачу for2.pas.
Рассмотреть решение олимпиадной задачи B.

5. Домашнее задание
Решить задачи: for1.pas,  for7.pas.


понедельник, 5 декабря 2011 г.

Урок 10. Подготовка к районной олимпиаде

1. Обсудить решение задачи о гостинице (домашняя задача)
Для проверки (решения) используем следующую таблицу:
Остальные задачи 2010-2011 года можно посмотреть по ссылке тут
2. Задача о заносе

понедельник, 28 ноября 2011 г.

Урок 9. Зачет по теме Ветвление и оператор выбора

1. Рассмотреть решение ДЗ
Показать решение задачи case18.
var a, a0,a1,a2: integer;
s:string;
begin
writeln('Дано целое число в диапазоне 100–999.Вывести строку-описание данного числа,например:256—«двести пятьдесят шесть»,814—«восемьсот четырнадцать».');
write('Введите целое число от 100 до 999: ');
read(a);
a2:=a div 100;
case a2 of
1 : s:='сто ';
2 : s:='двести ';
3 : s:='триста ';
4 : s:='четыресто ';
5 : s:='пятьсот ';
6 : s:='шестьсот ';
7 : s:='семьсот ';
8 : s:='восемьсот ';
9 : s:='девятьсот ';
else write('Вы ввели неверное число');
end;
a1:=a div 10 mod 10;
a0:=a mod 10;
if (a1<>1) then    begin
            case a1 of
             0 : s:=s;
             2 : s:=s+'двадцать';
             3 : s:=s+'тридцать';
             4 : s:=s+'сорок';
             5 : s:=s+'пятьдесят';
             6 : s:=s+'шестьдесят';
             7 : s:=s+'семьдесят';
             8 : s:=s+'восемьдесят';
             9 : s:=s+'девяносто';
            else write('Вы ввели неверное число');
            end;
            case a0 of
             0 : s:=s;
             1 : s:=s+' один';
             2 : s:=s+' два';
             3 : s:=s+' три';
             4 : s:=s+' четыре';
             5 : s:=s+' пять';
             6 : s:=s+' шесть';
             7 : s:=s+' семь';
             8 : s:=s+' восемь';
             9 : s:=s+' девять';
             else write('Вы ввели неверное число');
            end;
                  end
          else  begin
            case a0 of
             0 : s:=s+' десять';
             1 : s:=s+' одиннадцать';
             2 : s:=s+' двенадцать';
             3 : s:=s+' тринадцать';
             4 : s:=s+' четырнадцать';
             5 : s:=s+' пятнадцать';
             6 : s:=s+' шестнадцать';
             7 : s:=s+' семнадцать';
             8 : s:=s+' восемнадцать';
             9 : s:=s+' девятнадцать';
             else write('Вы ввели неверное число');
           end;
                 end;
writeln ('Вы ввели число ',s);
end.


2. Зачет
Список задач из блока "Ветвление": 1-11, 13, 14, 16-22, 24, 26, 28.
Список задач из блока "Выбор": 3-15, 17, 19, 20.

3. ДЗ для подготовки к олимпиаде
Следующее занятие - подготовка к районной олимпиаде по программированию. Можно не посещать это занятие тем, кто не идет на олимпиаду.

понедельник, 21 ноября 2011 г.

Урок 8. Условный оператор. Оператор выбора

1. Рассмотреть решение ДЗ
Задача if27
var x: real;
var y: integer;
begin
writeln('Программа находит значение функции');
write('Введите аргумент): ');
read(x);
if  (x<0) then  y:=0;
if  (trunc(x)mod 2 =0) then  y:=1;
if  (trunc(x)mod 2 =1) then  y:=-1;
writeln('y=',y);
end.


Задача if29
var x: integer;
begin
writeln('Программа выводит строку-описание вида «отрицательное четное число»,«нулевоечисло»,«положительное нечетное число» и т.д.');
write('Введите целое число: ');
read(x);
if  (x=0) then  write('Нулевое число');
if  (x<0)and(x mod 2=0) then  write('Отрицательное четное число');
if  (x<0)and(x mod 2<>0) then  write('Отрицательное нечетное число');
if  (x>0)and(x mod 2=0) then  write('Положительное четное число');
if  (x>0)and(x mod 2<>0) then  write('Положительное нечетное число');
end.

2. Самостоятельно решите задачу if30

3. Оператор выбора CASE

Оператор выбора работает следующим образом. Сначала вычисляется значение выражения, стоящее после зарезервированного слова case, а затем выполняется оператор (или составной оператор), соответствующий результату вычисления выражения.
Если списке выбора не окажется константы равной вычисленному значению ключа. В этом случае управление передается оператору, стоящему за словом else.

case выражение of
значение1 : оператор (группа операторов);
значение2 : оператор (группа операторов);
. . . 
значениеN : оператор (группа операторов)
else оператор (группа операторов);
end;
Рассмотрим его использование на примере следующих задач (стр. 22 электронного учебника): case1.pas, case16.pas.


4. Домашнее задание
Напишите программы для решения следующих задач: case2.pas, case18.pas.

понедельник, 14 ноября 2011 г.

Урок 7. Условный оператор

1. Рассмотреть решение "Задачи ни каникулы"
Для проверки правильности работы программы можно протестировать ее по следующей таблице:
С этой задачей успешно справились двое наших учащихся: Мысливцев Андрей и Иванов Антон.
2. Решение задач на ветвление
Пишем вместе программы для решения задач: if25, if12, if23. Для решения задач необходимо нарисовать блок-схему.

3. Самостоятельное программирование.
Напишите программы для решения задач: if15.

4. Домашнее задание
Напишите программы для решения задач: if27, if29.