Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практика.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.23 Mб
Скачать

Занятие №8: Организация циклов в программе. Использование реккурентных соотношений

  1. Найти сумму ряда с точностью =10-4, общий член которого

program prac1;

const e=0.0001;

var n:longint;

an,s:real;

begin

an:=0.1;

s:=an;

n:=1;

while an>e do

begin

an:=an*n*0.1;

s:=s+an;

inc(n);

end;

writeln(‘сумма ряда’,s:0:10);

readln;

end.

  1. Вычислить с заданной точностью значения данной функции на интервале от до с шагом h, используя разложение функции в степенной ряд. Значения функции вывести в виде таблицы на интервале от до с шагом h. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, приближённое значение функции, вычисленное с заданной точностью и точное значение, вычисленное с использованием стандартных математических функций. Исходные данные выбрать самостоятельно в соответствии с заданным условием.

program prac2;

uses crt;

const e=0.0001;

var x,s,an,b,h:real;

n:word;

begin

clrscr;

writeln('vvedite a,b,h');

readln(x,b,h);

writeln('x | Fx pribl | Fx tochn');

writeln('_______________________________________');

while x<=b do begin

an:=1;

s:=an;

n:=2;

while abs(an)>e do

begin

an:=-an*sqr(x)/((n)*(n+1));

s:=s+an;

n:=n+2;

end;

if x<>0 then

begin

write(x:0:1,' | ',s:0:12);

if s>0 then write(' ');

writeln(' | ',(sin(x)/x):0:12);

end;

x:=x+h;

end;

readln;

end.

Занятие №9: Процедуры и функции

  1. Составить программу для суммирования простых чисел из промежутка [m;n] . Использовать функцию, проверяющую является ли число простым.

function PROST(n:integer):boolean;

var i,m:word;

begin

m := trunc(sqrt(n));

prost := true;

for i:=2 to m do

if (n mod i) = 0 then

begin

prost:=false;

break;

end;

end;

program prac1;

var a,b:integer;

s:longint;

function PROST(n:integer):boolean;

var i,m:word;

begin

m := trunc(sqrt(n));

prost := true;

for i:=2 to m do

if (n mod i) = 0 then

begin

prost:=false;

break;

end;

end;

begin

writeln('vvedite m,n');

readln(a,b);

while a<=b do

begin

if prost(a) then s:=s+a;

inc(a);

end;

writeln('summa prostih chisel = ',s);

readln;

end.

  1. Составить программу вычисления данного выражения: , где - функция нахождения максимального из двух чисел.

program prac2;

var a,b,c:real;

{****************}

function max(z,x:real):real;

begin

if z>x then max:=z else max:=x;

end;

{****************}

begin

readln(a,b,c);

writeln(((max(a,a+b)+max(a,b+c))/(1+max(a+b*c,1.5*c))):0:4);

readln;

end.

  1. Заданы координаты вершин пятиугольника . Составить программу, определяющую периметр пятиугольника. Вычисление длин сторон оформить в виде функции по известной формуле: .

program prac3;

var x:array[1..10] of real;

var i,j:integer;

x1:real;

function vector(x1,x2,y1,y2:real):real;

begin

vector:=sqrt(sqr(x1-x2)+sqr(y1-y2));

end;

begin

for i:=1 to 5 do

readln(x[i],x[i+5]);

x1:=vector(x[5],x[1],x[10],x[6]);

for i:=1 to 4 do x1:=x1+vector(x[i],x[i+1],x[i+5],x[i+6]);

writeln(x1:0:7);

readln;

end.