Суббота, 27.04.2024, 00:05
Блог учителя информатики и математики
О блогеМой профильРегистрацияВыходВход
Вы вошли как Гость · Группа "Гости" Приветствую Вас, Гость · RSS
Меню блога
Погода в нашем районе.

НАГРАДА

Как Вы считаете, должны ли дети ходить в школу в школьной форме?
Всего ответов: 2807
 
 Блог учителя
Главная » Статьи » Информатика » В помощь ученику

Подпрограммы (17 урок).

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

  Подпрограмма – это повторяющаяся группа операторов, оформленная в виде самостоятельной программной единицы.

В языке Pascal механизм подпрограмм реали­зуется в виде PROCEDURE и FUNCTION, которые вводятся в про­грамму с помощью своего описания, но их структура такая же, как и структура программы. Они различаются способом их использования.

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

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

2.     Определить параметры.

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

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

Рrосеdиrе    <имя>    (формальные параметры);
VAR (описание  локальных параметров, они могут быть или не  быть)
begin
тело процедуры
end; (конец процедуры)
BEGIN (головного модуля)
Фактические параметры
END.
Используя подпрограмму – процедуру рассмотрим несколько задач

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


uses crt;

 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('вводим первую пару');

   writeln('a=');readln(a);   writeln('b=');readln(b);

writeln('вторую пару');

   writeln('c=');readln(c);   writeln('d=');readln(d);

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

   maxim(a,b,s);

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

   maxim(c,s,s);

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

   maxim(d,s,s);

   writeln('max=',s:3:1);

   readln;

 end.


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



Категория: В помощь ученику | Добавил: Harchev (10.12.2013)
Просмотров: 3137 | Комментарии: 8 | Рейтинг: 3.8/36
Всего комментариев: 8
1 Ангелина  
uses crt;
var xa,ya,xb,yb,xc,yc,i: integer;
x,y,l,sq,P,e,a,b,c,P1: real;

procedure Dlina(x1,y1,x2,y2: integer; var d:real);
begin
d:= sqrt(sqr(y1-y2)+sqr(x1-x2));
end;

begin
writeln ('Введите координаты 1 вершины треугольника');
readln (xa,ya);
writeln ('Введите координаты 2 вершины треугольника');
readln (xb,yb);
writeln ('Введите координаты 3 вершины треугольника');
readln (xc,yc);
Dlina(xa,ya,xb,yb,x);
Dlina(xb,yb,xc,yc,y);
Dlina(xc,yc,xa,ya,l);
P1:=(x+y+l)/2;
e:=sqrt(P1*(P1-a)*(P1-b)*(P1-c));
writeln( 'Площадь треугольника =',e:0:20);
P:=x+y+l;
writeln('Периметр треугольника=',P:0:20)
end.

2 Дима Г  
uses crt;
var x1,y1,x2,y2,x3,y3,i: integer;
x,y,z,sq,P,s,a,b,c,P1: real;

procedure Dlina(x1,y1,x2,y2: integer; var d:real);
begin
d:= sqrt(sqr(y1-y2)+sqr(x1-x2));
end;

begin
writeln ('введите координаты 1 вершинф треугольника');
readln (x1,y1);
writeln ('введите координаты 2 вершины треугольника');
readln (x2,y2);
writeln ('введите координаты 3 вершины треугольника');
readln (x3,y3);
Dlina(x1,y1,x2,y2,x);
Dlina(x2,y2,x3,y3,y);
Dlina(x3,y3,x1,y1,z);
P1:=(x+y+z)/2;
s:=sqrt(P1*(P1-a)*(P1-b)*(P1-c));
writeln('площадь треугольника =',s:0:2);
P:=x+y+z;
writeln('Периметр треугольника=',P:0:2)
end.

3 Дмитрий Мельников  
uses crt;
var xe,ye,xr,yr,xw,yw,i: integer;
x,y,z,sq,P,s,a,b,c,P1: real;

procedure Dlina(x1,y1,x2,y2: integer; var d:real);
begin
d:= sqrt(sqr(y1-y2)+sqr(x1-x2));
end;

begin
writeln ('введите координаты 1 вершинф треугольника');
readln (xe,ye);
writeln ('введите координаты 2 вершины треугольника');
readln (xr,yr);
writeln ('введите координаты 3 вершины треугольника');
readln (xw,yw);
Dlina(xe,ye,xr,yr,x);
Dlina(xr,yr,xw,yw,y);
Dlina(xw,yw,xe,ye,z);
P1:=(x+y+z)/2;
s:=sqrt(P1*(P1-a)*(P1-b)*(P1-c));
writeln('площадь треугольника =',s:0:2);
P:=x+y+z;
writeln('Периметр треугольника=',P:0:2)
end.

4 Анастасия  
uses crt;
var na,fa,db,yb,xc,yc,i,xb,b: integer;
l,y,z,sq,Pirimetr,s,a,d,c,P1: real;

procedure
Dlina(x1,y1,x2,y2: integer; var d:real);
begin
d:= sqrt(sqr(y1-y2)+sqr(x1-x2));
end;
begin
writeln (' Координаты 1 вершины');
readln (na,fa);
writeln (' Координаты 2 вершины');
readln (db,yb);
writeln ('Координаты 3 вершины');
readln (xc,yc);
Dlina(na,fa,xb,yb,l);
Dlina(db,yb,xc,yc,y);
Dlina(xc,yc,na,fa,z);
P1:=(l+y+z)/2;
s:=sqrt(P1*(P1-a)*(P1-b)*(P1-c));
writeln('Площадь треугольника=',s:0:2);
Pirimetr:=l+y+z;
writeln('Периметр треугольника=',Pirimetr:0:2)
end.

5 Кристина  
Program prog;
uses crt;
var xa,ya,xb,yb,xc,yc,i: integer;
m,n,q,sq,P,s,a,b,c,P1: real;
Procedure dlina(x1,y1,x2,y2: integer; var d:real);
Begin
d:= sqrt(sqr(y1-y2)+sqr(x1-x2));
end;
Begin
Writeln ('Введите координаты первой вершины');
readln (xa,ya);
Writeln ('Введите координаты второй вершины');
readln (xb,yb);
Writeln ('Введите координаты третьей вершины');
readln (xc,yc);
dlina(xa,ya,xb,yb,m);
dlina(xb,yb,xc,yc,n);
dlina(xc,yc,xa,ya,q);
P1:=(m+n+q)/2;
s:=sqrt(P1*(P1-a)*(P1-b)*(P1-c));
writeln('S треугольника =',S:0:2);
P:=m+n+q;
writeln('P треугольника==',P:0:2)
end.

6 __mexanik__  
uses crt;
var xa,ya,xb,yb,xc,yc,i: integer;
x,y,z,sq,P,s,a,b,c,P1: real;

procedure Dlina(x1,y1,x2,y2: integer; var d:real);
begin
d:= sqrt(sqr(y1-y2)+sqr(x1-x2));
end;

begin
writeln ('введите координаты 1 вершины треугольника');
readln (xa,ya);
writeln ('введите координаты 2 вершины треугольника');
readln (xb,yb);
writeln ('введите координаты 3 вершины треугольника');
readln (xc,yc);
Dlina(xa,ya,xb,yb,x);
Dlina(xb,yb,xc,yc,y);
Dlina(xc,yc,xa,ya,z);
P1:=(x+y+z)/2;
s:=sqrt(P1*(P1-a)*(P1-b)*(P1-c));
writeln('площадь треугольника=',s:0:3);
P:=x+y+z;
writeln('площадь треугольника=',P:0:3)
end.

7 Настя  
uses crt;
var xa, ya, xb, yb, xc, yc: integer;
x, y, z, p, s, a, b, c, p1: real;
procedure Dlina(x1, y1, x2, y2: integer; var d:real);
begin
d:= sqrt(sqr(y1-y2)+sqr(x1-x2));
end;
begin
writeln ('Введите координаты вершин треугольника');
readln (xa,ya, xb,yb, xc,yc);
Dlina(xa,ya,xb,yb,x);
Dlina(xb,yb,xc,yc,y);
Dlina(xc,yc,xa,ya,z);
p1:=(x+y+z)/2;
s:=sqrt(p1*(p1-a)*(p1-b)*(p1-c));
writeln('Площадь равна', ' ', s:0:2);
p:=x+y+z;
writeln('Периметр равен', ' ', p:0:2);
end.

8 Даниил  
program treygolnik;
var xa,ya,xb,yb, xc,yc: integer;
d, d1, d2, p, p1,pl:real;
procedure Dlina(x1,y1,x2,y2: integer; var d:real);
begin
d:= sqrt(sqr(y1-y2)+sqr(x1-x2));
writeln('Dlina', d:0:1);
end;
procedure Perimetr (d, d1, d2:real; var p:real);
begin
p:=d+d1+d2;
writeln('perimetr',p:0:1);
end;
procedure Poly (d, d1, d2:real; var pu: real);
begin
pu:=(d + d1 + d2)/2;
writeln('Polyperimetr',pu:0:1);
end;
procedure Ploschad(d, d1, d2, p1:real; var pl:real);
begin
pl:=sqrt(p1*(p1-d)*(p1-d2)*(p1-d2));
writeln('square', pl:0:1);
end;
begin
readln (xa,ya);
readln (xb,yb);
readln (xc,yc);
Dlina(xa,ya,xb,yb,d);
Dlina(xb,yb,xc,yc,d1);
Dlina(xc,yc,xa,ya,d2);
perimetr (d, d1, d2, p);
poly(d, d1, d2, p1);
ploschad(d, d1, d2, p1, pl);
end.

Имя *:
Email *:
Код *:
Copyright MyCorp © 2024
Блог учителя Учительский портал