Комментарии к заданию. 1. Имена переменных предпочтительно выбирать со смыслом (например, длина окружности С=2pR : Circle=2*Pi*Radius).
1. Имена переменных предпочтительно выбирать со смыслом (например, длина окружности С=2pR : Circle=2*Pi*Radius).
2. Громоздкие формулы рекомендуется упрощать, вводя промежуточные переменные для частей формулы: повторяющиеся части формулы, числители и знаменатели дробей и так далее.
3. Восстановив формулу по выражению в программе, найдете ошибки.
4. Типичные ошибки в арифметических выражениях – см. раздел 8.3.
Пример
Исходное значение аргумента из ОДЗ: x=3.3
Область допустимых значений (ОДЗ)
x > 3
Промежуточные переменные
Повторяющаяся часть формулы:
Знаменатель формулы y1:
Программа
ProgramFormula ! тема: вычисления по формулам
! студент (фамилия, имя) группа № работа № вариант №
Implicit None !переменные должны быть объявлены без умолчаний
Real::x=3.3,y1,y2,yd,s1 ! [pro1] инициализация переменной x (из задания)
! <== потом z1, z2 - объявить здесь же
Open(6,file=’result.txt’) ! закомментировать «open» - вывод на экран
![pro2] диалог по консоли: пригласить Write(*,*)’х=?’ читать Read(*,*)x
![pro3] Open(1,file=’input.txt’) – для чтения x из файла №1 Read(1,*) x
Write(6,*) ’at х=’,x
s1 = Sqrt(x**2-9)! повторяющаяся часть формулы
yd = x**2 - 2*x - 3 + (x-1)*s1! знаменатель y1
y1 = (x**2 + 2*x - 3 + (x+1)*s1) / yd
Write(6,*) ’y1=’, y1
y2 = Sqrt(x+3) / Sqrt(x-3)
Write(6,*)’y2=’, y2
! OK: в y1 и y2совпали 6 – 7 значащих цифр
End ProgramFormula ! <== далее – добавить вычисление z1,z2
Последовательность работы над программой
Проект [pro1] с Real:: x=3.3 приведен в программе, а [pro2], [pro3], показаны комментариями.
Составить три проекта:
- [pro1] - предъявить на ПК;
- [pro2] - предъявить на ПК с данными, введенными в диалоге;
- [pro3] - распечатать проект с данными из файла (3 комплекта чисел);
Определить область допустимых значений (ОДЗ) исходных данных. Отладить программу с данными, указанными в задании [pro1].
[pro1] Отладка завершена, если в y1 и y2 совпали 6 - 7 цифр.
[pro2] Организовать диалог по вводу исходных данных:
a) пригласить к вводу данных Write(*,*) ’x>3 x=?’
b) добавить в программу ввод данных с консоли Read(*,*) x
c) вычислить и вывести результирующие значения y1 и y2.
[pro3] Взять данные из ОДЗ, подготовив файл in.txt :
a) открыть файл in.txt для чтения данных Open(1,file=’in.txt’);
b) используя цикл, ввести данные и получить 3 комплекта ответов
dok=1,3
- ввести один комплект данных из файла in.txt;
- вычислить y1 и y2, z1 и z2;
- вывести результаты с указанием имен переменных;
Enddo
Контрольные вопросы к защите работы
1. Что называется программой на алгоритмическом языке?
а) файл на диске; б) файл, внутри которого есть слово program;
в) дайте свой развернутый вариант ответа.
Примечание. Вы просматриваете на экране текстовый файл. Можете ли Вы утверждать, что это файл с программой?
2. Вы работаете с компилятором, опишите что должно обязательно присутствовать в имени файла с программой на Фортране 90:
а) хотя бы одна буква; б) слово fortran; в) свой вариант ответа – приведите примеры имен файлов с программами на Фортране 90.
3. Как записать комментарий в программе?
а) начать его с красной строки; б) начать его с «//» ; в) дайте свой вариант ответа. Приведите примеры комментариев.
4. Какие числовые типы данных используют в Фортране? Приведите примеры числовых констант.
5. Можно ли вещественную константу 6420 записать на Фортране без десятичной точки? Если можно, то как это сделать?
6. Как записать на Фортране комплексное число 19+4i ?
7. Какие имена переменных в программе записаны верно, а какие нет?
а) F1 б) Y(X) в) X_1 г) Б5 д) Z.8 е) 3J ж) β4
8. Как правильно вызвать функцию sinx ?
а) sinX б) sinx в) sin(x)
9. Определите значение переменной M в результате вычисления:
Integer:: N=1, M; M = 1/((2*N+1)*(2*N+2))
10. В каком порядке выполняются операции в числовом выражении?
а) со скобками; б) без скобок. Разъясните оба случая.
11. Определите значение переменной В в результате вычисления:
real:: А=2.0, B; B = -A**2
12. Исправьте ошибки:
a) записан как sqrt(4);
b) вещественный корень записан как sqrt (4,0) ;
c) комплексный корень записан какsqrt (-4);
d) комплексный корень записан какsqrt (-4.0);
e) комплексный корень записан какsqrt (-4,0) .
13. Отрицательное число не возводят в вещественную степень, почему?
14. Записать в Фортране известные величины – дюжина, число π, число e, скорость света c = 3.108:
а) в виде констант; б) как значения, точные для компьютера.
15. Определите значения переменных ВиC в результате вычисления:
real:: А=2.0, B,C; B = 1/2*A; C = 1/(2*A)
16. Как формулу записать в Фортране?
Указание. Правильность ответов на вопросы: (9), (11), (15), (16) проверьте на компьютере.
Дата добавления: 2016-02-13; просмотров: 759;