Подпрограммы 10 класс конспект урока семакин

Обновлено: 07.07.2024

  • Для учеников 1-11 классов и дошкольников
  • Бесплатные сертификаты учителям и участникам

Тема: Вспомогательные алгоритмы и подпрограммы

Цель: понять, что такое подпрограммы, чем отличаются процедуры и функции, изучить особенности программирования с подпрограммой.

Задача1. Составьте программу определения количества четных и нечетных цифр в записи данного натурального числа. Используйте файл program28_1.pas

Write (‘введите число’);

11. writeln (‘Сумма четных цифр равна’, …);

12. writeln (‘Сумма нечетных цифр равна’, …);

4.закончить цикл нужно тогда, когда х станет равным 0

6. проверка четности числа

7 прибавление к сумме младшей четной цифры

8 прибавление к сумме младшей нечетной цифры

9. При каждом повторении цикла от числа х отбрасывается одна младшая цифра

Запись вспомогательных алгоритмов осуществляется с помощью подпрограмм. В Паскале различают два вида подпрограмм: … и …. Обмен между основной программой и процедурой производится через …

Процедура – вспомогательный алгоритм (подпрограмма), имеющая произвольное количество входных и выходных данных.

Функция – это подпрограмма, имеющая единственный результат (число, символ или объект другого типа). В блоке функции обязательно должен присутствовать оператор присваивания идентификатору функции результата

Задача 2 : требуется найти наибольший общий делитель трех величин: а+ b , а 2 + b 2 , a * b .

Используйте файл program28_ 2 .pas

program nod1; (с.157)

var a,b,c: integer ;

procedure evklid (m, n: integer ; var k: integer );

while m<>n do

write( 'a=' ); readln(a);

write( 'b=' ); readln(b);

program nod3; (с.160)

… - обращение к процедуре

… - обращение к функции

Задача3.Выделите красным цветом в procedure Operations обращение к процедуре

Выделите коричневым цветом обращение к функции MyFun

procedure Operations(a,b: integer );

writeln(a, ' + ' ,b, ' = ' ,a+b);

writeln(a, ' - ' ,b, ' = ' ,a-b);

writeln(a, ' * ' ,b, ' = ' ,a*b);

writeln(a, ' / ' ,b, ' = ' ,a/b);

writeln(a, ' div ' ,b, ' = ' ,a div b);

writeln(a, ' mod ' ,b, ' = ' ,a mod b);

Operations( 5 , 3 );

Operations( 7 , 4 );

function MyFun(x: real ): real ;

var h := (b-a)/n;

writeln( 'Таблица значений функции MyFun:' );

for var i := 0 to n do

writeln(x: 5 : 2 ,MyFun(x): 10 : 4 );

procedure kolco(r1,r2: real );

function Square(r1, r2: real): Real;

writeln(pi*abs(r1*r1-r2*r2):5:2)

begin
Square := Pi * abs(r2 * r2 - r1 * r1);
end;
begin
Write('r1, r2 = ');
ReadLn(r1, r2);
writeln('Функция = ', Square(r1, r2):5:2);
end.

Задача 5. Напишите процедуру, которая принимает параметр – натуральное число N – и выводит на экран линию из N символов '–'.

Введите N :

Домашнее задание – §23 разобрать примеры и выполнить №5 с.162

Краткое описание документа:

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

  • подготовка к ЕГЭ/ОГЭ и ВПР
  • по всем предметам 1-11 классов

Курс повышения квалификации

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


Курс повышения квалификации

Инструменты онлайн-обучения на примере программ Zoom, Skype, Microsoft Teams, Bandicam

  • Курс добавлен 31.01.2022
  • Сейчас обучается 24 человека из 17 регионов

Курс повышения квалификации

Педагогическая деятельность в контексте профессионального стандарта педагога и ФГОС

  • ЗП до 91 000 руб.
  • Гибкий график
  • Удаленная работа

Дистанционные курсы для педагогов

Свидетельство и скидка на обучение каждому участнику

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

5 605 902 материала в базе

Материал подходит для УМК

Самые массовые международные дистанционные

Школьные Инфоконкурсы 2022

Свидетельство и скидка на обучение каждому участнику

Другие материалы

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

Оставьте свой комментарий

  • 16.04.2018 3411
  • DOCX 480.8 кбайт
  • 177 скачиваний
  • Рейтинг: 5 из 5
  • Оцените материал:

Настоящий материал опубликован пользователем Дамбаева Санжидма Даба-Жалсановна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

Автор материала

40%

  • Подготовка к ЕГЭ/ОГЭ и ВПР
  • Для учеников 1-11 классов

Московский институт профессиональной
переподготовки и повышения
квалификации педагогов

Дистанционные курсы
для педагогов

663 курса от 690 рублей

Выбрать курс со скидкой

Выдаём документы
установленного образца!

Учителя о ЕГЭ: секреты успешной подготовки

Время чтения: 11 минут

Минпросвещения России подготовит учителей для обучения детей из Донбасса

Время чтения: 1 минута

Школы граничащих с Украиной районов Крыма досрочно уйдут на каникулы

Время чтения: 0 минут

Онлайн-тренинг: нейрогимнастика для успешной учёбы и комфортной жизни

Время чтения: 2 минуты

В Россию приехали 10 тысяч детей из Луганской и Донецкой Народных республик

Время чтения: 2 минуты

Курские власти перевели на дистант школьников в районах на границе с Украиной

Время чтения: 1 минута

Новые курсы: функциональная грамотность, ФГОС НОО, инклюзивное обучение и другие

Время чтения: 15 минут

Подарочные сертификаты

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

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.

Урок разработан для учащихся 10 класса, изучающих информатику на профильном уровне. Цель урока: дать учащимся представление о подпрограммах и возможностях их использования. Показать на примерах механизм реализации подпрограмм с помощью процедур. На уроке осуществляются устный опрос и самостоятельная работа – заполнение Ключворда, присутствует лекционный материал, проводится практическая работа в среде языка программирования Паскаль. Учащиеся получают представление о подпрограмме – процедура, параметрах, применение процедуры при решении задач.

ВложениеРазмер
4528_podprogramma.zip 43.4 КБ

Предварительный просмотр:

Учитель информатики и ИКТ первой квалификационной категории МОУ Лицей № 15 Заводского района г. Саратова – Канаева Галина Васильевна.

ПРЕДМЕТ Информатика и ИКТ

ЦЕЛЬ УРОКА: Дать учащимся представление о подпрограммах и возможностях их использования. Показать на примерах механизм реализации подпрограмм с помощью процедур.

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

Формировать умение применять полученные знания в процессе создания и отладки программ

Развивать внимание, наблюдательность, память, логическое мышление

Развивать умение анализировать и систематизировать необходимый для работы материал

Развивать навыки принимать решения самостоятельно

Соблюдать правила техники безопасности в кабинете информатики

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

I . Повторение материала.

II . Изучение нового материала.

III . Итог урока.
IV . Домашнее задание.

  1. Какова структура программы?
  2. Обязателен ли заголовок программы?
  3. Перечислите разделы описаний
  4. Как ие служебные слова служат для описания переменных ?
  5. Какое служебное слово является началом основной части программы?
  6. Как зак анчивается программа ?

PROGRAM ИМЯ; (можно не писать)

4. PROCEDURE , FUNCTION

А сейчас будем разгадывать КЛЮЧВОД, заполняя его – повторим операторы, служебные слов а языка Паскаль

Воспользовавшись буквами – подсказками восстановите кроссворд.

Ключевое слово PROCEDURE

II . Изучение нового материала.

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

Язык программирования Pascal позволяет ра з делять программу на отдельные части, которые называются по д программами. Сам термин подпрограмма говорит о том, что она подобна и подчинена основной программе. Подпрограммы решают три важные задачи, значительно облегчающие программирование:

  • избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты, т. е. сократить объем пр о граммы;
  • улучшают структуру программы, облегчая понимание при разборе;
  • уменьшают вероятность появления ошибок, повышают ус тойчивость к ошибкам программирования и непредвиденным п о следствиям при модификации.

Таким образом, подпрограмма - это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих ме с тах программы обеспечивается лишь обращение к ней по имени.

О бщие принципы выделения подпрограмм:

- если в программе необходимо переписывать одни и те же последовательности команд, то стоит эту последовательность к о манд оформить в виде подпрограммы;

  • слишком длинную программу полезно разбить на составные части — подобно тому, как книгу разбивают на главы. При этом о с новная программа становится похожей на оглавление;
  • при решении задачи могут возникать слишком сложные по д задачи. Целесообразней отладить их отдельно в небольших пр о граммах. Добавление этих программ в основную задачу будет ле г ким, если они оформлены как подпрограммы;
  • все, что вы сделали хорошо в одной программе, вам захоче т ся перенести в новые программы.

В язык е Pascal механизм подпрограмм реал и зуется в виде ПРОЦЕДУР ( PRO CEDURE ) и ФУНКЦИЙ ( FUNCTION ) , которые вводятся в пр о грамму с помощью своего описания, но их структура такая же, как и структура программы. Они различаются назначением и способом их использования.

Процедуры предназначены для выполнения некоторой посл е довательности действий.

Чтобы использовать подпрограмму – процедуру её надо описать и к ней надо уметь обращаться.

  1. выбрать для неё имя.
  2. определить параметры.
  3. составить последовательность действий, которые надо выполнять, для получения результата.

О бращение : вызов выполнения указанных действий, для конкретных значений параметров.

Параметры бывают следующих видов:

I . Глобальные – параметры описываются в головном модуле, доступны любой подпрограмме.

I . Локальные – используются только в процедуре, они могут быть или не быть, описываются после слова VAR , с указанием типа.

II . Формальные – описываются в заголовке процедуры, к ним относятся входные и выходные параметры.

III . Выходные – это и IV . параметры – переменные описываются после слова VAR через запятую, с указанием типа, при выходе из процедуры сохраняются.

Эти параметры описываются в круглых скобках после имени процедуры

II . Фактические – в головном модуле при вызове процедуры.

При вызове (обращении) формальные параметры заменяются на фактические.

Формальные и фактические должны совпадать по 3 –ём признакам:

  1. по количеству
  2. по типу
  3. по порядку следования.

Любая п роцедура начинается с заголовка, который является ее обязательной частью (в отличие от заголовка программы). Он состоит из служебного слова Procedure , за которым следует имя процедуры, а в круглых ско б ках - список формальных параметров. После заголовка могут идти те же разделы, что и в программе. Таким образом, общий вид будет следующим:

Р r осеd иге (формальные парамет ры) ;

VAR (описание локальных параметров, они могут быть или не быть)

end; (конец процедуры)

BEGIN (головного модуля)

Используя подпрограмму – процедуру рассмотрим несколько задач

1. Составить программу сложения 2-х чисел, значения ввод ятся с клавиатуры.

uses crt ; ( глобальные ) ( формальные )

procedure summa ( x,y:real ; var s:real);

begin ( параметры – переменные, выходные, при выходе с охраняются )

s := x + y ; (параметры – значений , входные , при выходе не сохраняются)

writeln ( ' bbed ite 2 chisla ');read( a,b );

2 . Составить программу нахождения максимального из четырёх чисел, вводимых с клавиатуры.

procedure maxim ( x,y : real; var s:real);

writeln ( ' bbedite 4 chisla '); readln ( a,b ,c,d );

В переменную S заносим большее из двух чисел А и В.

В переменную S заносим большее из двух чисел С и S .

В переменную S заносим большее из двух чисел D и S .

Произвести отладку на компьютере.

  1. Итак, мы познакомились с новым понятиям: подпрограмма, процедура. Узнали, какие параметры необходимо для работы с процедурами. Структуру процедуры. Описание.
  1. Треугольник задан координатами вершин, вычислить периметр, площадь. Вычисление длин сторон оформить с помощью процедуры.
  • чтобы подсчитать длину одной стороны необходимо 4 числа

X2,Y2 X1,Y1,X2,Y2,X3,Y3 – входные параметры

A,B,C – промежуточные параметры

A B P,S – выходные периметр, площадь

Какая функция в Паскале означает корень квадратный? – SQRT

означает возведение в квадрат – SQR

  • периметр находим по формуле Р= A+B+C
  • формула для нахождения площади:
  • сколько раз будем обращаться к процедуре? – 3 раза

По теме: методические разработки, презентации и конспекты


Разработка уроков 7 класс по теме "Обработка оборок"

В данном материале 4 разработанных урока 7 класса по теме "Обработка оборок: Отделка швейных изделий. Виды отделки. Обработка отлетного среза оборки швом вподгибку двойной строчкой. Вт.

Методическая разработка урока 5 класс по теме "У врача"

Данная разработка может быть использована при прохождении темы " У врача" в 5 классе при любом УМК.


разработка урока 6 класса по теме Radio and Television

разработка урока 6 класса по теме Radio and Televisio.


Разработка урока 5 класс по теме "Среднее арифметическое"

Цель урока: Организация деятельности учащихся на закрепление и применения понятия среднего арифметического.

Разработка урока 5 класс по теме "Среднее арифметическое"

Разработка урока "Среднее арифметическое", 5 класс (ФГОС).


Презентация на тему "Подпрограммы в языке Паскаль"

Презентация на тему "Подпрограммы в языке Паскаль" можно использовать для изучения материала в 9 классе на два урока.

Урок-игра для 9-го класса по теме "Программирование на языке Паскаль".

Данный урок разработан для обобщения и повторения темы "Программирование на языке Паскаль".


Какие служебные слова служат для описания переменных?

Какое служебное слово является началом основной части программы?

Как заканчивается программа?

PROGRAM ИМЯ; (можно не писать)

4. PROCEDURE, FUNCTION

II. Изучение нового материала.

При создании программы для решения сложной задачи про­граммисты выполняют разделение этой задачи на подзадачи, под­задачи - на еще меньшие подзадачи и так далее, до легко програм­мируемых элементарных задач. Со временем у каждого программиста через некоторое время появляется большой набор собственных заготовок, неординарных решений и т. д., которые он хотел бы использовать во всех своих творениях.

Язык программирования Pascal позволяет раз­делять программу на отдельные части, которые называются под­программами. Сам термин подпрограмма говорит о том, что она подобна и подчинена основной программе. Подпрограммы решают три важные задачи, значительно облегчающие программирование:

избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты, т. е. сократить объем про­граммы;

улучшают структуру программы, облегчая понимание при разборе;

уменьшают вероятность появления ошибок, повышают устойчивость к ошибкам программирования и непредвиденным по­ следствиям при модификации.

Таким образом, подпрограмма - это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы. Она записывается однократно, а в соответствующих мес­тах программы обеспечивается лишь обращение к ней по имени.

Общие принципы выделения подпрограмм:

- если в программе необходимо переписывать одни и те же последовательности команд, то стоит эту последовательность ко­манд оформить в виде подпрограммы;

слишком длинную программу полезно разбить на составные части — подобно тому, как книгу разбивают на главы. При этом ос­новная программа становится похожей на оглавление;

при решении задачи могут возникать слишком сложные под­ задачи. Целесообразней отладить их отдельно в небольших про­граммах. Добавление этих программ в основную задачу будет лег­ким, если они оформлены как подпрограммы;

все, что вы сделали хорошо в одной программе, вам захочет­ся перенести в новые программы.

В языке Pascal механизм подпрограмм реали­зуется в виде ПРОЦЕДУР (PROCEDURE) и ФУНКЦИЙ (FUNCTION), которые вводятся в про­грамму с помощью своего описания, но их структура такая же, как и структура программы. Они различаются назначением и способом их использования.

Процедуры предназначены для выполнения некоторой после­довательности действий.

Чтобы использовать подпрограмму – процедуру её надо описать и к ней надо уметь обращаться.

выбрать для неё имя.

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

Обращение: вызов выполнения указанных действий, для конкретных значений параметров.

Параметры бывают следующих видов:

I. Глобальные параметры описываются в головном модуле, доступны любой подпрограмме.

I. Локальные используются только в процедуре, они могут быть или не быть, описываются после слова VAR, с указанием типа.

II. Формальные – описываются в заголовке процедуры, к ним относятся входные и выходные параметры.

III. Выходные – это и IV. параметры – переменные описываются после слова VAR через запятую, с указанием типа, при выходе из процедуры сохраняются.

Эти параметры описываются в круглых скобках после имени процедуры

II. Фактические – в головном модуле при вызове процедуры.

При вызове (обращении) формальные параметры заменяются на фактические.

Формальные и фактические должны совпадать по 3 –ём признакам:

по порядку следования.

Описание процедуры

Любая процедура начинается с заголовка, который является ее обязательной частью (в отличие от заголовка программы). Он состоит из служебного слова Procedure, за которым следует имя процедуры, а в круглых скоб­ках - список формальных параметров. После заголовка могут идти те же разделы, что и в программе. Таким образом, общий вид будет следующим:

Рrосеdиге (формальные параметры);

VAR (описание локальных параметров, они могут быть или не быть)

end; (конец процедуры)

BEGIN (головного модуля)

Используя подпрограмму – процедуру рассмотрим несколько задач

1.Составить программу сложения 2-х чисел, значения вводятся с клавиатуры.



uses crt ; (глобальные) (формальные)


procedure summa (x,y:real; var s:real);


begin (параметры – переменные, выходные, при выходе сохраняются)

s:=x+y; (параметры – значений , входные, при выходе не сохраняются)

writeln('bbedite 2 chisla ');read(a,b);

2. Составить программу нахождения максимального из четырёх чисел, вводимых с клавиатуры.

var a,b,s,c,d:real;

procedure maxim (x,y: real; var s:real);

clrscr;

writeln('bbedite 4 chisla ');readln(a,b,c,d);

В переменную S заносим большее из двух чисел А и В.

maxim(a,b,s);

В переменную S заносим большее из двух чисел С и S.

maxim(c,s,s);

В переменную S заносим большее из двух чисел D и S.

readkey;

Произвести отладку на компьютере.

Итак, мы познакомились с новым понятиям: подпрограмма, процедура. Узнали, какие параметры необходимо для работы с процедурами. Структуру процедуры. Описание.

Домашнее задание: п. 23.


-75%

Нажмите, чтобы узнать подробности

1. Семакин, И. Г. Информатика. Базовый уровень : учебник для 10 класса / И. Г. Семакин, Е. К. Хеннер,Т. Ю. Шеина. – 4-е изд. – М. : БИНОМ, Лаборатория Знаний, 2015. – 264 с. : ил.

2. Семакин, И. Г. Информатика. Базовый уровень. 10-11 классы: методическое пособие / И. Г. Семакин, Е. К. Хеннер. – М. : БИНОМ. Лаборатория знаний, 2015. – 100 с.

3. Залогова, Л. А. Информатика и ИКТ: Задачник-практикум : в 2 т. И74 Т. 1 / Л. А. Залогова [и др.]; под ред. И. Г. Семакина, Е. К. Хеннера. – 3-е изд. – М. : БИНОМ. Лаборатория знаний, 2011. – 309 с. : ил.

4. Цветкова, М. С. Информатика. УМК для старшей школы [Электронный ресурс] : 10-11 классы. Базовый уровень. Методическое пособие для учителя / Авторы-составители: М. С. Цветкова, И. Ю. Хлобыстова. – Эл. изд. – М. : БИНОМ. Лаборатория знаний, 2013. – 86 с. : ил.

Вспомогательные алгоритмы и подпрограммы

Место урока в изучаемой теме, разделе, курсе:

Тип урока

Открытие новых знаний

Цель деятельности учителя

Обучающая: сформировать представление о вспомогательных алгоритмах и разновидностях подпрограмм языка программирования Паскаль и умения их применять при решении задач на практике.

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

Развивающая: способствовать развитию памяти, внимания, логического и аналитического мышления учащихся, а также их познавательного интереса.

Задачи

сформировать представление о разновидностях подпрограмм языка программирования Паскаль;

сформировать представление о параметрах подпрограмм;

сформировать умения использовать подпрограммы при решении задач с помощью языка программирования Паскаль.

Термины, понятия

Вспомогательный алгоритм, подпрограмма

Образовательные ресурсы

Учебник: Семакин, И. Г. Информатика. Базовый уровень : учебник для 10 класса / И. Г. Семакин, Е. К. Хеннер, Т. Ю. Шеина. – М. : БИНОМ. Лаборатория знаний, 2015. – 264 с.

Планируемые результаты

Образовательные

Личностные: формирование ответственного отношения к учению, целостного научного мировоззрения.

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

Метапредметные: Умение соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности в процессе достижения результата, определять способы действий в рамках предложенных условий и требований, корректировать свои действия в соответствии с изменяющейся ситуацией, освоение обучающимися универсальных учебных действий (познавательные, регулятивные и коммуникативные).

Владеют базовыми понятиями по теме

Универсальные учебные действия (УУД)

Личностные УУД: широкая мотивационная основа учебной деятельности, включающая социальные, учебно-познавательные мотивы; ориентация на понимание причин успеха в учебной деятельности.

Познавательные УУД: постановка и формулирование проблемы, самостоятельное создание алгоритмов деятельности при решении проблем творческого и поискового характера, выбор наиболее эффективных способов решения задач в зависимости от конкретных условий, рефлексия способов и условий действия, контроль и оценка процесса и результатов деятельности.

Коммуникативные УУД: умение с достаточной полнотой и точностью выражать свои мысли в соответствии с задачами и условиями коммуникации; владение монологической и диалогической формами речи, умение работать индивидуально.

Регулятивные УУД: осознание возникшей проблемы, определение последовательности и составление плана и последовательности действий для решения возникшей проблемы.

Организация пространства

Формы работы

Технологии, методы, приемы обучения

Программно-технические ресурсы:

Необходимое техническое оборудование:

компьютер с операционной системой Windows 7 Профессиональная;

Программное обеспечение:

- пакет программ Microsoft Office;

Организация структуры урока

1 этап. Организационный момент (1 мин.)

Цель деятельности

Деятельность учителя

Деятельность ученика

Наглядные средства, ЭОР

Включение в деловой ритм. Подготовка класса к работе.

2 этап. Мотивация учебной деятельности. Актуализация знаний (5 мин)

Выявить уровень знаний по изученному материалу. Определить типичные недостатки и ошибки. Систематизировать теоретические знания.

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

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

- Иными словами такая программа выступает вспомогательным алгоритмом в решении задачи. С понятием вспомогательного алгоритма вы встречались в 9 классе. Вспомните, что называют вспомогательным алгоритмом?

- Для чего используются вспомогательные алгоритмы?

- А как называется вспомогательный алгоритм, записанный на языке программирования?

- Если в 9 классе вы рассматривали реализацию подпрограмм в рамках Алгоритмического языка программирования, то сегодня мы рассмотрим разновидности подпрограмм и их реализацию в Паскаль.

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

- Вспомогательный алгоритм – это алгоритм решения некоторой подзадачи исходной (основной) задачи.

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

- Вспомогательный алгоритм, записанный на языке программирования, называется процедурой.

Сформировать познавательные мотивы.

-Какие бы цели вы поставили перед собой на уроке?

Учащиеся записывают число, классная работа и тему урока в тетрадь.

Запись в тетрадях:

Учащиеся предлагают варианты целей урока.


4 этап. Первичное усвоение новых знаний (15 мин.)

Сформировать конкретные представления по теме и содержанию урока, побуждать учащихся самих искать решение задач.

- Важнейшим методологическим приёмом структурного программирования является декомпозиция решаемой задачи на подзадачи – более простые, с точки зрения программирования, части исходной задачи. Алгоритмы решения таких подзадач называются вспомогательными алгоритмами. Вспомогательным алгоритмом мы назовём алгоритм, по которому решается некоторая подзадача из основной задачи и который, как правило, выполняется многократно. Запишите данное определение понятия вспомогательного алгоритма, представленного также на слайде (слайд 2) в тетрадь.

- (слайд 3) Как уже вы говорили, в языках программирования вспомогательные алгоритмы называются подпрограммами. В Паскале различаются две разновидности подпрограмм: процедуры и функции.

- Рассмотрим использование процедуры как вспомогательного алгоритма на примере следующей задачи: даны два натуральных числа a и b. Требуется определить наибольший общий делитель трёх величин: a + b, a 2 +b 2 , a  b (слайд 4).

- Какой алгоритм в данной задаче будет являться вспомогательным?

- Данная задача решается с помощью алгоритма Евклида. На слайде представлена идея алгоритма Евклида на языке формулы (слайд 5), разъясним его подробнее. В самом простом случае алгоритм Евклида применяется к паре положительных целых чисел и формирует новую пару, которая состоит из меньшего числа и разницы между большим и меньшим числом. Процесс повторяется, пока числа не станут равными. Найденное число и есть наибольший общий делитель исходной пары.

- Приведём алгоритм решения поставленной задачи на учебном Алгоритмическом языке и проанализируем его (слайд 6).

- Из чего состоит алгоритм решения поставленной задачи?

- Как вы определили количество обращений к процедуре в основном алгоритме?

- Правильно (слайд 7). Здесь M, N и K являются формальными параметрами процедуры, M и N – параметры-аргументы, K – параметр-результат. Рассмотрим отличительные особенности параметров процедуры.

- Параметры подпрограмм используются для обмена значениями между вызываемой и вызывающей частями программы. Описываемые в заголовке объявления подпрограммы параметры называются формальными, а те, которые подставляются на их место при вызове, – фактическими (слайд 8). Запишите это в тетрадь.

- Параметры подпрограмм разделяются на параметры-значения, параметры-переменные и параметры-константы.

- Рассмотрим, как решение поставленной задачи программируется на языке программирования Паскаль (слайд 9). Основное отличие процедур в Паскале от процедур в Алгоритмическом языке состоит в том, что процедуры в Паскале описываются в разделе описания подпрограмм, а в Алгоритмическом языке процедура является внешней по отношению к вызывающей программе.

- В данном примере обмен аргументами и результатами между основной программой и процедурой производится через параметры. Описание процедуры на Паскале имеет следующий формат, представленный на слайде (слайд 10). Запишите его в тетрадь.

- Квадратные скобки указывают на то, что список формальных параметров может отсутствовать, то есть возможна процедура без параметров. Параметры могут быть параметрами-переменными и параметрами-значениями. На слайде (слайд 11) вы можете видеть запись параметров-переменных и параметров-значений, которые следует записать в тетрадь.

- Чаще всего аргументы представляются как параметры-значения, а для передачи результатов используются параметры-переменные. Процедура в качестве результата может передавать в вызывающую программу множество значений (в частном случае – одно), а может ни одного. Теперь рассмотрим правила обращения к процедуре. Обращение к процедуре производится в форме оператора процедуры, который вы можете видеть на слайде (слайд 12) и должны записать его в тетрадь.

- Если описана процедура с формальными параметрами, то обращение к ней производится оператором процедуры с фактическими параметрами. Можно выделить следующие правила соответствия между формальными и фактическими параметрами: соответствие пo количеству, соответствие по последовательности и соответствие пo типам (слайд 13).

- Выясним, как же происходит взаимодействие между формальными и фактическими параметрами. Взаимодействие формальных и фактических параметров через параметры-переменные называется передачей по ссылке: при обращении к процедуре ей передается ссылка на переменную, заданную в качестве фактического параметра. Эта ссылка и используется процедурой для доступа к этой переменной (слайд 14).

- Другой вариант взаимодействия формальных и фактических параметров называется передачей по значению: вычисляется значение фактического параметра (выражения), и это значение присваивается соответствующему формальному параметру.

- Вернёмся к рассмотренному примеру решения задачи с использованием процедуры (слайд 15). Формальные переменные М и N являются параметрами-значениями. Это аргументы процедуры. Параметр К является параметром-переменной. В ней получается результат работы процедуры. В обоих обращениях к процедуре соответствующим фактическим параметром является переменная С, через неё основная программа получает результат.

- Рассмотрим другой вариант программы, решающей ту же задачу, однако в неё используется процедура без параметров (слайд 16). Для её понимания нам требуется объяснить новое для нас понятие, называемое областью действия описания.

- Областью действия описания любого программном объекта (переменной, типе, константы и т. д.) является тот блок, на который это описание распространяется. Если данный блок вложен в другой (подпрограмма), то присутствующие во вложенном блоке описания являются локальным. Они действуют только в пределах внутреннего блока. Описания же, расположенные во внешнем блоке, называются глобальными по отношению к внутреннему блоку. Если глобально описанный объект используется во внутреннем блоке, то на него распространяется внешнее (глобальное) описание (слайд 17).

-(слайд 18) Вернёмся к программам NOD1 и NOD2. Какие переменные в программе NOD1 являются локальными, а какие глобальные?

- Правильно. Однако внутри процедуры переменные A, B, C не используются. Связь между внешним блоком и процедурой осуществляется через параметры.

- B программе NOD2 все переменные являются глобальными. В процедуре Evklid нет ни одной локальной переменной (нет и параметров). Переменные М и N, используемые в процедуре, получают свои значения через оператор присваивания в основном блоке программы и изменяют значения в подпрограмме. Результат получается в глобальной переменной К, значение которой выводится на экран. Здесь обмен значениями между основной программой и процедурой производится через глобальные переменные.

- Использование механизма передачи через параметры делает процедуру более универсальной, независимой от основной программы. Однако в некоторых случаях оказывается удобнее использовать передачу через глобальные переменные. Чаще такое бывает с процедурами, работающими с большими объемами информации. В этой ситуации глобальное взаимодействие экономит память компьютера.

- Теперь выясним, что такое подпрограмма-функция. Обычно функция используется в том случае, когда результаты работы подпрограммы должна быть скалярная (простая) величина. Тип результата называется типом функции. Формат описания функции представлен на слайде (слайд 19).

- У функции в списке формальных параметров могут присутствовать параметры-переменные и параметры-значения. Всё это – аргументы функции. Если аргументы передаются глобально, то параметры могут вообще отсутствовать.

- Программа решения рассмотренной выше задачи с использованием функции представлена на слайде (слайд 20).

- Давайте сравним решение задачи с помощью процедуры и с помощью функции и найдём отличие (слайд 21). В чём состоит отличие между данными подпрограммами?

- Правильно. Обращение к функции является операндом в выражении, его запись представлена на слайде (слайд 22). Запишите себе в тетрадь.

- Правила соответствия между формальными и фактическими параметрами те же. Сравнивая приведённые программы, можно сделать вывод, что программа NOD3 имеет определенные преимущества перед другими. Функция позволяет получить результат путем выполнения одного оператора присваивания. Здесь также иллюстрируется возможность того, что фактическим аргументом при обращении и функции может быть это же функция.

- По правилам стандарта Паскаля, возврат в вызывающую программу из подпрограммы происходит, когда выполнение подпрограммы доходит до ее конца (последний End). Однако в современных версиях Паскаля есть средство, позволяющее выйти из подпрограммы в любом ее месте. Это оператор-процедура Exit. На слайде (слайд 23) представлена функция определения большего из двух данных вещественных чисел.

- Подпрограмму Евклида можно составить иначе, если воспользоваться операцией mod (получение остатка от деления), имеющейся в Паскале. Идея алгоритма исходит из справедливости равенства, представленного на слайде (слайд 24). Тогда функцию Evklid можно переписать иным образом.

Читайте также: