Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
98
Добавлен:
14.04.2015
Размер:
3.38 Mб
Скачать
    1. Механизмы присоединения данных Задание

    1. Реализовать два проекта, которые содержат:

      1. ввод данных из файла In.txtна диске и форматный вывод их в результирующий файл Out.txt;

      2. вызовы процедур с различными данными для отладки;

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

      4. форматный вывод в файл Out.txtрезультатов работы каждой процедуры с пояснениями выводимых величин (использовать формулировки из индивидуального задания).

    2. В проекте Container– механизм присоединения объектов носителя.

    3. В проекте ProModule – механизм присоединения объектов модуля.

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

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

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

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

  4. Постановка задачи, методы вычислений.

  5. Описание механизмов обмена данными.

  6. Графическая интерпретация (если требуется), выполненная вручную или пакетом Agrapher.

  7. Блок-схемы главной программы и подпрограмм.

  8. Распечатки текстов всех программных единиц.

  9. Распечатки файлов результатов Out.txt.

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

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

  1. Приступая к выполнению задания, прочтите раздел 5.

  2. В проекте Containerрасчетная процедура – это внутренняя процедура, присоединяющая объекты носителя, которым является внешняя программа.

  3. В проекте ProModuleрасчетная процедура – это модульная процедура, присоединяющая объекты используемого модуля.

  4. Расчетные процедуры в виде внутренней и модульной процедуры не являются самостоятельными программными единицами.

  5. Вызов внутренней или модульной процедуры не требуют Interface.

Пример

В подпрограмме: ввести одномерный массив из файлаin.txt; найти и вывести в файлout.txtномер и значение максимального по модулю элемента массива.

В главной программе: применить подпрограмму к нескольким массивам, предварительно вводя длину каждого массива из файлаin.txt.

Применить механизмы присоединения объектов носителя и модуля.

Проект Container

Главная программа Container– единственная самостоятельная программная единица. В программуContainer вложена внутренняя подпрограмма Subroutine OneArray. ПрограммаContainerявляется носителем данных для подпрограммы OneArray. В ней лишь одна глобальная переменная dArr, указывающая длину массива. Эту переменную заимствует подпрограмма OneArray.

Переменные ARR,NumARR локальны в подпрограммеOneArray.Динамический массивARR локализован в подпрограммеOneArray. Его переменная длинаdARR определена до входа в подпрограмму. Командыallocate и deallocateне нужны – динамический массив размещается автоматически при входе в подпрограмму и освобождается при выходе.

Программа

Program Container ! внешняя программа

Implicit none

Integer dARR !длина автоматического массива ARR

Open(1,File='In.txt') ! файл исходных данных

Open(2,File='Out.txt')!результирующий файл Read(1,*)dARR; Call OneArray('B') ! ввод dARR - длины массива 'B' Read(1,*)dARR; Call OneArray('C') !ввод dARR - длины массива 'C'

contains

Subroutine OneArray(ArrName) ! внутренняя подпрограмма

Соседние файлы в папке Фортран_Лекции