Инструкция по работе в Plato IDE Studio

Среда разработки программ Plato IDE Studio для обучения Fortran. Студия Plato IDE снабжена текстовым редактором, компиляторами, сборщиком, отладчиком. Работа начинается с создания проекта:

- создайте папку d:/PROJ для хранения проектов;

- в папке проектов d:/PROJ создайте папку myProj под новый проект;

- в одной папке может быть лишь один проект.

Создайте новый проект в каталоге с именем myProj
File|New Project|Fortran Application:

- задайте снизу имяпроекта в поле Name;

- через <Browse> выберите место Location для размещения проекта myProj в папке d:/PROJ и нажмите кнопку <Open>, чтобы создать проект.

Варианты включения программы в состав проекта:

1) создать новый текст программы Lab.f90 в Plato IDE Studio и включить в проект по правой кнопке мыши;

2) включить в проект ранее написанную программу labac.f90 через меню Source Files | Add existing item ==> выбрать labac.f90.

Создание нового текста программы Lab.f90 по правой кнопкой мыши в
Project Explorer пункт Source Files | New Item:

- задайте снизу имяпрограммы в поле Name;

- через <Browse> выберите место Location для размещения программы lab.f90 в папке d:/PROJ/myProj и нажмите кнопку Open, чтобы создать программу;

- набрать новый текст программы;

- щелкнуть по правой кнопке мыши – и по кнопке Compile выполнить компиляцию.

Удобно помимо программы включать в проект следующие тексты:

- исходные данные через меню Source Files|Add existing item
==> выбрать myProject/in.txt, тогда при выполнении программы данные будут читаться из файла в текущем каталоге проекта с именем, указанным в операторе open;

- текст результатов – под именем, указанным в операторе open.

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

Вызов – ярлычок Plato IDE. Чтобы закончить работу с программой и сохранить всю информацию, достаточно закрыть приложение, щелкнув по крестику в верхнем правом углу окна приложения. При повторном входе надо загрузить последний проект.

Варианты создания приложения – переключатель Debug|Release:

- Debug – отладочный вариант приложения, выполнение <F7>;

- Release – чистовой вариант приложения, выполнение <Ctrl>+<F5>.

Варианты запуска программы на выполнение:

- Step Info, отладка в пошаговом режиме, после коррекции программы щелкните по клавише <F7>, чтобы скомпилировать, скомпоновать и выполнить программу в отладочном режиме, в отдельном окне;

- Start run, или, что то же самое <Ctrl>+<F5>, чтобы запустить программу без отладки, в чистовом варианте;

Дополнительные возможности по отладке программы:

- <F6> – Continue, продолжить программу;

- <F7> – Step Info, пошаговая отладка,

- <F8> – Step Over, пошагово, не «ныряя» в процедуры,

- <Ctrl>+<F10> – Goto Cursor, идти в отладке до места, указанного курсором,

- чередуя <F7> , <F8>, <Ctrl>+<F10> при «хитрой» отладке,

- отладочный вариант приложения (Debug) работает под Windows-Vista и Windows-7.

Лабораторные работы

Вычисления по формулам

Задание

Составить программу, которая:

1. вычисляет значения двух эквивалентных пар числовых формул
y1 ~ y2 и z1 ~ z2, с указанными в варианте индивидуального задания значениями исходных данных.

2. выводит в файл out.txt исходные данные и результаты вычислений.

Примечания:

a) математически две числовые формулы эквивалентны, если для всех возможных значений переменных их значения равны;

b) эквивалентными на компьютере будем считать значения, совпадающие до 6-7 десятичного знака с одинарной точностью real;

c) функции в формулах задания нельзя заменять другими, кроме тех, которых нет среди встроенных функций, как sec x;

d) формулы задания нельзя упрощать, но рекомендуется вводить вспомогательные (промежуточные) переменные.

Содержание отчета

1. Название работы и номер варианта индивидуального задания.

2. Фамилия, имя, отчество и номер группы студента.

3. Текст задания, формулы в том виде, как они приведены в варианте индивидуального задания.

4. Области допустимых значений (ОДЗ) переменных для y1, y2.

5. Математические формулы для промежуточных переменных (если они используются в программе).

6. Распечатки текста программы и результатов работы программы с тремя комплектами исходных данных.

При подготовке к защите ответить на контрольные вопросы.

Справочная информация

1. Порядок выполнения операций в соответствии их старшинством (приоритетом) показан в Табл.1.

Таблица 1.

Порядок выполнения операций в соответствии их старшинством



Операции Знаки операций Старшинство
Вычисление функций Ссылки на функции
Возведение в степень **
Умножение, деление *, /
Сложение, вычитание +, –

Примечание: порядок выполнения операций изменяют скобки (круглые).

2. Реализация некоторых математических выражений средствами Фортрана показана в Табл. 2; х - вещественный аргумент Sqrt(x) и тригонометрических функций.

Таблица 2.

Реализация некоторых математических выражений средствами Фортрана

В формуле В Фортране   В формуле В Фортране   В формуле В Фортране
sin х Sin(x) Tg х Tan(x) Инструкция по работе в Plato IDE Studio - student2.ru Sqrt(2.)
cos х Cos(x) Ctg х Cotan(x) Инструкция по работе в Plato IDE Studio - student2.ru при х>0 Sqrt(x)
при х<0Sqrt(cmplx(x))
sec х 1/Сos(х) arcsin x Аsin(x) Инструкция по работе в Plato IDE Studio - student2.ru при х>0 x**(1./n)
│b│ Abs(b) π 2*Аsin(1.) при х<0 и n нечетн. -(-x)**(1./n)
при х<0 и n четном cmplx(x)**(1./n)

3. Тип результата числовой операции (целочисленный или вещественный) выбирается автоматически по типу операндов, особо важно понимание этого механизма для операции деления:

a) если операнды целые, в результате взятия целой части частного получается целое число (для 7/4 => 1);

b) если операнды вещественные, в результате получается вещественное число (для 7./4. => 1.75);

c) если операнды разных типов, например, целого и вещественного, перед выполнением операции они приводятся к типу, который соответствует наиболее широкому классу (диапазону) чисел (для 7./4 => 7./4. – к вещественным числам); затем выполняется операция для этого типа с соответствующим результатом:
(7./4 => 7./4. => 1.75).

4. Выполнение операции a**b – возведения в степень ab зависит от типа показателя b:

a) для integer b выполняется b-кратное умножение основания a;

b) для вещественного значения b при a>0 Инструкция по работе в Plato IDE Studio - student2.ru .

Внимание! Отрицательное основание не возводят в вещественную степень.

Комментарии к заданию

1. Имена переменных предпочтительно выбирать со смыслом (например, длина окружности С=2pR : Circle=2*Pi*Radius).

2. Громоздкие формулы рекомендуется упрощать, вводя промежуточные переменные для частей формулы: повторяющиеся части формулы, числители и знаменатели дробей и так далее.

3. Восстановив формулу по выражению в программе, найдете ошибки.

4. Типичные ошибки в арифметических выражениях – см. раздел 8.3.

Пример

Исходное значение аргумента из ОДЗ: x=3.3

Инструкция по работе в Plato IDE Studio - student2.ru

Область допустимых значений (ОДЗ)

x > 3

Промежуточные переменные

Повторяющаяся часть формулы: Инструкция по работе в Plato IDE Studio - student2.ru

Знаменатель формулы y1: Инструкция по работе в Plato IDE Studio - student2.ru

Программа

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) Инструкция по работе в Plato IDE Studio - student2.ru записан как sqrt(4);

b) вещественный корень Инструкция по работе в Plato IDE Studio - student2.ru записан как sqrt (4,0) ;

c) комплексный корень Инструкция по работе в Plato IDE Studio - student2.ru записан какsqrt (-4);

d) комплексный корень Инструкция по работе в Plato IDE Studio - student2.ru записан какsqrt (-4.0);

e) комплексный корень Инструкция по работе в Plato IDE Studio - student2.ru записан как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. Как формулу Инструкция по работе в Plato IDE Studio - student2.ru записать в Фортране?

Указание. Правильность ответов на вопросы: (9), (11), (15), (16) проверьте на компьютере.

Пример контрольного задания

1. Расположите константы в порядке возрастания (представить в одинаковой форме): 24.0; 2.4Е+2; 0.24Е-3

2. b=4.0 – вещественная переменная. Что получим в результате вычисления: 1/2*b; 1/(2*b); b**(1/2); 1/b*2 .

3. Формула Инструкция по работе в Plato IDE Studio - student2.ru была записана как x**1/5 –исправьте ошибки.

4. Запишите на Фортране формулу Инструкция по работе в Plato IDE Studio - student2.ru Инструкция по работе в Plato IDE Studio - student2.ru

5. Чему будут равны значения переменных m, n, k, c, c1 после выполнения программы? В ответах учесть тип переменных.

integer:: m, n, k; real:: a=7.2, b=1.8, c, c1

m=a; n=b; k=a/b+b; c = a/b+b; c1 = m/n+b

Таблица 3.

Варианты индивидуальных заданий «Формулы»

Данные Формулы
a=8.6 b=1.3 c=3.3 a=0.75 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=3.5 b=-2.1 a=0.1 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=3.5 b=0.72 a=0.62 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=4.3 a=0.43 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
m=0.4 n=2.1 a=0.43 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=15.1 a=1.23 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=12.3 a=0.43 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
x=3.2, y=0.8 a=0.81 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
x=1.4 y=2.8 a=0.66 b=0.82 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=2.3 a=0.75 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=0.7 x=0.44 y=0.82 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=5.1 a=0.1 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=5.3 b=2.1 a=0.75 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=1.7 b=2.8 a=0.22 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
m=1.8 a=0.43 b=0.58 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
x=5.3 a=0.3 b=0.1 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
b=4.8 a=0.23 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
x1=2.8 x2=4.8 a=0.97 Инструкция по работе в Plato IDE Studio - student2.ru ; при x £4 y1 ~ y2 ; при x>4 y1 ~ y3 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
x=1.4 y=2.8 a=0.5 b=0.34 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=5.1 a=0.3 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
x=0.3 a=0.77 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=12.3 a=0.24 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=2.3 b=1.89 a=0.23 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
b=3.8 a=0.28 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
p=0.7 a=0.54 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
m1=0.47 m2=2.47 a=0.1 Инструкция по работе в Plato IDE Studio - student2.ru ; при m £ 1.5 y1 ~ y2 ; при m > 1.5 y1 ~ y3 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru   Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
x=4.3 a=1.23 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
m=2.3 a=0.23 b=1.2 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
a=6.3 a=0.1 b=0.7 Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru
m1=0.65 m2=1.65 a=1.43 Инструкция по работе в Plato IDE Studio - student2.ru при m>1 y1 ~ y2 ; при m £1 y1 ~ y3 Инструкция по работе в Plato IDE Studio - student2.ru Инструкция по работе в Plato IDE Studio - student2.ru   Инструкция по работе в Plato IDE Studio - student2.ru ; Инструкция по работе в Plato IDE Studio - student2.ru

Ветвления If и циклы Do

Задание

Заштрихованная часть рисунка в дальнейшем называется областью. Задача состоит в проверке попадания точек (x,y) в заданную область.

Задание содержит рисунок, состоящий из геометрических фигур.

1. Написать программу, которая:

a) для точек каждой контурной линии рисунка составляет таблицу соответствия координат в файлах с расширением .txt;

b) генерирует точки в прямоугольнике, перекрывающем рисунок на 10-20% с каждой стороны, и записывает координаты этих точек в один из двух файлов в зависимости от их нахождения в области.

2. Для графической интерпретации результатов использовать программу Agrapher.

Наши рекомендации