
- •Министерство образования Российской Федерации
- •К.Ю. Круценюк Информатика
- •Часть I Норильск 2002
- •Введение
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Задание к работе
- •Пример выполнения работы
- •Лабораторная работа №5 «Обработка одномерных массивов»
- •Задание к работе
- •Пример выполнения работы
- •Контрольные вопросы
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Лабораторная работа №7 «Обработка матриц»
- •Задание к работе
- •Пример выполнения работы
- •Контрольные вопросы
- •Лабораторная работа №8 «Программирование с использованием подпрограмм пользователя»
- •Задание к работе
- •Пример выполнения работы Задание 1
- •Задание 2
- •Контрольные вопросы
- •Список использованных источников
- •Содержание
Задание 2
Условие: Используя подпрограмму-функцию, вычислить сумму четных элементов в трех одномерных массивах.
Программа:
{Лабораторная работа №8. Задание №2}
{Программирование с использованием подпрограмм} {пользователя}
{Выполнена Ф.И.О.}
{Группа }
program massiv;
uses crt;
type mas=array[1..100] of integer;
var i,n:integer;
a,b,c:mas;
summaA,summaB,summaC,summa:integer;
function chetn(n:integer;d:mas): integer;
var s:integer;
begin
s:=0;
for i:=1 to n do
if d[i] mod 2=0 then s:=s+d[i];
chetn:=s;
end;
{--------основная программа-------------}
begin
clrscr;
randomize;
write(' Введите размерность массива А n= ');
readln(n);
for i:=1 to n do
begin
a[i]:=random(101);
write(a[i]:4,'':2);
end;
writeln;
summaA:=chetn(n,a);
writeln('summaA = ',summaA:4);
writeln;
write('Введите размерность массива В n= ');
readln(n);
for i:=1 to n do
begin
b[i]:=random(201);
write(b[i]:4,'':2);
end;
writeln;
summaB:=chetn(n,b);
writeln('summaB = ',summaB:4);
writeln;
write('Введите размерность массива С n= ');
readln(n);
for i:=1 to n do
begin
c[i]:=random(301);
write(c[i]:4,'':2);
end;
writeln;
summaC:=chetn(n,c);
writeln('summaC = ',summaC:4);
writeln;
summa:=summaA+summaB+summaC;
writeln('summa = ',summa:6);
readln;
end.
Результат выполнения программы:
Введите размерность массива А n= 5
9 31 11 56 38
summaA = 94
Введите размерность массива В n= 7
103 24 185 128 27 154 36
summaB = 342
Введите размерность массива С n= 8
234 276 104 119 249 107 293 160
summaC = 774
summa = 1210
Условие: Используя подпрограмму-функцию, вычислить
y = (F(a)+F(b))/(3F(c+a)).
Программа:
{Лабораторная работа №8. Задание №2}
{Программирование с использованием подпрограмм} {пользователя}
{Выполнена Ф.И.О.}
{Группа }
program func;
uses crt;
var y,a,b,c:real;
function f(x:real):real;
begin
f:=sqrt(x)+6*sqr(x)+sin(x)/cos(x);
end;
begin
clrscr;
write(' Введите значение переменной a= ');
readln(a);
write(' Введите значение переменной b= ');
readln(b);
write(' Введите значение переменной c= ');
readln(c);
y:=(f(a)+f(b))/(3*f(c+5));
writeln(' Значение переменной y= ',y:6:3);
readln;
end.
Результат выполнения программы:
Введите значение переменной a= 12.65
Введите значение переменной b= 43.76
Введите значение переменной c= 8.098
Значение переменной y= 4.018
Контрольные вопросы
Указать, при каких условиях целесообразно использование подпрограмм, какие выгоды они предоставляют пользователю.
Указать, в чем отличие различных видов подпрограмм пользователя.
Указать способы обращения к подпрограммам пользователя.
Указать способы передачи параметров в подпрограмму.
Указать, как организовать подпрограмму без параметров.
Перечислить, как согласуются формальные и фактические параметры.
Указать конструкции, которые могут быть формальными и фактическими параметрами.
Пояснить, как и куда осуществляется выход из подпрограммы.