Учебно-методическое пособие. Алматы, 2017 ббк


Запись данных в текстовый файл. Двухмерный массив



бет66/106
Дата03.01.2022
өлшемі483.39 Kb.
#451845
түріУчебно-методическое пособие
1   ...   62   63   64   65   66   67   68   69   ...   106
УЧЕБНИКПаскаль(100217)

    Бұл бет үшін навигация:
  • Debug

2.8.3. Запись данных в текстовый файл. Двухмерный массив

В предыдущем параграфе вы научились открывать файл текстового типа и записывать в него информацию. Было показано, что используя процедуру write() – можно записывать данные в строчку, а используя процедуру writeln() – можно данные записывать в столбик. Воспользуемся этими знаниями, что бы решить следующую задачу:

С клавиатуры вводится двухмерный массив, элементы которого являются целыми числами, максимальная размерность массива 100х100. Необходимо написать программу, которая записывает этот массив в текстовый файл с именем ‘MayFile5.in’ с учетом расположения элементов массива.

Так же как и задача рассмотренная в предыдущем параграфе она состоит из двух основных этапов:

1) Ввод данных с клавиатуры;

2) Запись данных в файл именем 'mayFile5.in'.

Для выполнения первого этапа надо:


  • ввести размерность реального массива чисел, которое будет вводиться с клавиатуры;

  • зная размерность массива, воспользовавшись вложенным циклом с параметром присвоить элементам массива конкретные значения.

Текст процедуры ввода данных можно взять из программы Primer_9. Текст процедуры обработки данных остается без изменений по той же причине, что и в программе PrimerF1.

Рассмотрим процедуру записи элементов массива в файл 'mayFile5.in':


procedure exi;

var


FileOut : text;

begin


{связь переменной с конкретным именем файла}

assign (FileOut, ‘mayFile5.in’);

{открытие файла для записи}

rewrite(FileOut);

{запись размерности массива и перевод курсора на новую строку}

writeln(FileOut, KolichestvoStrok,’ ‘,KolichestvoStolb);

for i:=1 to KolichestvoStrok do

begin


{запись элементов строки массива в строку через пробел}

for j:=1 to KolichestvoStolb do

write (FileOut, Chislo [i,j],’ ‘);

{перевод курсора на новую строку, после завершения работы цикла по j}

writeln(FileOut);

end;


{закрытие файла}

close(FileOut);

end;
О том, что текст основной программы не меняется можно не говорить. Сохраните эту программу под именем PrimerF5. Перед тем как запустить эту программу сделаем следующее:

- Установите курсор на строку с которой начинается описание процедуры Exi;

- Активизируйте главное меню интегрированной среды;

- Выберите из главного меню опцию Debug;

- выберите действие Breakpoint ;

- нажмите клавишу Enter или произведите действие «Cliсk».

В окне редактора данная строка будет выделена цветом. Теперь запустите программу на выполнение, нажав комбинацию клавиш "Crtl+F9". Введите исходные данные с клавиатуры. После ввода данных программа остановится и на экране компьютера появится окно редактора интегрированной среды. То есть своими предыдущими действиями мы дали указание программе приостановить работу на этой строке. Для продолжения работы можно снова нажать комбинацию клавиш "Crtl+F9", но лучше воспользуемся клавишей "F7" и посмотрим, как работает процедура Exi.

Эти действия делаются для того, что бы сделать трассировку определенного участка программы, так как при большом размере программ проводить полную трассировку бывает достаточно утомительно и необязательным. Так как исповедуя структурный подход к программированию мы имеем (см п.п.1.5):

1. Возможность «работать» (программировать) с отдель­ным модулем.

2. Независимость «умозрительных» машин одного уровня позволяет независимо модифицировать блоки про­граммы без затрагивания других блоков. Как отмечал Э. Дейкстра: “…модификации программ могут быть теперь представлены заменой одной (умозрительной) машины дру­гой подходящей машиной”.

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

Рис 2.8.
При трассировке текста процедуры обратите внимание на работу составного оператора.

begin


{запись элементов строки массива в строку через пробел}

for j:=1 to KolichestvoStolb do

write (FileOut, Chislo [i,j],’ ‘);

{перевод курсора на новую строку, после завершения работы цикла по j}

writeln(FileOut);

end;

Рис 2.9.
Для удаления точки остановки, произведем следующие действия:

- Активизируйте главное меню интегрированной среды;

- Выберите из главного меню опцию Debug;

- Выберите действие Breakpoint List ;

- Нажмите клавишу "Enter" или произведите действие «Cliсk»..

На экране появится диалоговое окно Breakpoint List (точки остановки) (рис 2.9) в котором будет выведен список всех точек остановки установленных в программе.


- Выделите элемент списка;

- Нажмите кнопку "Delete"(диалогового окна) или клавишу "D"(клавиатура).

Данная точка останова будет удалена из списка.



Достарыңызбен бөлісу:
1   ...   62   63   64   65   66   67   68   69   ...   106




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет