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

Lab2

.docx
Скачиваний:
3
Добавлен:
19.07.2019
Размер:
155.79 Кб
Скачать

Федеральное агентство по образованию

Московский государственный открытый университет

Рязанский институт (филиал)

Кафедра информационных технологий

Информатика

отчет

по

лабораторной работе №2

Выполнил студент группы 285

Ерёмин С.Н.

Проверил доцент

Засорин С.В.

Рязань, 2009

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

С

Начало

хема алгоритма:

Ввод x, a, b

нет

да

нет

да

Вывод «y»

Конец

Текст программы:

Program lab2_1;

Var

a,b,x,y:real;

Begin

Writeln('vvedite x, a, b');

Read(x,a,b);

If x>pi then

Begin

y:=1-exp(-a*x+b)*sin(a*x+b);

End

else

If x<=-pi then

Begin

y:=1-(exp(-a*x)+exp(a*x))*sin(a*x);

End

else

Begin

y:=1-exp(-a*x)*(a*x+b);

End;

Writeln('rezultat vichisleniya y=',y:6:2)

End.

Результаты выполнения:

vvedite x, a, b

-4 1 1

rezultat vichisleniya y=-40.33

vvedite x, a, b

0 1 1

rezultat vichisleniya y= 0.00

vvedite x, a, b

5 1 1

rezultat vichisleniya y= 1.01

Задание №2: Треугольник задан координатами своих вершин xi, yi, i=1, 2, 3 на плоскости. Определить, является ли заданный треугольник равнобедренным.

С

Начало

хема алгоритма:

Ввод x1,y1,x2,y2,x3,y3

Расчет расстояний s1, s2, s3

s1=s2 или s2=s3 или s1=s3

нет

Треугольник равнобедр.

Треугольник не равнобедр.

да

Конец

Текст программы:

Program lab2_2;

Var

s1,s2,s3,x1,y1,x2,y2,x3,y3:real;

Begin

Writeln('vvedite koordinati vershin treugolnika');

Read(x1,y1,x2,y2,x3,y3);

s1:=Sqrt(sqr(x2-x1)+sqr(y2-y1));

s2:=Sqrt(sqr(x3-x2)+sqr(y3-y2));

s3:=Sqrt(sqr(x1-x3)+sqr(y1-y3));

if (s1=s2)or(s2=s3)or(s3=s1) then

Begin

Writeln('treugolnik ravnobedrenniy');

End

else

Begin

Writeln('treugolnik ne ravnobedrenniy');

end

End.

Результаты выполнения:

vvedite koordinati vershin treugolnika

1 2

3 4

5 6

treugolnik ravnobedrenniy

vvedite koordinati vershin treugolnika

45 43

87 67

9 6

treugolnik ne ravnobedrenniy

Задание №3: Точки А, В, С заданы своими координатами xi, yi, i=1, 2, 3 на плоскости. Определить, какая из точек является наиболее удаленной, а какая наименее удаленной от точки D(x4,y4)

С

1

2

хема алгоритма:

Начало

s2<s1 и s2<s3

Ввод x1,y1,x2,y2,x3,y3

нет

да

т.B менее удалена

т.C менее удалена

Ввод x4, y4

Расчет расстояний s1, s2, s3

Конец

s1>s2 и s1>s3

нет

т.А более удалена

s2>s1 и s2>s3

да

нет

т.B более удалена

т.C более удалена

да

s1<s2 и s1<s3

да нет

т.А менее удалена

1

2

Текст программы:

Program lab2_3;

Var

s1,s2,s3,x1,y1,x2,y2,x3,y3,x4,y4:real;

Begin

Writeln('vvedite koordinati 3-x tochek');

Read(x1,y1,x2,y2,x3,y3);

Writeln('vvedite koordinati tochki D');

Read(x4,y4);

s1:=Sqrt(sqr(x4-x1)+sqr(y4-y1));

s2:=Sqrt(sqr(x4-x2)+sqr(y4-y2));

s3:=Sqrt(sqr(x4-x3)+sqr(y4-y3));

if (s1>s2)and(s1>s3) then

Begin

Writeln('tochka A > udalena');

End

else if (s2>s1)and(s2>s3) then

Begin

Writeln('tochka B > udalena');

End

else

Begin

Writeln('tochka C > udalena');

End;

if (s1<s2)and(s1<s3) then

Begin

Writeln('tochka A < udalena');

End

else if (s2<s1)and(s2<s3) then

Begin

Writeln('tochka B < udalena');

End

else

Begin

Writeln('tochka C < udalena');

End;

End.

Результаты выполнения:

vvedite koordinati 3-x tochek

1 2

2 3

3 4

vvedite koordinati tochki D

1 1

tochka C > udalena

tochka A < udalena

vvedite koordinati 3-x tochek

9 0

-10 0

0 8

vvedite koordinati tochki D

0 0

tochka B > udalena

tochka C < udalena

З адание №4: Составить программу, в которой по заданному значению аргумента x определяется значение функции y, заданной в виде графика

y

0

-a a 2a x

-b

С

Начало

хема алгоритма:

Ввод x, a, b

x<-a или x>a и x<2a

нет

y=0

да

нет

y=a

и

да нет

y=-bx/a+b

y=bx/a+b

да

Вывод y

Конец

Текст программы:

Program lab2_4;

Var

x,y,b,a:real;

Begin

Writeln('vvedite x, a, b');

Read(x,a,b);

if (x<-a)or(x>a)and(x<2*a) then

Begin

y:=0

End

else if (x>=2*a) then

Begin

y:=a

End

else if (x>=-a)and(x<=0) then

Begin

y:=-b*x/a+b

End

else

Begin

y:=b*x/a+b

End;

Writeln('znachenie y=',y:6:2)

End.

Результаты выполнения:

vvedite x, a, b

1 2 3

znachenie y= 4.50

vvedite x, a, b

3 4 -5

znachenie y= -8.75

Задание №5: Составить программу, которая после введенного с клавиатуры чмсла в диапазоне от 1 до 999, обозначающего денежную единицу, дописывает слово «рубль» в правильной форме. Например, 12 рублей, 21 рубль, 3 рубля и т.д.

Схема алгоритма:

Текст программы:

Program Lab2_5;

Var

x,n,m:integer;

Begin

Writeln('vvedite chislo');

Read(x);

if x>100 then

Begin

n:=x mod 100;

End;

if (x>=11)and(x<=14) then

Begin

Writeln('rubley');

End

else if (n<=14)and(n>=11) then

Begin

Writeln('rubley');

End

else

Begin

m:=x mod 10;

Case m of

0,5..9: writeln(' rubley');

1: writeln(' rubl');

2..4: writeln(' rubla');

End;

End;

End.

Результаты выполнения:

vvedite chislo

400

Rubley

vvedite chislo

1

rubl

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]