Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Лабораторные работы № 10 – 11



Тема. Процедуры и функции пользователя в языке Delphi

Цель работы: приобретение навыков написания программ с подпрограммами пользователя на языке Delphi

Теоретическая часть

В языке Delphi имеется два вида подпрограмм – процедуры и функции.

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

Все процедуры в языке Delphi делятся на 2 вида: встроенные и пользовательские.

Встроенные определены заранее и могут вызываться без предварительного описания.

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

Вызов пользовательских процедур и функций осуществляется по имени.

Описание процедуры:

 

 


Рисунок 9 - Синтаксическая диаграмма описания процедуры

 

Описание функции:

 


Рисунок 10 - Синтаксическая диаграмма описания функции

 

Пример 10.1. Рассчитать значение y(x) по формуле

Для расчета значения tg(x) используется подпрограмма-функция tg(а) с одним параметром.

 

Program Project1;

var x, y: real;

function tg(a: real): real;

begin

tg: =cos(a)/sin(a);

end;

 

begin

write('x='); readln(x);

y: =sqr(tg(x+1))+tg(x+0.5)+7*tg(x);

writeln('y=', y: 6: 2);

readln;

end.

 

Пример 10.2. Условие из предыдущего примера. В программе для расчета значения tg(x) используется подпрограмма-процедура tg(a, b) с двумя параметрами.

 

Program Project2;

var x, y: real; x1, x2, x3: real;

 

procedure tg(a: real; var b: real);

begin

b: =cos(a)/sin(a);

end;

 

begin

write('x='); readln(x);

tg(x+1, x1); tg(x+0.5, x2); tg(x, x3);

y: =sqr(x1)+x2+7*x3;

writeln('y=', y: 6: 2);

readln;

end.

Пример 10.3. Рассчитать периметр ( в м) и площадь прямоугольника (в м2). Длины сторон (x, y) вводятся с клавиатуры в см. В программе используется подпрограмма-процедура parametr(a, b, p, s).

 

Program Project3;

var x, y: integer; s1, p1: real;

 

procedure parametr(a, b: integer; var p, s: real);

begin

p: =2*(a+b)/100;

s: =a*b/10000;

end;

 

begin

x: =30; y: =40;

parametr(x, y, p1, s1);

writeln('p1=', p1: 6: 2, ' s1=', s1: 6: 2);

readln;

end.

 

Пример 10.4. Условие из предыдущего примера. В программе используются две подпрограммы-функции.

 

Program Project4;

var x, y: integer; s1, p1: real;

 

function p(a, b: integer): real;

begin

p: =2*(a+b)/100;

end;

 

function s(a, b: integer): real;

begin

s: =a*b/10000;

end;

 

begin

x: =30; y: =40;

p1: =p(x, y);

s1: =s(x, y);

writeln('p1=', p1: 6: 2, ' s1=', s1: 6: 2);

readln;

end.

 

Пример 10.5. Условие из предыдущего примера. В программе используется процедура parametr без параметров.

 

Program Project5;

var a, b: integer; p, s: real;

procedure parametr;

begin

p: =2*(a+b)/100;

s: =(a*b)/10000;

end;

begin

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

parametr;

writeln('p=', p: 6: 2, ' s=', s: 6: 2);

a: =50; b: =80;

parametr;

writeln('p=', p: 6: 2, ' s=', s: 6: 2);

readln;

end.

 

Пример 10.6. Условие из предыдущего примера. В программе используются две функции (s и p) без параметров.

 

Program Project6;

var a, b: integer; p1, s1: real;

function p: real;

begin

p: =2*(a+b)/100;

end;

 

function s: real;

begin

s: =a*b/10000;

end;

 

begin

a: =30; b: =40;

p1: =p;

s1: =s;

writeln('p1=', p1: 6: 2, ' s1=', s1: 6: 2);

readln;

end.

 

Варианты заданий (2 задания)

Задание 1. Написать программу с подпрограммой-функцией.

Задание 2. Написать программу с подпрограммой-процедурой (с параметром или параметрами).

 

1. Даны действительные s и t. Рассчитать f(t, -2s, 1.17)+f(2.2, t, s-t), где

подпрограмма.

2. Даны действительные а, b, с. Получить

, где max(x, y) подпрограмма.

3. Даны действительные числа S и t. Рассчитать

f(t, -3*s, 2.5-t)+f( 5.2, 3*t, s-t), где

подпрограмма.

4. Даны действительные числа S и t. Рассчитать

f(1.5*t, 2*s)+f(t, 3-s)-f(2*s-3, t+s), где

подпрограмма.

5. Даны действительные числа S и t. Рассчитать

h(s, t)+h(h2 (s-t, s*t), h4 (s-t, s+t))+h(1, 1), где

подпрограммы.

6. Даны действительные числа a, b. Рассчитать Y=min(a, b), Y1=min(min(a*b, a+b), min(a2 –b*a, b3-3*a)), Y2=min(Y12+Y, 5.25),

где min(x, x1) подпрограмма.

7. Даны действительные числа S и t. Рассчитать

f(t, 4*s, 2.5*t)+f( 5, 2*t, s+t),

где подпрограмма.

8. Даны действительные числа S и t. Рассчитать

h(s, t)+h3 (s-t, s*t)+h2 (s-t, s+t)+h(1, 1), где

подпрограмма.

9. Даны действительные числа a, b, c. Рассчитать

, где max(x, x1) описать как подпрограмму.

10. Вычислить К = (x + y + z) / 3, где x – наибольшее значение из параметров х1, х2, y - из y1, y2, z – из z1, z2. Использовать подпрограмму для нахождения наибольшего значения из двух параметров.

11. В порт в среднем приходят 3 корабля в день. Какова вероятность того, что в день придет 2 корабля, 4 корабля? Вероятность вычислять по формуле

Р = 3 * е - 3 / к!. Использовать подпрограмму для расчета к!.

12. Вычислить Z = (v1 + v2 + v3) / 3, где v1, v2, v3 – объемы шаров с радиусами r1, r2, r3 соответственно. Использовать подпрограмму для расчета объёмов шаров. Объем шара вычислять по формуле V = 4 / 3*Пi*R3.

13. Определить число сочетаний из n по m (n> m), по формуле С=n! /m! (n-m). Использовать одну подпрограмму для расчета n! и m!.

14. Вычислить Z = (n + m) / 2, где n – наименьшее значение из параметров n1, n2, m – из m1, m2. Использовать подпрограмму для нахождения наименьшего значения из двух параметров.

15. Составить программу вычисления значения функции

S = x2 + y2 + sin(2 * x2 * y2) + x + z + sin(2 * x * z) + y2 + z2 + sin(2 * y2 * z2), используя подпрограмму для расчета a + b + sin(2 * a * b).

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-05-03; Просмотров: 548; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.028 с.)
Главная | Случайная страница | Обратная связь