Практическая работа
Тема: подпрограммы.
Цель работы: овладеть практическими навыками по составлению программ, используя подпрограммы. Приобретение дальнейших навыков по отладке и тестированию программ.
Оборудование: Компьютер с установленной операционной системой Windows, Free Pascal.
Литература:
1. Бабушкин И.А. и др. Практикум по Турбо Паскалю. Учебное пособие.: М,1998
2. Информатика. 7–9 класс. Базовый курс. Практикум-задачник по моделированию./ Под ред.Н. В. Макаровой. –СПб.: Питер, 2001
3. Лапчик М. П. Вычисления. Алгоритмизация. Программирование: Пособие для учителя. - М.: Просвещение, 1988
4. Основы информатики и вычислительной техники: Проб. учеб. Для 10-11 кл. сред. шк./ А. Г. Гейн, В. Г. Житомирский, Е.В. Линецкий и др. - М. Просвещение, 1992
5. Основы информатики и вычислительной техники: Проб. учеб. пособие для сред. учеб. заведений. В 2 ч./ под ред А.П. Ершова, В.М. Монахова. - М.: Просвещение, 1986
Задания:
Разработать алгоритм, составить блок-схему и тестовый пример для решения следующих задач.
1 вариант.
1. Вычислить значение
функции у=, если A=20,B=60,C=45,D=30.
(Числовые значения углов даны в градусах).
2. Вычислить по формуле С=n!m!.
3. Вычислить значение
выражения .
2 вариант.
1. Вычислить значение функции у= , если A=20,B=60,C=45,D=30.
(Числовые значения углов даны в градусах).
2. Вычислить по формуле С=.
3. Вычислить значение
выражения .
Теоретические сведения к практической работе:
Автономная часть программы, реализующая определенный алгоритм и допускающая обращение к ней из различных частей общей программы, называется подпрограммой.
Передача данных из основной программы в подпрограмму (входные данные) и возврат результата выполнения подпрограммы осуществляется с помощью параметров.
Параметры - это данные, которые передаются вызываемой подпрограмме и используются последней в качестве входной и (или) выходной информации.
Процедура - это независимая часть программы, которую можно вызывать по имени для выполнения определенных действий.
Структура процедуры имеет вид :
Procedure имя(список формальных параметров);
(* раздел описаний *)
begin
(* раздел операторов *)
end;
Первая строка описания называется заголовком процедуры, а раздел операторов называется телом процедуры.
Функции
Заголовок функции состоит из слова Function, за которым указывается имя функции, затем в круглых скобках записывается список формальных параметров, далее ставится двоеточие и указывается тип результата функции.
В теле функции обязательно должен быть хотя бы один оператор присваивания, в левой части которого стоит имя функции, а в правой - ее значение. Иначе значение функции не будет определено.
Общий вид описания функции:
Function Имя[(список формальных параметров)]:Тип результата;
описательная часть
Begin
тело функции, в которой обязательно должно быть
присваивание Имя_функции:=значение;
End;
Формальные параметры - параметры, определенные в заголовке процедуры.
Фактические параметры - выражения, задающие конкретные значения при обращении к процедуре.
При обращении к процедуре ее формальные параметры замещаются фактическими, переданными из основной программы.
Фактические параметры - это параметры, которые передаются процедуре при ее вызове.
Количество и тип формальных и фактических параметров должны в точности совпадать.
program primer1;
var
a,b,c,d,z,z1,z2,x,y:real;
procedure w(x,y:real; var w:real);
begin
w:=cos(x)+sin(y)+3;
end;
begin
writeln(‘задайте a,b,c,d’);
readln(a,b,c,d);
x:=a*3.14/180;
y:=b*3.14/180;
w(x,y,z1);
x:=c*3.14/180;
y:=d*3.14/180;
w(x,y,z2);
z2:=sqrt(z2);
z:=z1/z2;
write(‘z=‘,z:4:2);
readln;
end.
Тестовый пример
A=20
B=60
C=45
D=30
Z=2.19
Пример
2:
Вычислить С=
N!=1*2*3*…*N
1!=1
2!=1*2=2
3!=1*2*3=6
4!=1*2*3*4=24
program primer2;
var
z,z1,z2,c:real;
k,m,n:integer;
function factorial(k:integer):integer;
var i,p:integer;
begin
p:=1;
for i:=1 to k do
p:=p*i;
factorial:=p;
end;
begin
writeln(‘задайте m’);
readln(m);
writeln(‘задайте n’);
readln(n);
z:=factorial(n);
z1:=factorial(m);
z2:=factorial(n-m);
c:=z/(z1*z2);
write(‘c=‘,c:4:2);
readln;
end.
Тестовый пример
m=2
n=5
c=10
Пример3: Вычислить значение выражения:
В выражении несколько раз встречаются функции тангенса и десятичного логарифма, которых в Паскале нет. Несомненно, удобно создать такие функции и использовать их в программе.
program primer3;
var x,у:real;
function lg(x:real) :real; {Функция вычисления десятичного логарифма}
begin
lg:=ln(x)/ln(10);
end;
function tg (x: real) : real; {Функция вычисления тангенса}
begin
tg:=sin(x)/cos(x);
end;
BEGIN
writeln('Введите х');
readln(x);
y:=lg(sqr(tg(x))+sqr(cos(x)))/sqr(tg(x+sqr(lg(x)))+sqr(sin(x)));
writeln('y=',y:10:4);
END.
Тестовый пример:
Введите х
3.4
у=0.0045
Сделайте вывод по работе.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.