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

Министерство образования РФ.

Филиал Московского Государственного Индустриального

Университета в г. Вязьма.

Отчёт по лабораторной работе № 2.

Дисциплина: «Прикладная информатика в экономике»

Тема: «Разработка алгоритмов вычислительных процессов»

Группа: 03ИД1

Студент: Афанасьев Виктор Валерьевич.

Преподаватель: Соколова Наталья Валентиновна.

2003г.

Цель: разработать алгоритм решения задания согласно полученному варианту и разработать блок-схему разработанного алгоритма средствами редактора MS Word.

Задание: ввести значения четырёх чисел х1, х2, х3, х4. Вычислить значение переменной y1, y2, y3, y4, z, при условии, что Y1:=1/sqr(8*x1-x4), Y2:=(2*x1+5*x2)/ln(4*x1-x2), Y3:=ln(5*x3-11)+e^(12*x1+x4),

Y4:=(cos(x3)-5*sin(x4)/sqr(2*cos(x3)-sin(x4)), z:=ln(y1+y2+y3+y4)

Краткие теоретические сведения.

Структура программы на Турбо Паскаль

Программа на языке Паскаль состоит из заголовка, разделов описаний и раздела операторов. Заголовок программы содержит имя программы, например:

Program PRIM;

Описания могут включать в себя:

  • раздел подключаемых библиотек (модулей);

  • раздел описания меток;

  • раздел описания констант;

  • раздел описания типов;

  • раздел описания переменных;

  • раздел описания процедур и функций.

Раздел операторов представляет собой составной оператор, который содержит между служебными словами

begin.......end

последовательность операторов. Операторы отделяются друг от друга символом ;. Текст программы заканчивается символом точка.

Кроме описаний и операторов Паскаль - программа может содержать комментарии, которые представляют собой произвольную последовательность символов, расположенную между открывающей скобкой комментариев { и закрывающей скобкой комментариев }.

Операторы ввода и вывода

Ввод данных:

Для ввода исходных данных чаще всего используется процедура ReadLn:

ReadLn(A1,A2,...AK);

Процедура производит чтение К значений исходных данных и присваивает эти значения переменным А1, А2, ..., АК.

При вводе исходных данных происходит преобразование из внешней формы представления во внутреннюю, определяемую типом переменных. Переменные, образующие список ввода, могут принадлежать либо к целому, либо к действительному, либо к символьному типам. Чтение исходных данных логического типа в языке Паскаль недопустимо.

Значения исходных данных могут отделяться друг от друга пробелами и нажатием клавиш табуляции и Enter.

Не допускается разделение вводимых чисел запятыми!

Вывод данных:

Для вывода результатов работы программы на экран используются процедуры:

Write(A1,A2,...AK);

WriteLn(A1,A2,...AK);

Первый из этих операторов производит вывод значений переменных А1, А2,...,АК в строку экрана. Второй оператор, в отличие от первого, не только производит вывод данных на экран, но и производит переход к началу следующей экранной строки. Если процедура writeln используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки.

Оператор условного перехода

Оператор условного перехода в Турбо Паскаль имеет вид:

if условие then оператор 1 else оператор 2;

условие - это логическое выражение, в зависимости от которого выбирается одна из двух альтернативных ветвей алгоритма. Если значение условия истинно (TRUE), то будет выполняться оператор 1, записанный после ключевого слова then. В противном случае будет выполнен оператор 2, следующий за словом else, при этом оператор 1 пропускается. После выполнения указанных операторов программа переходит к выполеннию команды, стоящей непосредственно после оператора if.

Необходимо помнить, что перед ключевым словом else точка с запятой никогда не ставится!

else - часть в операторе if может отсутствовать:

if условие then оператор 1;

Тогда в случае невыполнения логического условия управление сразу передается оператору, стоящему в программе после конструкции if.

Типы данных

Идентификатор

Длина (байт)

Диапазон значений

Операции

Целые типы

integer

2

-32768..32767

+, -, /, *, Div, Mod, >=, <=, =, <>, <, >

byte

1

0..255

+, -, /, *, Div, Mod, >=, <=, =, <>, <, >

word

2

0..65535

+, -, /, *, Div, Mod, >=, <=, =, <>, <, >

shortint

1

-128..127

+, -, /, *, Div, Mod, >=, <=, =, <>, <, >

longint

4

-2147483648..2147483647

+, -, /, *, Div, Mod, >=, <=, =, <>, <, >

Вещественные типы

real

6

2,9x10-39 - 1,7x1038

+, -, /, *, >=, <=, =, <>, <, >

single

4

1,5x10-45 - 3,4x1038

+, -, /, *, >=, <=, =, <>, <, >

double

8

5x10-324 - 1,7x10308

+, -, /, *, >=, <=, =, <>, <, >

extended

10

3,4x10-4932 - 1,1x104932

+, -, /, *, >=, <=, =, <>, <, >

Логический тип

boolean

1

true, false

Not, And, Or, Xor, >=, <=, =, <>, <, >

Символьный тип

char

1

все символы кода ASCII

+, >=, <=, =, <>, <, >

Алгоритм решения задачи в виде блок-схемы:

F:=0

нет да

Y1:=1/sqr(8*x1-x4)

F:=1

+

Нет да

Y2:=(2*x1+5*x2)/ln(4*x1-x2)

F:=1

D:=2.7

Нет да

I:=I+1

F:=1

d:=d*2.7

+

Y3:=ln(5*x3-11)+d

нет да

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

Program lab_2;

var

x1,x2,x3,x4,i:integer;

z,y1,y2,y3,y4,f,d:real;

Begin

f:=0;

writeln('Вычисление значения функции');

writeln('Введите значения х');

read(x1,x2,x3,x4);

if 8*x1-x4>0 then

begin

y1:=1/sqrt(8*x1-x4);

writeln('y1=',y1);

end

else

begin

f:=1;

writeln('функция y1 не определена');

end;

if 4*x1-x2>0 then

begin

y2:=(2*x1+5*x2)/ln(4*x1-x2);

writeln('y2=',y2);

end

else

begin

f:=1;

writeln('функция y2 не определена');

end;

if 5*x3-11>0 then

begin

d:=2.7;

for i:=1 to 12*x1+x4-1 do d:=d*2.7;

y3:=ln(5*x3-11)+d;

writeln('y3=',y3);

end

else

begin

f:=1;

writeln('функция y3 не определена');

end;

if 2*cos(x3)-sin(x4)>0 then

begin

y4:=(cos(x3)-5*sin(x4))/sqrt(2*cos(x3)-sin(x4));

writeln('y4=',y4);

end

else

begin

f:=1;

writeln('функция y4 не определена');

end;

if ((y1+y2+y3+y4)>0) and (f=0) then

begin

z:=ln(y1+y2+y3+y4);

writeln('z=',z);

end

else

begin

writeln('функция z не определена');

end;

readln;

readln;

end.

Тестовые примеры:

Пример 1:

Входные данные:

Х1:=2, X2:=3, X3:=6, X4:=1

Выходные данные:

Y1:=2,5819888975E-01

Y2:=1,1805363757E+01

Y3:=6,0826678775E+10

Y4:=-3,1262413855E+00

Z:=2,4831294325E+01

Пример 2:

Входные данные:

Х1:=1, X2:=2, X3:=2, X4:=3

Выходные данные:

Y1:=4,4721359550E-01

Y2:=1,7312340491E+01

Ф-я y3 не определена

Ф-я y4 не определена

Ф-я z не определена

Выполнил:_______________________

Защитил:_________________________

Соседние файлы в папке Лабораторная работа1