Мегаобучалка Главная | О нас | Обратная связь


Программирование алгоритмов линейной структуры



2019-11-20 185 Обсуждений (0)
Программирование алгоритмов линейной структуры 0.00 из 5.00 0 оценок




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

 

Задача 16: C = A + B*D - Вычисления по простейшей формуле

Схема программы                                Текст программы на Фортране

Фиксация названия задачи                   Program Formula1

1.Вывод на экран названия задачи     1 print *,’ Formula1’

2.Ввод с клавиатуры трех чисел         2 Print *,’ Vvedite A, B, D’

с именами A, B, D                            Read(*,*)A,B,D

3 Вычисление С = А + В* D                 3 C= A + B* D

4. Бесформатный вывод на экран        4 Print *,’ C=’, C

числового значения С.                                   

5.Останов                                                       5 Pause; Stop;     End

 

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

Иногда после вычислений результаты появляются на экране и сразу исчезают. В этом случае полезно поставить дополнительно оператор приостанова Pause .

        

    Задача 17. «ALGUR2»

 Программирование решения системы двух линейных

 уравнений способом определителей(по формулам Крамера)

Исходные данные: a1, b1, c1, a2, b2, c2;        Требуется вычислить x, y

Схема программы

1.Вывод сведений о программе           

2.Ввод из области DATA значений a1, b1, c1, a2, b2, c2 и вывод их на экран

3.Вычисление определителей

; ;   

4. Вычисление x, y: x = – d1/ d; y= – d2/ d

5.Вывод на экран х, у

6.Контроль: 

Вычисление y1 = a1*x + b1*y + c1; y2 = a2*x + b2*y + c2;

Вывод на экран у1, у2; Конец

у1, у2 – невязки уравнений; в случае правильного решения значения у1, у2

будут достаточно малыми по модулю, близкими нулю.

Правильность вычислений проверяется визуально

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

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

Program ALGUR2

1 Print *,'ALGUR2';     

2 continue

DATA a1,b1,c1/10., 4., 20./;     print *,’ a1,b1,c1 =’, a1,b1,c1

DATA a2,b2,c2/4., –10., –20./     print *,’ a2,b2,c2 =’, a2,b2,c2

3 d = a1*b2 - a2*b1;                      d1=c1*b2 - c2*b1;

 d2 = a1*c2 - a2*c1;                             Print *,'3 d,d1,d2= ', d,d1,d2;

4 x = – d1/d;                                         y = – d2/d;             

Print *,'x,y=', x,y;

5 Print *,'5 KONTROL';     y1=a1*x+b1*y-c1;   y2=a2*x+b2*y-c2

Print *,'y1,y2=',y1,y2

 STOP;             End:

 

      Результаты вычислений

ALGUR2

a1, b1, c1 = 10.000000      4.000000  20.000000

a2,b2,c2 = 4.000000     -10.000000 -20.000000

3 d,d1,d2 = -116.000000 -120.000000 -280.000000

x,y=  1.034483   2.413793

5 KONTROL

y1, y2= -4.768372 E-07 0.000000 E+00

Эту же задачу можно решим методом Гаусса

 

Разделим первую строку на a1 и умножим на a2, затем вычтем

из строки 2 преобразованную строку 1

6  a = a2 – a1/a1*a2 = 0;  b = b2 - b1/a1*a2;       c = c2 - c1/a1*a2; 

 Коэффициент при х окажется равным нулю. Получили одно уравнение

b* y + c = 0, отсюда 

              y = - c/ b; x=(- b1* y - c1)/ a1

    Полужирным шрифтом выделены расчетные формулы.


Задача 18: «TREUGOL1»

Вычисление параметров

прямоугольного треугольника.  

                                                                       Рис.6.2.1. К задаче 18

 

Изображение треугольника abc дано на рис6.1.                

Дано: ac, bc; требуется вычислить ab,

синус и косинус угла а, площадь S. Ввиду простоты задачи сразу приводим текст программы на Фортране.

 

Program TREUGOL1

PRINT *,’TREUGOL1’

PRINT *,’VVOD AC,BC’;            READ(*,*)AC,BC;

AC=SQRT(AC**2+BC**2); SINA=BC/AB;          COSA=AC/AB;

S=BC*AC/2.

PRINT *,’AC,SINA,COSA,S=’, AC,SINA,COSA,S;  STOP;   END

                                                                            

В данном случае SINA – это не синус известного угла А, а значение синуса вычисляемое по формуле, поэтому ее следует рассматривать как простую переменную и нельзя писать SIN( A) так как SIN – имя функции, а выражение в скобках – аргумент, значение угла в радианах.

Задача 19: «TREUGOL2»

 Вычисление части площади треугольника (Рис. 6.2.2).

 В прямоугольном треугольнике даны два катета  а c, bс. Требуется вычислить площадь Sade треугольника ade.

 

Порядок вычислений:


SINa=bc/ab;    COSa=ac/ab

dc=ac*SINa;    ad=ac*COSa;

de=ad*SINa

ae=ad*COSa

Sade=de*ae/2;                  

 

Блок-схему и текст программы                   Рис. 6.2.2. К задаче 19.

подготовьте самостоятельно

Задача 19: «трапеция1»



2019-11-20 185 Обсуждений (0)
Программирование алгоритмов линейной структуры 0.00 из 5.00 0 оценок









Обсуждение в статье: Программирование алгоритмов линейной структуры

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (185)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)