ЗАПИСЬ ВСПОМОГАТЕЛЬНЫХ АЛГОРИТМОВ НА ЯЗЫКЕ Паскаль НАЧАЛА ПРОГРАММИРОВАНИЯ.

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



Advertisements
Похожие презентации
ЗАПИСЬ ВСПОМОГАТЕЛЬНЫХ АЛГОРИТМОВ НА ЯЗЫКЕ Паскаль НАЧАЛА ПРОГРАММИРОВАНИЯ.
Advertisements

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

ЗАПИСЬ ВСПОМОГАТЕЛЬНЫХ АЛГОРИТМОВ НА ЯЗЫКЕ Паскаль НАЧАЛА ПРОГРАММИРОВАНИЯ

Ключевые слова подпрограмма процедура функция рекурсивная функция

Подпрограммы Запись вспомогательных алгоритмов в языках программирования осуществляется с помощью подпрограмм. end. Структура описания подпрограммы аналогична структуре главной программы. Описание подпрограммы начинается с заголовка и заканчивается оператором end. Процедура Функция Подпрограмма

Процедуры Процедура - подпрограмма, имеющая произвольное количество входных и выходных данных. procedure procedure ( ; var: var: );begin end; Для вызова процедуры достаточно указать её имя со списком фактических параметров. Выходные параметры Входные параметры: переменные, константы, выражения

Алгоритм Евклида Процедура для нахождения НОД procedure procedure nod (a, b: integer; var c: integer);begin while ab do ifthenelse if a>b then a:=a-b else b:=b-a; c:=aend;

Варианты вызова процедуры Между фактическими и формальными параметрами должно быть полное соответствие по количеству, порядку следования и типу. в качестве параметров-значений использованы константы nod (36, 15, z) nod (x, y, z) в качестве параметров-значений использованы имена переменных nod (x+ y, 15, z) в качестве параметров-значений использованы выражение и константа !

program program n_20; const const m: array [1..6] of integer =(16, 32, 40, 64, 80, 128); var var i: integer; procedure procedure nod (a, b: integer; var c:integer);begin while ab do ifthenelse if a>b then a:=a-b else b:=b-a; c:=aend;begin x:=m[1]; fortodo for i:= 2 to 6 do begin begin y:=c[i]; nod (x, y, z); x:=z end end; writeln ( 'НОД=', nod ) end end. Раздел описания операторов главной программы Раздел описания подпрограммы Заголовок главной программы Описание констант Раздел описания переменных Программа с процедурой

Функции function function ( ): ;begin ; := end; Функция - подпрограмма, имеющая единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции. :=. В блоке функции обязательно должен присутствовать оператор :=. Перечень формальных параметров и их типов Тип результата ! write Для вызова функции её имя со списком параметров можно в любом выражении, в условиях, в операторе write главной программы.

Функция поиска максимального из 2-х program program n_20; var var a, b, c, d, f: integer; function function max (x, y: integer): integer;begin ifthenelse if x>y then max:=x else max:=y;end;begin readln (a, b, c, d); f:= max(max(a, b), max(c, d)); writeln ('f=', f);end. Заголовок главной программы Описание переменных Раздел описания подпрограммы Раздел операторов главной программы

Последовательность Фибоначчи В январе Саше подарили пару новорождённых кроликов. Через два месяца они дали первый приплод - новую пару кроликов, а затем давали приплод по паре кроликов каждый месяц. Каждая новая пара также даёт первый приплод (пару кроликов) через два месяца, а затем - по паре кроликов каждый месяц. Сколько пар кроликов будет у Саши в декабре? Числа 1, 1, 2, 3, 5, 8, … образуют так называемую последовательность Фибоначчи, названную в честь итальянского математика, впервые решившего соответствующую задачу ещё в начале XIII века.

Математическая модель Пусть f(n) количество пар кроликов в месяце с номером n. По условию задачи: f (1) = 1, f (2) = 1, f (3) = 2. Из двух пар, имеющихся в марте, дать приплод в апреле сможет только одна: f (4) = 3. Из пар, имеющихся в апреле, дать приплод в мае смогут только пары, родившиеся в марте и ранее: f (5) = f (4) + f (3) = = 5. В общем случае: f(n)= f(n –1)+ f(n – 2), n >= 3.

Функция function function f (n: integer): integer;begin ifthen if (n=1) or (n=2) then f:=1 else else f:=f(n-1)+f(n-2)end; Полученная функция рекурсивная - в ней реализован способ вычисления очередного значения функции через вычисление её предшествующих значений.

Самое главное Запись вспомогательных алгоритмов в языках программирования осуществляется с помощью подпрограмм. В Паскале различают два вида подпрограмм: процедуры и функции. Процедура - подпрограмма, имеющая произвольное количество входных и выходных данных. Функция - подпрограмма, имеющая единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции.

Вопросы и задания Для чего используются подпрограммы?В чём основное различие процедур и функций?Напишите программу вычисления наименьшего общего кратного следующих четырёх чисел: 36, 54, 18 и 15. Используйте процедуру вычисления наибольшего общего делителя двух чисел. Напишите программу перестановки значений переменных a, b, с в порядке возрастания, т. е. так, чтобы a < b < c. Используйте процедуру swap. procedure swap (var x, y: integer); var m: integer; begin m:=x; x:=y; y:=m end; Исходные данные вводятся с клавиатуры. Пример входных данныхПример выходных данных Напишите программу поиска наибольшего из четырёх чисел с использованием подпрограммы поиска наибольшего из трёх чисел. Видоизмените программу сортировки массива выбором так, чтобы в ней использовалась процедура выбора наибольшего элемента массива. Напишите программу вычисления выражения: s =1!+2!+3!+…+ n! Используйте функцию вычисления факториала. Напишите программу вычисления выражения: s = x 3 + x 5 + x n, где x и n вводятся с клавиатуры. Используйте функцию вычисления степени. Напишите функцию, вычисляющую длину отрезка по координатам его концов. С помощью этой функции напишите программу, вычисляющую периметр треугольника по координатам его вершин. Напишите функцию, вычисляющую площадь треугольника по целочисленным координатам его вершин. С помощью этой функции вычислите площадь четырёхугольника по координатам его вершин.

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

Источники информации подпрограмма поиск в лабиринте Евклид числа Фибоначи зайчик 6. daisy.jpg?w=497&h=277 - рекурсия daisy.jpg?w=497&h=277