Академический Документы
Профессиональный Документы
Культура Документы
Задание №1…………………………………………………………………….….2
Задание №2………………………………………………………………………..3
Задание №3…………………………………………………………………..…….4
Задание №4………………………………………………………………………...6
Задание №5…………………………………………………………………….…..8
Задание №6…………………………………………………………………….…10
Задание №7…………………………………………………………………...…..12
Задание №8……………………………………………………………………….14
1
Задание №1
Реализовать вычисление выражений z1 и z2 из задания лабораторной работы
№2 и проверку их на равенство друг другу с помощью функций следующего
вида
Исходные данные:
x, y – значение переменных;
Результат:
- Z1 и Z2- значения функций.
- Вывод на экран сообщения - равны Z1 и Z2или нет.
Листинг программы
var
x,y:real;
pr:boolean;
function proverka(x,y:real):boolean;
var
z1,z2:real;
begin
z1:=power(cos(x),4)+power(sin(y),2)+1/4*power(sin(2*x),2)-1;
z2:=sin(y+x)*sin(y-x);
if Abs(z1-z2)<1E-9 then
proverka:=true
else
proverka:=false;
end;
begin
writeln('Введите х и у');
readln(x,y);
pr:=proverka(x,y);
if pr then
writeln('z1 равно z2')
else
writeln('z1 не равно z2');
end.
2
Иллюстрация работы приложения
Задание 2
Реализовать вычисление значение функции из задания 1 лабораторной
работы № 3 с помощью отдельной подпрограммы.
Исходные данные:
- x – значение аргумента x;
- r – радиус.
Результат:
- y- значение функции.
Листинг программы
3
var
x,r:real;
y:real;
function znachenie(x,r:real):real;
begin
if x<-6 then
znachenie:=-sqrt(power(r,2))-power(x,2)
else
if x<2 then
znachenie:=(x+2)/2
else
if x < 6 then
znachenie:=0
else
znachenie:=power(x-6,2);
end;
begin
writeln('Введите x и r');
readln(x,r);
y:=znachenie(x,r);
writeln('y=',y);
readln
end.
Задание 3
Написать программу для реализации определения попадания точки в
заштрихованную область из задания №2 лабораторной работы №3 (модуль 1)
с помощью отдельной функции.
4
Исходные данные:
- x - значениe аргументaх;
- y – значение функции.
Результат:
- Вывод сообщения о попадании точки в область.
Листинг программы:
program p3;
var
x,y,r:real;
k:boolean;
function popadanie(x,y,r:real):boolean;
begin
if (x>=0) and (r<=sqrt(power(x,2)+power(y,2))) then
popadanie:=true
else
if (x<=0) and (x<=r) and (y<=x) then
popadanie:=true
else
if (x<=0) and (x<=r) and (y>=-x) then
popadanie:=true
else
popadanie:=false;
end;
begin
WriteLn('Введите x,r и y');
ReadLn(x);
ReadLn(r);
ReadLn(y);
k:=popadanie(x,y,r);
if k=true then
begin
writeln('Точка принадлежит данной области')
end
else
begin
writeln('Точка не принадлежит данной области');
end;
readln
end.
5
Иллюстрация работы приложения
Задание 4
Выполнить задание №3 (модуль 2), описывая точку на плоскости с помощью
структуры (записи).
Исходные данные:
Запись Point(включающая в себя координаты х и у);
Результат:
Вывод сообщения о попадании точки в область.
type point=record
x:real;
6
y:real;
end;
var
a:point;
r:real;
k:boolean;
function popadanie(a:point;r:real):boolean;
begin
if (a.x>=0) and (r<=sqrt(power(a.x,2)+power(a.y,2))) then
popadanie:=true
else
if (a.x<=0) and (a.x<=r) and (a.y<=a.x) then
popadanie:=true
else
if (a.x<=0) and (a.x<=r) and (a.y>=-a.x) then
popadanie:=true
else
popadanie:=false;
end;
begin
writeln('Введите x');
readln(a.x);
writeln('Введите y');
readln(a.y);
writeln('Введите r');
readln(r);
k:=popadanie(a,r);
if k=true then
begin
writeln('Точка принадлежит данной области')
end
else
begin
writeln('Точка не принадлежит данной области');
end;
readln
end.
7
Задание 5
Написать программу для реализации вывода на экран таблицы значений
функции из задания №1 лабораторной работы №4 (модуль 1) с помощью
отдельных подпрограмм.
Исходные данные:
a – начало отрезка;
b – конец отрезка;
n – количество разбиений;
r – радиус.
Результат:
Вывод таблицы значений функции.
Листинг программы
var
r: real;
a, b: real;
n: integer;
8
h := (b - a) / n;
repeat
y := znachenie(x,r);
writeln(x:0:3, ' ', y:0:3);
x := x + h;
until(x > b);
end;
begin
writeln('Введите r');
readln(r);
Writeln('Введите концы отрезка');
Readln(a, b);
Writeln('Введите число на которое делится отрезок');
readln(n);
vivod(r, a, b, n);
readln
end.
Задание 6
Цель работы: написать программу для реализации стрельбы по мишени
из задания №2 лабораторной работы №4 (модуль 1) с помощью отдельных
подпрограмм. Проверка попадания выстрела в мишень выполняется с
помощью отдельной функции. Необходимо определить процент попадания в
мишень.
9
Исходные данные:
x - значениe аргументaх;
y – значение функции;
n – количество выстрелов.
Результат:
Вывод сообщения о проценте попадания.
Листинг программы
var
r, pr: real;
n: integer;
begin
writeln('Введите количество выстрелов');
readln(n);
writeln('Введите r');
readln(r);
pr := procent(n, r);
writeln('процент поаданий ', pr);
readln
end.
Задание 7
Цель работы: выполнить задание №6 (модуль 2), описывая точку на
плоскости с помощью структуры (записи) .
11
Исходные данные:
Запись point (включающая в себя координаты х и у);
Результат:
Вывод сообщения о проценте попадания.
Листинг программы
type
point = record
x: real;
y: real;
end;
var
r, pr: real;
n: integer;
begin
writeln('Введите количество выстрелов');
readln(n);
writeln('Введите r');
readln(r);
pr := procent(n, r);
writeln('процент поаданий ', pr);
readln
end.
Задание № 8
Цель работы: написать программу для реализации вычисления ряда из
задания №3 лабораторной работы №4 (модуль 1) тремя способами с
помощью отдельных функций.
Способы:
13
Вычисление ряда с заданной точностью;
Вычисление ряда с заданной точностью, но не больше заданного
максимально допустимого количества членов ряда.
Исходные данные:
x- значениe аргументaх;
eps – заданная точность;
Nmax – количество слагаемых.
Результат:
Вывод на экран суммы ряда, посчитанной тремя способами.
Листинг программы
var
Nmax: integer;
x, eps, summa1, summa2, summa3: real;
begin
WriteLn('Введите Nmax');
readLn(Nmax);
WriteLn('x');
readLn(x);
WriteLn('eps');
readLn(eps);
summa1 := max(x, Nmax);
writeln('Вычисление суммы заданного количества членов ряда ' + 'summa=',
summa1);
summa2 := pogreshnost(x, eps);
writeln('Вычисление ряда с заданной точностью ' + 'summa=', summa2);
summa3 := maxpogreshnost(x, eps, Nmax);
writeln('Вычисление ряда с заданной точностью, но не больше заданного
максимально допустимого количества членов ряда ' + 'summa=', summa3);
readln
end.
15