Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_F1.doc
Скачиваний:
31
Добавлен:
17.07.2019
Размер:
171.01 Кб
Скачать

3. Ошибки компиляции

Загрузить файл с текстом программы F2.FOR :

Нажать на имя файла F2.FOR в Вашем каталоге (или File – Open – F2.FOR) .

Файл загрузится в оболочку FORTRAN по расширению файла

Обратите внимание на структуру программы

НАЧАЛО

Заголовок

ОПИСАНИЯ

[ИНИЦИАЛИЗАЦИЯ]

Исполняемая часть

КОНЕЦ

Откомпилируйте программу.

Для этого создайте новый проект.

Проверьте !!! совпадение 2-х имен: Файла (окна) и имени проекта !!!!

Это важно для работы компоновшика.

Это достаточно распостраненная ошибка, когда не закрывая Оболочку фортрана, открывают новый исходный файл и пытаются его откомпилировать в предыдущем проекте.

(при работе с другими версиями!!! компиляторов Фортрана может потребоваться и совпадение имени программы )

Следует откомпилировать и запустить программу F2.FOR.

Build – Compile

После компиляции в нижнем «окошке» появится сообщение компилятора. Это сообщене компилятора полностью просматривается с помощью правого скролинга – ползунка окна.

Compiling Fortran...

Z:\ Inform\Lab_F1\F2.FOR

Z:\ Inform\Lab_F1\F2.FOR(36) : Error: Syntax error, found '*' when expecting one of: ( : % . = =>

PRNT * ! ! пример неверного оператора

-------------^

Error executing df.exe.

F2.obj - 1 error(s), 0 warning(s)

Найдите первое!!! сооощение об ошибке . Z:\Inform\Lab_F1\F2.FOR(36) : Error: Syntax error, found '*' when expecting one of: ( : % . = => и дважды щелкните левой кнопкой мыши по нему – это сообщение будет выделено синим цветом, как на рисунке.

Компилятор нашёл ошибку в 36 строке текста. Номер строки отображается справа внизу окна оболочки Ln 36, Col 1 -- Line(строка) 36 , позиция курсора 1 (У Вас могут быть другие значения). Компилятор также выводит характеристику ошибки и ошибочную инструкцию.

Исправьте ошибку (возможны 2 варианта исправления):

  1. закомментировать всю строчку или

  2. исправить инструкцию PRNT

!!! При исправлении ошибок НАДО начинать исправлять Первую ошибку. Все остальные ошибки могут зависить от Первой ошибки.

Поэтому в окошке с сообщениями об ошибках необходимо сразу подниматься на самый верх к первой ошибке , а не анализировать последнюю строку, которая видна после компиляции.

Скомпонуйте исправленный файл и посмотрите выполнение программы.

Обратите внимание вызов компилятора и т.д. быстрее осуществляется с помощью кнопок на панели инструментов.

Закройте проект File : Close WorkSpace .

4. Использование сетевой тестирующей системы для проверки работы программ

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

Задачи носят учебный характер, при этом часто это задания для освоения определённых конструций языка, а не задачи для быстрого решения любым способом.

В своем рабочем каталоге найдите файл 1100.FOR и загрузите его в оболочку CVFS для компиляции.

Для чтения числа из внешнего файла мы открываем файл Input.txt

OPEN(1,FILE='Input.txt') (связали файл Input.txt с «каналом ввода» номер 1)

READ(1,*) K - чтение числа и запоминание в переменной K из 1 КАНАЛа (файл Input.txt )

И наконец само действие программы - вывод значения переменной K

PRINT *, K

Для создания исполняемой программы запускаем компиляцию и компоновку.

Запустите программу на исполнение.

Посмотрите на значение, выведенное на монитор:

Там должно быть тоже число , что и в файле Input.txt

Задание: Решите задачу 1100 . Внимательно выполните то, что написано ниже.

Отредактируйте файл 1100.FOR:

1. Редактирование комментария-"шапки"

- Уберите Primer 3

- Поменяйте фамилию преподавателя на Вашу фамилию

- Измените номер группы 1100 на Вашу группу

- Измените дату на текущую дату

2. Редактирование программы

- Поменяйте имя программы Prim3 на F1100

- Поменяйте фамилию преподавателя на Вашу фамилию

- Измените номер группы 1100 на Вашу группу

- Измените дату на текущую дату

- Поменяйте Input.txt на input.txt

Сохраните отредактированный файл (Ctrl -S).

Проверьте компиляцию файла - (Ctrl-F7)

При правильном и внимательном редактировании у Вас не должно быть ошибок.

Если ошибки возникли , то проверьте с начала Ваше редактирование.

Запустите и Проверьте новое решение.

Отредактированный Файл 1100.for будет ВАШИМ шаблоном для решения следующих задач. НЕ удаляйте этот файл, и не переименовываете его.

Теперь следует проверить правильно ли Ваше решения выполняется под компилятором Fortran77 (GNU Public License или GPL,), установленным. для сетевой тестирующей системы.

Нажмите по ссылке Тестирующая система по ИНФОРМАТИКЕ для 1 курса ___(НОЦ)

( Эта же ссылка доступна при открытии файла T:\Informatika\onlinelink.htm )

Выберите Lab_F1. Далее – Выберите ссылку «На_занятие».

Зарегистрируйтесь.

Своё имя для входа в тестирующую систему найдите в файле: T:\Informatika\ список_ejude.txt . Пароль получите у преподавателя, сообщив своё имя и фамилию. (Обязательно Запишите это имя и пароль).

Отправьте на проверку задачу 1100 – отправляется Ваш файл 1100.for : Z:\Inform\Lab_F1\ 1100.for

Возможно при проверке программа 1100.for будет выдана ошибка, т.к. Вы не выполнили полностью редактирование файла. Часто имена входного и выходного файла заданы в программе Input.txt и Output.txt , что не верно, т.к. по условию задачи эти имена должны быть input.txt и output.txt , а ОС-Linux тестирующего сервера различает регистр символов и input.txt и Input.txt для Linux’а - совершенно разные файлы.

Закройте оболочку Фортрана.

Задание: Решите задачу 1101

Указание:

скопируйте файл 1100.FOR в файл 1101.FOR :

В TotalCommander’е , выберите файл 1100.FOR, нажмите F5, сразу наберите 1101.* , OK ;

отредактируйте файл 1101.FOR.

При редактировании пользуйтесь операциями Копирование (Ctrl-C) и Вставка (Ctrl-V)

Обязательно поменяйте всё в заголовке и выводе программы. Иначе, потом всё равно придётся это сделать, но время будет потеряно.

Обратите внимание на оформление (структурированность) написания программы (см далее). Учитесь делать это сразу. Хорошие привычки надо заводить СРАЗУ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]