Циклические программы
Категорія: Інформатика

Цель: закрепить теоретические знания о различных видах циклов, о циклических блок-схемах, практические умения и навыки работы по созданию циклических программ; показать преимущества циклических программ по сравнению с математическими вычислениями; формировать алгоритмический стил                ь мышления; поддерживать постоянный интерес к исследуемому предмету; привлекать самостоятельность и нестандартность мышления при составлении программ.Наглядность, технические средства: - карточки-задания; - плакаты; - компьютеры Celeron 1.7, Celeron 2; - языки программирования Gwbasic и Pascal. Ход урока I. Организационный момент Сообщение темы урока, плана занятий. II. Актуализация опорных знаний 1) Что такое цикл? 2) Какие из приведенных блок-схем соответствуют циклам? 3) Какие виды циклов вы знаете? 4) Назовите оператор цикла, когда известно количество повторений на Pascal? 5) На каком языке программирования оператор аналогичен? Отличие. 6) Неизвестно количество повторений. Назовите оператор в Pascal, Gwbasic. 7) Каким образом вычисляются суммы: а) 1+2+...+100; б) 5+10+15+...1000; в) 1+3+9+...3n; г) cols+cos2+...+cosn; д) 2+4+8+...2N; e) 7+14+21+... 8) Если применить математические знания, сумма а) и в) - это сумма каких элементов; г) и д) - это сумма каких? 9) Назовите и запишите формулы суммы и n-го элемента арифметической, геометрической прогрессий. III. Закрепление практических умений Решаем задачу, записанную на доске. Найти сумму элементов, кратных 7 и меньших 1238. Первый ученик - комментированное решение у доски на языке Pascal. Второй ученик - самостоятельно у доски на языке Gwbasiс. Третий ученик - самостоятельно у доски математическое решение.   Program suma; var n:integer; s:longint; begin s:=0; n:=1; while 7*n < 1238 do begin s:=s+7*n; n:=n+1; end; write(s); end 10 n=1 20 while 7*n < 1238 30 s=s+7*n 40 n=n+1 50 wend 60 print s 70 end   An=7n<1238; n < 1238/7»176,8 n=176 S=(7+176*7)/2*176=109032. Затем второй и третий ученики рассказывают ход написания программы и математическое решение. Учащиеся конспектируют. Переход в компьютерный класс. Мы должны проверить, совпадают ли результаты составленных программ. Первый вариант: работают на Gwbasic, второй вариант - на Pascal. Сверяем результаты. Делаем вывод. Как легче решать задачу: составить программу или математически? Рассмотрим следующую задачу. 1+3+32+33+...+3n. Вычислите математически при n=3. S=40. Составляем на Gwbasic. 10 input n 20 for i=0 to n 30 S=s+3^i 40 next i 50 print s Проверяем ответ при n=3. Оставляем открытым окно. Составляем на Pascal. Program suma; Var z, n, i :integer; S:longint; Begin Read(n); S:=0; z:=1; For i:=0 to n do Begin S:=s+z; Z:=z*3; End; Write(s); End. Сверяем три ответа. IV. Работа в группах Задания по карточкам. Составить программы на двух языках программирования. Показать совпадающие ответы. Оценка по результату программ. V. Подведение итогов. Домашнее задание Открыть файл «Домашнее задание» на Рабочем столе. Запишите в тетради. Автор: Н. Вирченко