Линейный вычислительный процесс 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Линейный вычислительный процесс



Цель работы: получение практических навыков при программировании линейных вычислительных процессов.

Теоретическая часть

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

Этапы линейного вычислительного процесса - ввод исходных данных, вычисление значений искомых переменных, вывод на экран результатов вычислений - выполняются однократно и последовательно друг за другом вне зависимости от исходных данных (см. рис. 2.1).

 
 

 


Рис. 2.1. Блок-схема линейного вычислительного процесса.

Для реализации линейного вычислительного процесса необходимы операторы присваивания, ввода и вывода.

В результате выполнения оператора присваивания переменная принимает значение некоторого выражения.

Примеры операторов:

x1:= (-b+sqrt (sqr (b)-4*a*c)) / (2*a);

м:= 0.231;

Во всех случаях вначале вычисляется значение выражения, расположенного справа от комбинации символов: =, а затем вычисленное значение присваивается переменной, расположенной слева. Для того чтобы оператор присваивания мог быть выполнен, необходимо, чтобы все переменные, которые входят в выражение, имели некоторые значения.

Для ввода данных и вывода результатов используются операторы ввода и вывода.

Ввод может выглядеть, например, так:

read (a);

readln(x1, x2,y);

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

При выполнении оператора ввода переменным присваиваются значения исходных данных. Те числа, которые являются исходными данными, надо своевременно набрать на клавиатуре компьютера. Пусть на клавиатуре набрано число 3.6, тогда в результате выполнения оператора read (a) переменная а получит значение 3.6, после чего начнет выполняться следующий оператор программы.

При чтении числовых данных в использовании операторов read и readln нет различий.

Оператор вывода состоит из идентификатора write и следующего за ним в круглых скобках списка переменных, выражений и констант:

write (x, 2*x-a, sqrt(x), ' Результат=', y);

В Паскале имеется оператор вывода writeln, который выполняется так же, как write, с той разницей, что после его выполнения последующий вывод данных будет начинаться с новой строки экрана. Переход на новую строку без вывода значений, в соответствии со сказанным, может быть предписан с помощью оператора writeln без списка данных или, более четко, writeln (‘ ‘) - напечатать пробел, т.е. ничего не напечатать, и перейти на другую строку.

Например, последовательность операторов вывода

writeln; writeln (‘x1=‘,(-b+d)/a); writeln (‘x2=‘,(-b-d)/a);

задает вывод результатов в следующем виде:

x1=...

x2=...

Пример 2.1. Программа kopni вычисляет корни квадратного уравнения ax2+bx+c=0, заданного коэффициентами a, b, c (предполагается, что а ¹ 0 и что дискриминант уравнения неотрицателен):

Программа 2.1.

program kopni;

var a, b, c: real;

begin

writeln ('Введите значения a, b, c');

read (a, b, c);

write((-b+sqrt(sqr(b)-4*a*c))/(2*a),

(-b-sqrt(sqr(b)-4*a*c))/(2*a),

end.

При выполнении этой программы придется дважды вычислить значение sqrt(sqr(b)-4*a*c) и дважды - значение 2*a. Поэтому более разумным вариантом будет программа:

Программа 2.2.

program kopni;

var a, b, c, d, e: real;

begin

writeln ('Введите значения a, b, c');

read (a, b, c);

d:=sqrt(sqr(b)-4*a*c));

e:=2*a;

writeln ('корень 1= ',(-b+d)/e,' корень 2 = ',(-b-d)/e)

end.

При выполнении оператора writeln пользователь увидит на экране результат в экспоненциальном виде, где под вещественное число отведено 17 позиций, например:

корень 1=-7.2436795801Е+01

Изменить стандартную форму вывода, можно используя систему форматов языка Паскаль.

Рассмотрим систему форматов для вывода информации.

В списке оператора write можно указывать размер поля для каждой из выводимых величин, другими словами, количество позиций для данных.

Так, для вывода числа 999 будут требоваться три позиции.

Для вывода числа -23.045 требуется семь позиций (с учетом знака и десятичной точки), из которых три позиции будет занимать дробная часть.

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

Если указанный размер поля меньше требуемого, то значение печатается без пробелов и учета указанного пользователем поля.

Для вывода вещественных данных указывается общая длина поля и количество позиций под дробную часть (в том числе).

Если требуется, то дробная часть числа округляется до указанного количества позиций.

Рассмотрим примеры вывода данных. Так, если значения переменных d и s соответственно равны "1234" и "-123.451", при выполнении оператора вывода с форматами, результаты представлены в таблице 2.1

 

Таблица 2.1

Оператор Представление результата Примечание
writeln (d:4)    
writeln (d:7) _ _ _1234  
writeln (d:12) _ _ _ _ _ _ _ _1234  
writeln (d:2)   вывод без учета указанного поля
writeln (s:9:3) _-123.451  
writeln (s:8:1) _ _-123.5  
writeln (s:12:2) _ _ _ _ _-123.45  
writeln (s:4:3) -123.451 вывод без учета указанного поля

 

При форматированном выводе оператор writeln программы 2.2 может быть следующим:

writeln ('корень 1= ', (-b+d)/e:12:4,

' корень 2 = ', (-b-d)/e:12:4)

Задание к лабораторной работе

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

1. По заданным коэффициентам уравнения прямой линии на плоскости (Ах + By + С = 0) должен вычисляться угол (в градусной мере, образуемый этой прямой с положительным направлением оси ОХ (полагается, что A ¹О, В ¹ 0).

2. По заданным коэффициентам уравнения прямой линии на плоскости (Ах + By + С = 0) и координатам некоторой точки Р (хо, уо) должна вычисляться абсолютная величина отклонения точки от прямой.

3. По заданным координатам двух точек на плоскости Р1 (x1, y1) и Р22, у2) должно вычисляться расстояние между ними.

4. По заданным координатам точки Р (хо, уо) должно вычисляться расстояние точки от начала координат.

5. По заданным коэффициентам уравнений двух непараллельных прямых (A1x + B1y + C1 = О, А2Х + В2у + С2 = 0) должны вычисляться координаты точки пересечения этих прямых.

6. По заданным координатам вершин треугольника Р1 (x1, y1), Р22, у2) и Р33, у3) должна вычисляться его площадь.

7. По заданным координатам вершин треугольника Р1 (x1, y1), Р22, у2) и Р33, у3) должен вычисляться его периметр.

8. По заданным диаметрам D1 и D2 двух окружностей с общим центром должна вычисляться площадь образуемого ими кольца.

9. По заданным координатам центра Р0о, уо) и некоторой точки окружности Р1 (x1, y1) должны вычисляться длина окружности и площадь круга, образованного ею.

10. По заданным коэффициентам уравнения прямой линии на плоскости (Ах + By + С = 0) должны вычисляться площадь и периметр прямоугольного треугольника, образованного отрезком этой линии и полуосями координат, исходящими из их начала (полагается A ¹О, В ¹ 0, С ¹ 0).

11. По заданным коэффициентам уравнения прямой на плоскости (Ах + By + С = 0) должно вычисляться наименьшее расстояние между началом координат и прямой.

12. По заданным радиусу окружности с центром в начале координат R и координатам некоторой точки Р (хо, уо) должно вычисляться наименьшее расстояние от точки Р до окружности.

13. По заданным стороне А и диагонали D прямоугольника должны вычисляться его периметр и площадь.

14. По заданным основанию А и высоте Н равнобедренного треугольника должны вычисляться его периметр и площадь.

15. По заданным катету А и гипотенузе С прямоугольного треугольника должны вычисляться периметр и площадь треугольника.

16. По заданным декартовым координатам вершин четырехугольника Р1(x1,y1), P2(x2,y2), P3(x3,y3),P4(x4,y4) должен вычисляться его периметр.

17. По заданным основанию А и стороне B, а также углу F (в градусах), образованному основанием и стороной, должна вычисляться площадь треугольника.

18. По заданным основаниям трапеции А и В, высоте H, углу при основании F (в градусах) вычисляется периметр трапеции.

19. По заданным радиусам R1 и R2 двух окружностей с общим центром и центральному углу F (в градусах) должна вычисляться площадь части кольца.

20. По заданным координатам центра одной окружности x1,y1 с радиусом R1 и центра другой окружности x2,y2 с радиусом R2 должно вычисляться наименьшее расстояние между окружностями.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 462; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.97.157 (0.013 с.)