Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
m07_lection1.DOC
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
73.73 Кб
Скачать

Выделение памяти для локальных переменных

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

Задача 1. Дан массив A[1 .. 10 ] вещественных чисел. Написать программу поиска суммы элементов массива A.

program Z1_Proc;

uses Crt;

const N=10;

type Massiv = array[1..N] of Real;

var M : Massiv; S:Real; i : 1..N;

procedure Vvod;

begin

ClrScr;

For i:=1 to N do

Begin

Write('введи ', i,'-ый элемент => ');

Readln(M[i]);

End;

end;

procedure Summa;

begin

S:=0;

For i:=1 to N do

S:=S+M[i];

end;

begin

Vvod;

Summa;

Write('сумма элементов массива - ',S:5:2);

end.

program Z1_Func;

uses Crt;

const N=10;

type Massiv = array[1..N] of Real;

var M : Massiv; i : 1..N;

procedure Vvod;

begin

end;

function Sum:Real;

begin

Sum:=0;

for i:=1 to N do

Sum:=Sum+M[i];

end;

begin

Vvod;

Write('сумма элементов массива - ',Sum:5:2);

end.

Задача2 Напишите программу, которая вычисляет значение функции Z, если указано, что: z=f(a)+f(b)+4f(c) , f(x)=x3+x2-1

Задача 3 Даны функции a(x,y)=x+y , b(x,y)=2*x-y и v(a,b)=2*a+3*b. Напишите программу, вычисляющую значение функции v для заданных пользователем x и y.

Program Z2;

var Z:Real;

function F(X:Real):Real;

begin

F:=X*Sqr(X)+Sqr(X)-1;

End;

Begin

Write(‘введи А,B,C => ’);

Readln(A,B,C);

Z:=F(A)+F(B)+4*F(C);

Write(‘Результат вычислений = ‘,Z:5:2);

end.

program Z3;

var Z:Real;

function FA(X,Y:Real):Real;

begin

FA:=X+Y;

end;

function FB(X,Y:Real):Real;

begin

FB:=2*X-Y;

end;

function FV(A,B:Real):Real;

begin

FV:=2*A+3*B;

end;

begin

Write(‘введи X и Y => ’);

Readln(X,Y);

{догадайся, что здесь  дожно быть }

Write(‘V = ’,FV( ):5:2);

end.

Задача 1. Дан массив A[1 .. 10 ] вещественных чисел. Написать программу поиска суммы элементов массива A.

Задача 4. Дан двумерный массив вещественных чисел. Написать программу поиска суммы его элементов .

uses Crt;

const N=10;

type Massiv=array[1..N] of Real;

var M:Massiv; S:Real; i:1..N;

procedure Vvod(X,Y,Step:Byte; var M:Massiv);

begin

GotoXY(X,Y);

for i:=1 to N do

begin

ReadLn(M[i]);

X:=X+Step;

GotoXY(X,Y);

end;

end;

procedure Summa(M:Massiv; var S:Real);

begin

S:=0;

for i:=1 to N do S:=S+M[i];

end;

begin

ClrScr;

Vvod(5,10,5,M);

Summa(M,S);

GotoXY(30,23);

Write('сумма элементов- ',S:5:2);

end.

uses Crt;

const N=10; M=3;

type Massiv=array[1..N] of Real;

var Tabl:array[1..N] of Massiv;

S, Sum:Real; i,t:1..N;

procedure Vvod(X,Y,Step:Byte; var M:Massiv);

begin

GotoXY(X,Y);

for i:=1 to N do

begin

ReadLn(M[i]);

X:=X+Step;

GotoXY(X,Y);

end;

end;

procedure Summa(M:Massiv; var S:Real);

begin

S:=0;

for i:=1 to N do S:=S+M[i];

end;

begin

ClrScr;

for t:=1 to M do

Vvod(5,t+10,5,Tabl[t]);

Sum:=0;

for t:=1 to M do

begin

Summa(Tabl[t],S);

Sum:=Sum+S;

end;

GotoXY(30,23);

Write('сумма элементов - ',Sum:5:2);

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]