Программирование алгоритмов линейной структуры
В линейном вычислительном алгоритме все вычисления выполняются последовательно от начала к окончанию, порядок вычислений не изменяется, алгоритм содержит конечное число шагов.
Задача 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»
Популярное: Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (185)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |