Учитель информатики и ИКТ первой квалификационной категории МОУ Лицей № 15 Заводского района г. Саратова – Канаева Галина Васильевна. ПРЕДМЕТ Информатика и ИКТ ТЕМА: «Подпрограммы в языке Паскаль» ЦЕЛЬ УРОКА: Дать учащимся представление о подпрограммах и возможностях их использования. Показать на примерах механизм реализации подпрограмм с помощью процедур. ЗАДАЧИ: Образовательные Использовать специальные термины при ответе на вопросы Формировать умение применять полученные знания в процессе создания и отладки программ Развивающие Развивать внимание, наблюдательность, память, логическое мышление Развивать умение анализировать и систематизировать необходимый для работы материал Развивать навыки принимать решения самостоятельно Воспитательные Соблюдать правила техники безопасности в кабинете информатики Воспитывать культуру поведения, иметь свой взгляд на способ решения поставленной задачи, уметь выслушивать противоположную точку зрения ПЛАН I. Повторение материала. II. Изучение нового материала. III. Итог урока. IV. Домашнее задание. Ход урока I. Повторение материала. 1. Какова структура программы? 2. Обязателен ли заголовок программы? 3. Перечислите разделы описаний 4. Какие служебные слова служат для описания переменных? 5. Какое служебное слово является началом основной части программы? 6. Как заканчивается программа? 1 PROGRAM ИМЯ; (можно не писать) 1. CONST 2. TYPE 3. VAR 4. PROCEDURE, FUNCTION BEGIN Тело программы END. А сейчас будем разгадывать КЛЮЧВОД, заполняя его – повторим операторы, служебные слова языка Паскаль Воспользовавшись буквами – подсказками восстановите кроссворд. Ключевое слово PROCEDURE 1 2 3 4 5 6 7 P R O C E D U 8 9 10 11 10 12 5 11 10 12 13 14 15 16 17 18 19 13 9 8 2 7 5 5 18 1 2 11 3 10 15 8 4 5 13 6 2 17 8 4 6 13 5 8 14 16 10 9 18 11 2 19 10 16 5 17 9 6 5 9 2 2 7 2 5 3 9 9 6 16 Заполненный КЛЮЧВОРД – 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 P R O C E D U T N I G B F O S 10 I 12 B 5 E 11 G 10 I L A W H 13 F 9 N 8 T 2 R 7 U 5 E 5 E 18W 1 P 2R 11 G 3 O 10 I 15 S 8 T 4 C 5 E 13 F 6 D 2 R 17 A 8 T 4 C 6 D 13 F 5 E 8 T 14 O 16 L 10 I 9 N 18W 11 G 19 H 5 E 17 A 9 N 6 D 16 L 5 E 9 N 2 R 2 R 7 U 2 R 10 I 16 L 5 E 3 O 9 N 9 N 6 D II. Изучение нового материала. При создании программы для решения сложной задачи программисты выполняют разделение этой задачи на подзадачи, подзадачи - на еще меньшие подзадачи и так далее, до легко программируемых элементарных задач. Со временем у каждого программиста через некоторое время появляется большой набор собственных заготовок, неординарных решений и т. д., которые он хотел бы использовать во всех своих творениях. Язык программирования Pascal позволяет разделять программу на отдельные части, которые называются подпрограммами. Сам термин подпрограмма говорит о том, что она подобна и подчинена основной программе. Подпрограммы решают три важные задачи, значительно облегчающие программирование: - избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты, т. е. сократить объем программы; - улучшают структуру программы, облегчая понимание при разборе; - уменьшают вероятность появления ошибок, повышают устойчивость к ошибкам программирования и непредвиденным по следствиям при модификации. Таким образом, подпрограмма - это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих местах программы обеспечивается лишь обращение к ней по имени. Общие принципы выделения подпрограмм: - если в программе необходимо переписывать одни и те же последовательности 3 команд, то стоит эту последовательность команд оформить в виде подпрограммы; - слишком длинную программу полезно разбить на составные части — подобно тому, как книгу разбивают на главы. При этом основная программа становится похожей на оглавление; - при решении задачи могут возникать слишком сложные под задачи. Целесообразней отладить их отдельно в небольших программах. Добавление этих программ в основную задачу будет легким, если они оформлены как подпрограммы; - все, что вы сделали хорошо в одной программе, вам захочется перенести в новые программы. В языке Pascal механизм подпрограмм реализуется в виде ПРОЦЕДУР (PROCEDURE) и ФУНКЦИЙ (FUNCTION), которые вводятся в программу с помощью своего описания, но их структура такая же, как и структура программы. Они различаются назначением и способом их использования. Процедуры предназначены для выполнения некоторой последовательности действий. Чтобы использовать подпрограмму – процедуру её надо описать и к ней надо уметь обращаться. Описание: 1. выбрать для неё имя. 2. определить параметры. 3. составить последовательность действий, которые надо выполнять, для получения результата. Обращение: вызов выполнения указанных действий, для конкретных значений параметров. Параметры бывают следующих видов: I. Глобальные – параметры описываются в головном модуле, доступны любой подпрограмме. I. Локальные – используются только в процедуре, они могут быть или не быть, описываются после слова VAR, с указанием типа. II. Формальные – описываются в заголовке процедуры, к ним относятся входные и выходные параметры. III. Входные – это и IV. параметры – значений описываются через запятую с указанием типа. При выходе из процедуры не сохраняются. III. Выходные – это и IV. параметры – переменные описываются после слова VAR через запятую, с указанием типа, при выходе из процедуры сохраняются. Эти параметры описываются в круглых скобках после имени процедуры II. Фактические – в головном модуле при вызове процедуры. При вызове (обращении) формальные параметры заменяются на фактические. Формальные и фактические должны совпадать по 3 –ём признакам: 4. по количеству 5. по типу 6. по порядку следования. 4 Описание процедуры Любая процедура начинается с заголовка, который является ее обязательной частью (в отличие от заголовка программы). Он состоит из служебного слова Procedure, за которым следует имя процедуры, а в круглых скобках - список формальных параметров. После заголовка могут идти те же разделы, что и в программе. Таким образом, общий вид будет следующим: Рrосеdиге <имя> (формальные параметры); VAR (описание локальных параметров, они могут быть или не быть) begin тело процедуры end; (конец процедуры) BEGIN (головного модуля) Фактические параметры END. Используя подпрограмму – процедуру рассмотрим несколько задач 1.Составить программу сложения 2-х чисел, значения вводятся с клавиатуры. uses crt ; (глобальные) (формальные) var a,b,s:real; procedure summa (x,y:real; var s:real); begin (параметры – переменные, выходные, при выходе сохраняются) s:=x+y; (параметры – значений , входные, при выходе не сохраняются) end; begin writeln('bbedite 2 chisla ');read(a,b); summa(a,b,s); writeln('s=',s:3:1); readkey; end. 2. Составить программу нахождения максимального из четырёх чисел, вводимых с клавиатуры. uses art; var a,b,s,c,d:real; procedure maxim (x,y: real; var s:real); begin if x<y then s: =y else s: =x; end; begin clrscr; writeln('bbedite 4 chisla ');readln(a,b,c,d); В переменную S заносим большее из двух чисел А и В. maxim(a,b,s); 5 В переменную S заносим большее из двух чисел С и S. maxim(c,s,s); В переменную S заносим большее из двух чисел D и S. maxim(d,s,s);} writeln('max=',s:3:I); readkey; end. Произвести отладку на компьютере. III. Итак, мы познакомились с новым понятиям: подпрограмма, процедура. Узнали, какие параметры необходимо для работы с процедурами. Структуру процедуры. Описание. IV. Домашнее задание 1. Треугольник задан координатами вершин, вычислить периметр, площадь. Вычисление длин сторон оформить с помощью процедуры. Объяснение: – чтобы подсчитать длину одной стороны необходимо 4 числа X2,Y2 A X1,Y1 B C X1,Y1,X2,Y2,X3,Y3 – входные параметры A,B,C – промежуточные параметры P,S – выходные периметр, площадь Р1 - полупериметр X3,Y3 – формула для подсчёта длины: A= ( x2 x1) * ( x2 x1) ( y2 y1) * ( y2 y1) Какая функция в Паскале означает корень квадратный? – SQRT означает возведение в квадрат – SQR – периметр находим по формуле Р= A+B+C – формула для нахождения площади: S= P1* ( P1 A) * ( P1 B) * ( P1 C) – сколько раз будем обращаться к процедуре? – 3 раза 6