© М.Е.Макарова

Презентация:



Advertisements
Похожие презентации
Процедуры в Turbo Pascal Шутилина Л.А.
Advertisements

Научиться использовать структурный подход в программировании – разбиение сложной задачи на более простые. Узнать, как для этого можно использовать подпрограммы-процедуры.
Шутилина Л.А. Процедуры в Turbo Pascal ( часть 1: процедуры с параметрами)
1 Программирование на языке Паскаль Процедуры. 2 Подпрограммы Задача: Построить фигуру: Особенность: Три похожие фигуры. общее: размеры, угол поворота.
Учитель НСШ Кумакшев А.Н, учитель БСШ2 Вахмистров Г.Г. Элективный курс по информатике «Процедуры и функции на языке Pascal».
Подпрограммы - процедуры. Очень часто в процессе выполнения программы требуется многократное выполнение какой-либо ее части. Лучше всего повторяющуюся.
Подпрограммы Дибиров Магомедшапи Дибиргаджиевич. Подпрограммы принцип модульности Подпрограммы – это «блоки», из которых собирается программа. Подпрограммы.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 5.
Подпрограммы Лекция 7. Ломаско Павел Сергеевич16 декабря 2013 г.
Подпрограммы. Субкомпетенции: 1. Обработка данных с помощью стандартных подпрограмм и подпрограмм, определённых пользователем. 2. Организация передачи.
Что такое структурный подход в программировании? Как он реализуется в ЯП Паскаль? Что такое процедура? Кто дает название процедуре? Где записывается процедура?
Процедуры и функции Вербицкая Ольга Владимировна, Заозерная школа 16.
Подпрограммы: процедуры и функции Информатика. 1. Подпрограммы При решении различных задач часто возникает необходимость проводить вычисления по одним.
Функции в Turbo Pascal Шутилина Л.А.
Подпрограммы Процедуры Функции Дибиров Магомедшапи Дибиргаджиевич.
Процедуры и функции Вспомогательные алгоритмы (подпрограммы) создаются тогда, когда возникает необходимость в многократном использовании одного и того.
Подпрограммы в Паскале.
Понятие подпрограмм. Подпрограммы в языке Паскаль.
Процедуры и функции в Паскале. Рекурсия. Подпрограммы Часто в задаче требуется повторить определенную последовательность операторов в разных частях программы.
Транксрипт:

© М.Е.Макарова

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

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

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

В Турбо-Паскале используются подпрограммы двух видов: процедуры и функции Описание процедуры имеет следующий вид:

Процедуры Без параметровС параметрами Параметры – переменные Параметры – значения

Р1 Р2 Р21

Составить программу для вычисления площади выпуклого 4-угольника, заданного длинами его сторон и диагональю. A B D C Диагональ делит 4-угольник на два 3-угольника, к которым применима формула Герона:

program Prog1; uses CRT; var AB, BC, CD, DA, AC, S1, S2, S, a, b, c, p: real; Procedure Ploshad1; begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); end; begin Clrscr; Writeln('Задайте стороны 4-х угольника ABCD и его диагональ AC'); readln (AB, BC, CD, DA, AC); a:=AB; b:=BC; c:=AC; Ploshad1; S1:=s; a:=DA; b:=AC; c:=CD; Ploshad1; S2:=s; Writeln ('Площадь ABCD= ', S1+S2:8:2); readln; end. A B D C 2 обращения к процедуре Команды присваивания, задающие значения a, b, c перед каждым вызовом процедуры Команды присваивания для сохранения результатов Связь процедуры Ploshad1 с остальными операторами происходит с помощью переменных a, b, c и s. Переменная p используется только внутри процедуры. Ее можно и описать в этой процедуре.

program Prog2; var AB, BC, CD, DA, AC, S1, S2, S, a, b, c: real; Procedure Ploshad1; var p:real; begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); end; begin Writeln('Задайте стороны 4-х угольника ABCD и его диагональ AC'); readln (AB, BC, CD, DA, AC); a:=AB; b:=BC; c:=AC; Ploshad1; S1:=s; a:=DA; b:=AC; c:=CD; Ploshad1; S2:=s; Writeln ('Площадь ABCD= ', S1+S2:8:2); readln; end.

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

P1 P2 P21

© М.Е.Макарова a a

Первый способ использования процедур не удобен из-за большого количества операторов присваивания, которые до обращения к процедуре определяют значения переменных a, d c. Процедуры с параметрами позволяют при вызове процедуры напрямую указывать переменные или константы для определения значений переменных a, b, c (тех, которые используются в тексте процедуры).

Procedure (Список параметров); Procedure Ploshad3 (var a, b, c, s: real); В основной программе процедура вызывается тоже с указанием параметров: (Список параметров); Ploshad3 (AB, BC, AC, S);

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

program Prog3; uses CRT; var AB, BC, CD, DA, AC, S1, S2: real; Procedure Ploshad3(var a, b, c, s :real); var p:real; begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); end; begin Clrscr; Writeln('Задайте стороны 4-угольника ABCD и его диагональ AC'); readln (AB, BC, CD, DA, AC); Ploshad3(AB, BC, AC, S1); Ploshad3(DA, AC, CD, S2); Writeln ('Площадь ABCD= ', S1+S2:8:2); readln; end. Формальные параметры Фактические параметры

Procedure (Список параметров); Procedure Ploshad3 (a, b, c: real; var s:real); В основной программе процедура вызывается аналогично: Ploshad3 (AB, BC, AC, S); Параметры-значения Параметры-переменные Параметры-значения используются для задания начальных значений в процедуре, Параметры-переменные для вывода результата.

program Prog4; uses CRT; var AB, BC, CD, DA, AC, S1, S2: real; Procedure Ploshad4( a, b, c: real; var s:real ); var p:real; begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); end; begin Clrscr; Writeln('Задайте стороны 4-х угольника ABCD и его диагональ AC'); readln (AB, BC, CD, DA, AC); Ploshad4(AB,BC,AC,S1); Ploshad4(DA,AC,CD,S2); Writeln ('Площадь ABCD= ', S1+S2:8:2); readln; end.

1.Соответствие между параметрами команды вызова процедуры и параметрами описания процедуры устанавливается не по именам параметров, а по порядку следования: Первый параметр в команде вызова соответствует первому параметру в описании процедуры, второй – второму и т.д. число фактических параметров должно соответствовать числу формальных параметров. Procedure Ploshad3(var a, b, c, s :real); Ploshad3(AB, BC, AC, S1);

2. Типы фактических параметров должны соответствовать типам формальных параметров. 3. Фактические параметры, соответствующие результатам вычислений в процедуре, должны быть только именами переменных. Procedure Ploshad3 (a, b, c: real; var s :real); Ploshad3 (АВ, 3, 6-2.7, S1); 4. Фактические параметры, соответствующие начальным значениям для процедуры, могут быть именами переменных, константами и выражениями соответствующего типа.

1.Выучить конспект. 2.Найти наибольшее из 4 чисел, используя процедуру нахождения наибольшего из 2-х чисел. 3.Составьте программу, в которой используется процедура с параметрами, которая в качестве входных данных получает три целых числа и вычисляет их сумму, произведение и среднее арифметическое.