Лабораторная работа № 8. Функции Вариант 12 Pascal
Описание работы
Работа пользователя И. Нестеров
Задание 1. Дано условие задачи и программа, ее решающая. Предложить набор тестов для проверки работоспособности программы
Вариант 12. Составить программу, которая вычисляет функцию Y на основе площадей двух кругов (радиусы вводятся с клавиатуры). Для вычисления площади круга использовать функцию.
Program PL;
Var r1,r2,y: real;
function krug(a:real):real;
var s:real;
begin
s:=Pi*a*a;
krug:=s;
end;
begin
writeln(' Введите два радиуса окружности');
readln(r1,r2);
y:=2*(krug(r1)+ krug(r1))+sqrt(krug(r2)+22);
writeln('y=', y);
end.
Задание 2. Дана программа, содержащая синтаксические и алгоритмические ошибки. Исправить их. Представить правильный вариант программы и проверить его тестами
Вариант12.
Program sig;
Var I: integer;
function sign(a:real):real;
var s:real;
begin
if a>0 then s:=sqr(a)+ 5*a;
if a<0 then s:=1;
if a=0 then s:=12;
sign:=s;
end;
begin
writeln(' Введите числа x,y');
readln(x,y);
for n:=1 To 5 Do
begin
z:= i*(sign(x)+ sign(y));
writeln('z= ',z);
end;
end.
Задание 3. Решить задачу.
Вариант 12. Вычислить значение функции y=min + 2* min+b, определив и использовав функцию min, которая равна минимальному числу среди вводимых:a,b.
Задание 4. Решить задачу.
Вариант 12. В некоторой фирме заработная плата работников начисляется в зависимости от: прибыли (P); некоторой минимальной заработной единицы(S); порядкового номера должности (N), который тем выше, чем выше должность. Вычислить первые 7 заработных плат по формуле: N*S(p), задав премию и определив функцию S, если S=0,15*P+0,05*P+3400.
Вариант 12. Составить программу, которая вычисляет функцию Y на основе площадей двух кругов (радиусы вводятся с клавиатуры). Для вычисления площади круга использовать функцию.
Program PL;
Var r1,r2,y: real;
function krug(a:real):real;
var s:real;
begin
s:=Pi*a*a;
krug:=s;
end;
begin
writeln(' Введите два радиуса окружности');
readln(r1,r2);
y:=2*(krug(r1)+ krug(r1))+sqrt(krug(r2)+22);
writeln('y=', y);
end.
Задание 2. Дана программа, содержащая синтаксические и алгоритмические ошибки. Исправить их. Представить правильный вариант программы и проверить его тестами
Вариант12.
Program sig;
Var I: integer;
function sign(a:real):real;
var s:real;
begin
if a>0 then s:=sqr(a)+ 5*a;
if a<0 then s:=1;
if a=0 then s:=12;
sign:=s;
end;
begin
writeln(' Введите числа x,y');
readln(x,y);
for n:=1 To 5 Do
begin
z:= i*(sign(x)+ sign(y));
writeln('z= ',z);
end;
end.
Задание 3. Решить задачу.
Вариант 12. Вычислить значение функции y=min + 2* min+b, определив и использовав функцию min, которая равна минимальному числу среди вводимых:a,b.
Задание 4. Решить задачу.
Вариант 12. В некоторой фирме заработная плата работников начисляется в зависимости от: прибыли (P); некоторой минимальной заработной единицы(S); порядкового номера должности (N), который тем выше, чем выше должность. Вычислить первые 7 заработных плат по формуле: N*S(p), задав премию и определив функцию S, если S=0,15*P+0,05*P+3400.