Разделы презентаций


Программирование на языке Паскаль

Содержание

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

Слайды и текст этой презентации

Слайд 1Программирование на языке Паскаль
Подпрограммы
© К.Ю. Поляков, 2006-2009

Программирование  на языке ПаскальПодпрограммы© К.Ю. Поляков, 2006-2009

Слайд 2При разработке программы иногда появляются повторяемые группы действий или возникает

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


Для этого во всех языках программирования используют подпрограммы.


Подпрограмма — это специальным образом оформленный алгоритм, который может многократно использоваться при решении более общей задачи.

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

Слайд 3
В Паскале подпрограмма является частью основной программы, ее описание располагается

между разделом var главной программы и ее программным блоком (первым

begin).

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

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

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

Слайд 4Объявление переменных
Глобальные переменные - переменные, объявленные в основной программе, доступны

всем операторам программы, а так же операторам процедур и функций.
Локальные

переменные - переменные, объявленные в процедуре или функции. Они доступны только операторам процедур или функций.
Объявление переменныхГлобальные переменные - переменные, объявленные в основной программе, доступны всем операторам программы, а так же операторам

Слайд 5Программирование на языке Паскаль
Процедуры
© К.Ю. Поляков, 2006-2009

Программирование  на языке ПаскальПроцедуры© К.Ю. Поляков, 2006-2009

Слайд 6Процедуры
Procedure (список формальных параметров);

const
type

var

begin
;
end;



Вызов процедуры

– это упоминание ее имени в тексте основной программы.
Могут быть

опущены
ПроцедурыProcedure   (список формальных параметров);consttypevarbegin  ; end;Вызов процедуры – это упоминание ее имени в тексте

Слайд 7Процедуры
Особенности:
все процедуры расположены выше основной программы
в заголовке процедуры перечисляются формальные

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

скобках указывают фактические параметры (числа или арифметические выражения) в том же порядке

procedure Tr( x, y, r, g, b: integer);

Tr (200, 100, 0, 255, 0);

x

y

r

g

b

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

Слайд 8Процедуры
Особенности:
для каждого формального параметра после двоеточия указывают его тип
если однотипные

параметры стоят рядом, их перечисляют через запятую


Пример

procedure A (x: real;

y: integer; z: real);

procedure A (x, z: real; y, k, l: integer);

procedure A (x, z: real; var l: real);

Переменные, которые используются в формуле

Переменная, в которую записывается результат

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

Слайд 9Процедуры
Особенности:
в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не

имеют к ним доступа
program qq;
procedure A(x, y: integer);
var

a, b: real;
begin
a := (x + y)/6;
...
end;
begin
...
end.

procedure A(x, y: integer);
var a, b: real;
begin
a := (x + y)/6;
...
end;

локальные переменные

var a, b: real;

ПроцедурыОсобенности:в процедуре можно объявлять дополнительные локальные переменные, остальные процедуры не имеют к ним доступаprogram qq; procedure A(x,

Слайд 10Параметры-переменные
Задача: составить процедуру, которая меняет местами значения двух переменных.
Особенности:
надо, чтобы

изменения, сделанные в процедуре, стали известны вызывающей программе
program qq;
var x,

y: integer;





begin
x := 1; y := 2;
Exchange ( x, y );
writeln ( ’x = ’, x, ’ y = ’, y );
end.

procedure Exchange ( a, b: integer );
var c: integer;
begin
c := a; a := b; b := c;
end;

эта процедура работает с копиями параметров

x = 1 y = 2

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

Слайд 11Программирование на языке Паскаль
Функции
© К.Ю. Поляков, 2006-2009

Программирование  на языке ПаскальФункции© К.Ю. Поляков, 2006-2009

Слайд 12Функции
Функция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является

некоторое значение.

3 категории функций:
стандартные функции (abs(x), sqrt(x),

sqr(x), sin(x), cos(x), и т.д.);
функции программиста (объявлять свою собственную функцию и в дальнейшем использовать её так же как и стандартную);
библиотечные функции (стандартные библиотечные модули).
ФункцииФункция – это вспомогательный алгоритм (подпрограмма), результатом работы которого является некоторое значение. 3 категории функций:  стандартные

Слайд 13Функции
Зачем?
для выполнения одинаковых расчетов в различных местах программы
для создания

общедоступных библиотек функций

ФункцииЗачем? для выполнения одинаковых расчетов в различных местах программыдля создания общедоступных библиотек функций

Слайд 14Структура функции
В разделе операторов должен находится, хотя бы один оператор,

присваивающий имени функции значение.

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

Слайд 15Функции
Задача: составить функцию, которая вычисляет наибольшее из двух значений, и

привести пример ее использования
Функция:
формальные параметры
function Max (a, b: integer): integer;
begin

if a > b then Max := a
else Max := b;
end;

это результат функции

ФункцииЗадача: составить функцию, которая вычисляет наибольшее из двух значений, и привести пример ее использованияФункция:формальные параметрыfunction Max (a,

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

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

результата
функции располагаются ВЫШЕ основной программы
ФункцииОсобенности:заголовок начинается словом functionформальные параметры описываются так же, как и для процедурможно использовать параметры-переменныев конце заголовка через

Слайд 17Функции
Особенности:
можно объявлять и использовать локальные переменные
значение, которое является результатом, записывается

в переменную, имя которой совпадает с названием функции; объявлять ее

НЕ НАДО:
ФункцииОсобенности:можно объявлять и использовать локальные переменныезначение, которое является результатом, записывается в переменную, имя которой совпадает с названием

Слайд 18Программа
program qq;
var a, b, max: integer;




begin
writeln('Введите два числа');
read(a,

b);
max := Max ( a, b );
writeln('Наибольшее число

', max );
end.

function Max (a, b: integer): integer;
begin
...
end;

c

c

c

фактические параметры

вызов функции

Программаprogram qq;var a, b, max: integer;begin writeln('Введите два числа'); read(a, b); max := Max ( a, b

Слайд 19Найти S и P треугольника, вершины которого заданы координатами
(x1, y1)
(x3,

y3)
(x2, y2)
L1
L2
L3
полупериметр

Найти S и P треугольника, вершины которого заданы координатами(x1, y1)(x3, y3)(x2, y2)L1L2L3полупериметр

Слайд 20Решаем используя Процедуру
var x1,y1,x2,y2,x3,y3:real;
P,S,PP,l1,l2,l3:real;

Procedure

dl(a,b,c,d:real; var l:real);
begin
l:=sqrt(sqr(a-c)+sqr(b-d));

end;

begin
read(x1,y1,x2,y2,x3,y3);
dl(x1,y1,x2,y2,l1);
dl(x2,y2,x3,y3,l2);
dl(x3,y3,x1,y1,l3);
P:=l1+l2+l3;
PP:=P/2;
S:=sqrt(PP*(PP-l1)*(PP-l2)*(PP-l3));
writeln(P:10:2,S:10:2);
end.
Решаем используя Процедуруvar  x1,y1,x2,y2,x3,y3:real;     P,S,PP,l1,l2,l3:real;Procedure  dl(a,b,c,d:real; var l:real);  begin

Слайд 21Решаем используя Функцию
var x1,y1,x2,y2,x3,y3:real;
P,S,PP,l1,l2,l3:real;

function

dl(a,b,c,d:real):real;
begin
dl:=sqrt(sqr(a-c)+sqr(b-d));
end;


begin
read(x1,y1,x2,y2,x3,y3);
l1:=dl(x1,y1,x2,y2);
l2:=dl(x2,y2,x3,y3);
l3:=dl(x3,y3,x1,y1);
P:=l1+l2+l3;
PP:=P/2;
S:=sqrt(PP*(PP-l1)*(PP-l2)*(PP-l3));
writeln(P:10:2,S:10:2);
end.
Решаем используя Функциюvar  x1,y1,x2,y2,x3,y3:real;     P,S,PP,l1,l2,l3:real;function  dl(a,b,c,d:real):real;  begin

Слайд 22Решаем используя Процедуру
var k,a,f1,s:integer;
procedure fact(n:integer; var f:integer);

var i:integer;

begin
f:=1;
for i:=1 to n do
f:= f*i;
end;
begin
read(k);
a:=2;
while a<=k do
begin
fact(a,f1);
s:=s+f1;
a:=a+2;
end;
writeln(s);
end.
Решаем используя Процедуруvar k,a,f1,s:integer;procedure  fact(n:integer; var f:integer);

Слайд 23Решаем используя Функцию
var k,a,f1,s:integer;

function fact(n:integer):integer;
var f,i:integer;

begin
f:=1;
for i:=1 to n

do
f:= f*i;
fact:=f;
end;

begin
read(k);
a:=2;
while a<=k do
begin
f1:=fact(a);
s:=s+f1;
a:=a+2;
end;
writeln(s);
end.

Решаем используя Функциюvar k,a,f1,s:integer;function fact(n:integer):integer;    var f,i:integer; begin   f:=1;   for

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика