Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаба №1 - 1 семестр-1 курс - вариант 3

.docx
Скачиваний:
11
Добавлен:
01.04.2014
Размер:
55.45 Кб
Скачать

Министерство образования Республики Беларусь

Учреждение образования

БелорусскиЙ государственный университет

информатики и радиоэлектроники

Факультет компьютерных систем и сетей

Кафедра программного обеспечения информационных технологий

оТЧЕТ

по учебной практике

Выполнил

Студент гр. 251004

Руководитель

Асс. Е.Е. Фадеева

Минск, 2012

Задача 1.

program program1;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

y: Double = 0;

n: Byte = 1;

begin

repeat / начало цикла ( простой, внешний, с постусловием, итерационный )

y := y + (cos(n*pi/2)*cos(n*pi/2))/(n*(n+1)*(n+2));

n := n + 1;

until n > 10; / конец цикла

WriteLn('y = ', y:5:3);

ReadLn;

end.

Начало

y:=0; n:=1;

n := n + 1;

n > 10

Вывод y

Конец

да

нет

y := y + (cos(n*pi/2)*cos(n*pi/2))/(n*(n+1)*(n+2));

Задача 3.1.1

Вычислить значение функции f(x,n) для n = 10; 11; … 15 и значения x, изменяющегося от xн = 0.6 до xк = 1.1 с шагом ∆x = 0.25. Результат вывести на печать в виде

n = Значение x = Значение f = Значение

program program2;

{$APPTYPE CONSOLE}

uses

SysUtils;

var

k: Integer;

x, s, s1,s2, s3, f, p: real;

begin

x := 0.6;

repeat / начало цикла 1 ( сложный, внешний, с постусловием,

s := 0; итерационный)

for k := 1 to 15 do / начало цикла 2 ( простой, вложенный,

begin с предусловием, с параметром )

p := exp((2*k-1)*ln(x));

s1 := p + 1/7 ;

s2 := exp(x/k);

s3 := exp(ln(x)*(k-1)/k);

s := s + s1/ sqrt (s2+s3);

if k > 9 then

begin

f := ArcTan(x) + s;

writeLn('n = ', n:2, 'k = ':8, x:4:2, 'f = ':8, f:5:3);

end; / конец цикла 2

end;

x := x + 0.25;

until x > 1.11; / конец цикла 1

readLn;

end.

Начало

x := 0.6

sum := 0; p := exp((2*n-1)*ln(x));

s1 := p + 1/7 ;

s2 := exp(x/n);

s3 := exp(ln(x)*(k-1)/k);

s := s + s1/ sqrt (s2+s3));

f := ArcTan(x) + s;

x > 1.1

Вывод k,x,f

Конец

да

нет

x := x + 0.25

k > 9

да

нет

Задача 3.2.2 Даны числа P и Q. Получить все делители числа Q, взаимно простые с P.

Начало

q/i

нет

да

p,q

t:=i; y:=p;

t>0;y>0

нет

да

t>y

нет

да

t:=t/q;

y:=y/t;

Вывод i

Конец

program program3;

{$APPTYPE CONSOLE}

uses

SysUtils;

var p,i,q,t,y:longint;

begin

readln(p,q);

for i:=1 to q do / начало цикла 1 (сложный,внешний,с предусл., итер.)

begin

if q mod i=0 then / начало цикла 2 (сложный,вложенный,с предусл.,итер.)

begin

if p mod i>0 then

writeln(i);

readln;

end; / конец цикла 2

end; / конец цикла 1

end.

Program 12;

program program11;

{$APPTYPE CONSOLE}

uses

SysUtils,Math;

var

a, x, f:real;

begin

x:=-0.5

repeat

a:=-1

repeat

if x<0.5 then

f:=sin(x*x)/a*x*x

if x<0.8 then

f:=sqrt(cos(x));

if x<1 then

f:=1-a*x*x*x;

if 1<x then

f:=a;

a:=a+1;

until a=1;

x:=x+0.2;

until x=3;

writeLn('a = ', a:2, 'x = ':8, x:4:2, 'f = ':8, f:5:3);

readln;

end;

end.

program program13;

{$APPTYPE CONSOLE}

uses

SysUtils,Math;

var

a, x, f:real;

begin

x:=0;

repeat

a:=

repeat

if x<1 then

f:=(1-a*x)/(1+x*x)+sin(x);

if x<1.5 then

f:=

if x<=1.5 then

f:=a+power(x,1/3)*sqrt(cos(x))+1;

if x<2 then

f:=1/a*a;

if 2<x then

1+a*a

a:=a+1;

until a=1;

x:=x+0.1;

until x=2.5;

writeLn('a = ', a:2, 'x = ':8, x:4:2, 'f = ':8, f:5:3);

readln;

end;

end.