Вычисление арифметических выражений на языке Turbo Pascal 7.0

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

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

Технический Университет

«ВоенМех»

имени Д.Ф. Устинова

Отчет

По лабораторной работе по информатике №1

На тему

Вычисление арифметических выражений

на языке Turbo Pascal 7.0

Отчет выполнил студент

Факультета «И»

Суханов Александр

Группа И433

Санкт-Петербург 2003

Лабораторная работа по информатике №1

Тема: вычисление арифметических выражений на языке Turbo Pascal 7.0

Цель: научиться использовать стандартные процедуры и функции языка Pascal для вычисления арифметических выражений.

Вариант: первый

Исходное выражение 1:

Исходное выражение 2: x^a (x  в степени a)

Исходное выражение 3: aÖx (корень a-той степени из x)

1) Листинг программы, вычисляющей выражение 1:

program lab1_1;

var a, b: real;

x,y,z: real;

k: shortint;

begin

write('Введите x: '); readln(x);

write('Введите y: '); readln(y);

write('Введите z: '); readln(z);

if (1-cos(y)*cos(y)>1e-5) then

begin

if x>0 then k:=1 else k:=-1;

if x<>0 then a:=2*cos(x-Pi/6)*exp(ln(abs(x))/3)*k/(1-cos(y)*cos(y))

else a:=0;

writeln('a=',a:10:4);

end else

writeln('Ошибка ввода переменной Y...');

if (z<>1) and (z<>0) then

begin

if z<0 then k:=-1 else k:=1;

b:=1+z*z/(3-3*k/exp(3*ln(abs(z))));

writeln('b=',b:10:4);

end else

writeln('Ошибка ввода переменной Z...');

end.

Пояснения к решению:

1)  переменные: x, y, z – исходные данные (вещественного типа)

a, b – результаты вычислений (вещественного типа)

k – вспомогательная переменная, используется для изменения знака выражения принимает значения 1 и –1 (целого типа)

2)  метод решения: После ввода исходных данных программа проверяет их корректность

(в данном случае проверяет отсутствие знаменателя равного 0). В случае, если данные некорректны, программа выдает сообщение об ошибке ввода  соответствующей переменной. Иначе программа выдает результат вычисления на экран.

Тестовые данные к программе lab1_1:

X=0 Y=1 Z=0 : 

A=0 

Ошибка ввода переменной Z…

X=-1 Y=1 Z=1: 

A=-1.3333

Ошибка ввода переменной Z…

X=1 Y=0 Z=12: 

Ошибка ввода переменной Y   

B= 49.0278

X=1 Y=1 Z=4: 

A=2.5101

B=6.4180  

2) Листинг программы, вычисляющей выражение 2:      

program lab1_2;

var a, x: integer;

result: real;

begin

write('Введите число: '); readln(x);

write('Введите степень числа: '); readln(a);

if (a=0) and (x=0) then

begin

writeln('Error');

halt;

end

else

begin

if (a=1) or (x=1) or (x=0) then result:=x

else if (a=0) then result:=1

else

begin

result:=exp(a*ln(abs(x)));

if (x<0) and (a mod 2=1) then result:=-result;

end;

end;

writeln(result:7:4);

end.

Тестовые данные к программе lab1_2:

X=2 A=2

4.00

X=-2 A=2

4.00

X=-2 A=3

-8.00

X=1 A=12

1.00

X=0 A=1

0.00

X=4 A=-2

0.0625

3) Листинг программы, вычисляющей выражение 3:      

program lab1_3;

var  x, a: integer;

result: real;

begin

write('введите число: '); readln(x);

write('введите степень корня: '); readln(a);

if (a=0) or (x<0) and (a mod 2 = 0) then

begin

writeln('Error');

halt;

end

else

begin

if (x=1) or (x=0) or (a=1) then result:=x

else

begin

result:=exp(ln(abs(x))/a);

if (x<0) then result:=-result;

end;

end;

writeln(result:6:3);

end.

Тестовые данные к программе lab1_2:

X=8 A=3

2.00

X=4 A=-2

0.5

X=-8 A=2

Error

X=-8 A=3

-2.00

X=0 A=2

0.00

X=4 A=0

Error

Вывод: Я научился использовать стандартные функции языка Pascal для вычисления арифметических выражений. Для закрепления изученного материала были написаны программы        (lab1_1, lab1_2, lab1_3), в которых использовались эти функции. Произведенные тесты этих программ позволяют сделать вывод об их правильности. Особенностью написания программ на компьютере является отсутствие информации о вводимых значениях. То есть мы не можем сказать, какое число пользователь захочет ввести, поэтому обязательным условием правильности программы является проверка вводимых пользователем данных на корректность.

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.