Контрольная работа - Программирование алгоритмов с линейной, разветвляющейся и циклической структурами на алгоритмическом языке Фортран
скачать (120.5 kb.)
Доступные файлы (1):
1.doc | 121kb. | 24.11.2011 13:16 | ![]() |
содержание
- Смотрите также:
- 3 Составление простейших вычислительных программ циклической структуры [ документ ]
- Составление программ циклической структуры [ документ ]
- Понятия и виды программирования [ документ ]
- Линейная алгебра и математическое программирование [ лабораторная работа ]
- Классы задач линейного, нелинейного и стохастического программирования. Вариант 3 [ лабораторная работа ]
- Методические указания по выполнению курсовой работы Ижевск 2020 Введение [ документ ]
- (вариант 4) [ документ ]
- Введение. Многоликое программирование [ документ ]
- по ассемблеру [ документ ]
- Отчет по практической работе №1 Вариант №16 с тудент группы п-172 /А. Л. Регель/ (подпись) 20 г [ документ ]
- Ответы на билеты. Алгоритмические языки и программирование [ шпаргалка ]
- построение и анализ множественной линейной производственной функции и нелинейной регрессии Кобба-Дугласа [ лабораторная работа ]
1.doc
БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТКафедра «Строительная механика»
Контрольная работа №1
По информатике на тему: «Программирование алгоритмов с линейной, разветвляющейся и циклической структурами на алгоритмическом языке Фортран»
Студент Шифр 008
Задача 1. Очертание кривой линии на отрезке


№ | Исходные данные | Данные для тестового примера | ||
![]() | ![]() | Кол-во частей разбиения, ![]() | Отрезок ![]() | |
008 | ![]() | ![]() | 5 | ![]() |
Решение.
Анализ характера кривой. arctg(0.4x) = cos(0.4x)/sin(0.2x+1).
если знаменатель равен нулю, то тангенс равен ∞ и в этой точке линия имеет разрыв. При очень малых значениях cos(0.2x+1) зачения tg(0.2x+1) может оказаться очень большим и не будет иметь практического смысла. Поэтому значение cos(0.2x+1) будем сравнивать с малым числом, например, V = 10-10.
Результаты вычислений вручную h = (B – A)/n = [7 – 2]/5 = 1
Номер точки | x | g1(x)= = 0,6(|x|-3)**2 | 0.4x | sin(0.4x) | g2(x)= =3*arctg(0.4x) | Y(x)= g1(x)+g2(x) |
1 | 2 | 0,6 | 0,8 | |0,717|>V | 2,024 | 2,624 |
2 | 3 | 0 | 1,2 | |0,932|>V | 2,628 | 2,628 |
3 | 4 | 0,6 | 1,6 | |1,000|>V | 3,037 | 3,637 |
4 | 5 | 2,4 | 2 | |0,909|>V | 3,321 | 5,721 |
5 | 6 | 5,4 | 2,4 | |0,675|>V | 3,528 | 8,928 |
6 | 7 | 9,6 | 2,8 | |0,335|>V | 3,683 | 13,283 |
По результатам вычислений построим кривые g1(x), g2(x), y(х). Они представлены на рисунке ниже

Схема программы | Текст программы на фортране |
Фиксация имени программы Функции пользователя Вывод данных об авторе работы Заданиее исходных данных и вывод их на экран Вычисление шага изменения Вывод на экран оглавления таблицы результатов Начало цикла. Переменная цикла i Вычисление текущего значения х Вычисление значения g1(x) Вычисление значения g2(x) Вычисление значения у Вывод результатов Конец цикла Конец текста программы | program Kontr1 G1(x)=0.6*(ABS(x)-3)**2 G2(x)= 3*ATAN(0.4*x) Print *,'Rabota1 Student Е Shifr 008' data A,B,N/2.,7.,5/ print 1,A,B,N V=1.E-10 format(1X,'A,B=',2F8.2, 'N=',I3) H=(B-A)/N print *,'H=',H print 5 5 format(10X,2X,'I',8X,'X',18X,'Q1',12X,'0.4X',7X,'Q2',10X,'Y') DO I=1,N+1 X=A+H*(I-1) Q1=G1(X) IF(sin(0.4*X).LT.V)Q2=777777 IF(ABS(sin(0.4*X)).GT.V)Q2=G2(X) ^ END DO pause END |
Задача 2. Последовательность из



№ | Результат обработки элементов массива ^ с учетом их признаков | Признаки элементов | Данные для тестового примера | |
m | c | |||
8 | Найти произведение элементов массива и их количество | по модулю больших С | 9 | 5 |
Схема программы | Текст программы на фортране |
Фиксация имени программы Описание массива B размерностью 9 и переменных С и Р целого типа Вывод данных об авторе работы Задаем значения размерности массива и числа С и выводим их на экран по формату Вводим массив с клавиатуры Начальное число элементов по модулю больших С=5 равно нулю Начальное произведение этих элементов равно 1 Начало цикла. Переменная цикла i Проверяем выполнение условия В(i)<=C и если оно выполняется считаем число таких элементов и находим их произведение Окончание цикла Проверяем наличие элементов массива удовлетворяющих условию задачи и если они отсутствуют выводим сообщение об этом(метка 3) Выводим результаты работы программы на экран Конец текста программы | program Kontr2 integer C,P,B(9) Print *,'Rabota2 Student E Shifr 008' data M,C/9,5/ print 1,M,C 1 format(1X,'M=',I3,5X, 'C=',I3) READ(5,*) (B(I),I=1,M) K=0. P=1. DO 2 I=1,M IF (ABS(B(I)).GT.C) K=K+1 IF (ABS(B(I)).GT.C) P=P*B(I) 2 CONTINUE IF (K.EQ.0) goto 3 print *,'proizvedenie elementov P=',P 3 Print *,'Chislo elementov K=',k pause END |
Задача 3. Составить программу вычисления значения функции с учетом области определения

№ | Исходные данные | Данные для тестового примера | |||
![]() | ![]() | ![]() | а | b | |
008 | ![]() | ![]() | ![]() | 3 | 9 |
Схема программы | Текст программы на фортране |
Фиксация имени программы Вывод данных об авторе работы Присваиваем переменным A и B значения и выводим их на экран по формату Вводим значение X c клавиатуры Проверяем выполнения попадания введенного значения Х в область определения функции Вычисляем значение функции если Х<A Вычисляем значение функции если Х>=A и X<=B Вычисляем значение функции если X>B Выводим значение функции на экран Конец текста программы | program Kontr3 Print *,'Rabota3 Student E Shifr 008' data A,B/3.,12./ print 1,A,B 1 format(1X,'A=',E12.4,5X, 'B=',E12.4) 2 Print *,'Vvedite X=' READ(5,*) X P=7./2. V=1.E-10 if (X**2.GE.P.and.X.LT.A) goto 2 if (sin(0.1*X-2.).GT.V.and.X.LT.B) goto 2 if (X.LT.A) f=2.*X/SQRT(7.-2.*X*X) if (X.GE.A.and.X.LE.B) f=1./tan(0.2*X) if (X.GT.B) f=1/sin(0.1*X-2.) Print *,'F=',F pause END |
Скачать файл (120.5 kb.)