Тема: Строки. Множества. Файловые типы. Текстовые файлы. Процедуры и функции.

 

План занятия:

  1. Строковые переменные и строковые константы.
  2. Встроенные функции для обработки строк.
  3. Математическое определение множеств.
  4. Описание множеств.
  5. Операции над множествами.
  6. Ввод – вывод множеств.
  7. Файлы. файловые переменные. Описание файлов.
  8. Стандартные процедуры для работы с файлами.
  9. Чтение файла.
  10. Запись в файл.
  11. Добавление данных к файлу.
  12. Тектовые файлы. Описание.
  13. Процедуры и функции для работы с текстовыми файлами
  14. Описание процедур и функций. Формальные параметры.
  15. Использование процедур и функций на примере вычисления площади выпуклого четырехугольника.
  16. Область действия переменных.
  17. Отладка программы.

Скачать:

ВложениеРазмер
Microsoft Office document icon lekciya_8.doc106 КБ

Предварительный просмотр:

Лекция №8

Тема: Строки. Множества. Файловые типы. Текстовые файлы. Процедуры и функции.

План занятия:

  1. Строковые переменные и строковые константы.
  2. Встроенные функции для обработки строк.
  3. Математическое определение множеств.
  4. Описание множеств.
  5. Операции над множествами.
  6. Ввод – вывод множеств.
  7. Файлы. файловые переменные. Описание файлов.
  8. Стандартные процедуры для работы с файлами.
  9. Чтение файла.
  10. Запись в файл.
  11. Добавление данных к файлу.
  12. Тектовые файлы. Описание.
  13. Процедуры и функции для работы с текстовыми файлами
  14. Описание процедур и функций. Формальные параметры.
  15. Использование процедур и функций на примере вычисления площади выпуклого четырехугольника.
  16. Область действия переменных.
  17. Отладка программы.

1. Строковые переменные и строковые константы

Данные строкового типа, также как данные символьного, числового, логического типов, подразделяются на переменные, константы и выражения.

Строковые константы – это последовательность символов, заключенных в апострофы, например, ‘Пример’, ‘АВС 1А’.

Строковые константы, также как и числовые, могут быть описаны в разделе описания констант.

Const Str= ‘СТРОКА’;

Переменные строкового типа описываются с помощью служебного слова String:

Var s1,s2:String[N];

где String – служебное слово;

S1,s2 – переменные строкового типа;

N – максимальная длина строки (от 0 до 255).

Строковым переменным можно присваивать значения строковых переменных и строковых констант. Кроме того, мы можем обратиться к отдельному символу в строке. Для этого, после имени переменной, в квадратных скобках необходимо указать его номер, как это делалось с символьными массивами. Отдельный элемент строки – символьная константа, мы можем присвоить ему значение символьной константы, либо символьной переменной.

При считывании значений строковых переменных с клавиатуры во избежании ошибок следует использовать оператор ввода Readln.

При работе со строками часто приходится составлять строку из двух и более строк, прибавлять к строке какие-либо символы и т.д. Для этого в Паскале предусмотрена такая операция, как конкатенация строк (сцепление). Для обозначения конкатенации в Паскале используется знак «+».

Str1:=Str1 + ‘1’+ Str2 + ‘asd’;

 Строки можно сравнивать. Сравнение строк происходит слева направо для первого несовпадающего символа

‘Иванов’< ‘Иванова’

‘Кот’ > ‘Код’

2. Встроенные функции для обработки строк

Для обработки строковых данных используется ряд стандартных процедур и функций. Рассмотрим их. При этом Str, Str1,Str2 – переменные типа String, i,j – выражения типа integer;

Length(Str) – функция, вычисляющая длину переменной Str. Результат функции имеет целочисленный тип.

Copy(Str,i,j) – Функция, которая выделяет из строки Str подстроку длиной j, начиная с позиции i.

Delete(Str,i,j) – Процедура, которая удаляет из строки Str подстроку длиной j, начиная с позиции i.

Insert(Str1,Str2,i) – Процедура, которая вставляет в строку Str1 строку Str2, начиная с позиции i.

  1. Математическое определение множеств

Понятие множества является одним из основных в математике. Оно принадлежит к так называемым первичным, неопределяемым понятиям. Слова «совокупность», «семейство», «система», «набор» и т.п. – синонимы слова «множество». Примерами множеств могут служить множество студентов данной аудитории; совокупность тех из них, которые получают за контрольные двойки; семейство звезд большой медведицы; множество всех целых чисел и т.д. Из приведенных примеров следует, что множества могут содержать конечное или бесконечное число произвольных объектов.

В математике под множеством понимается некоторый неупорядоченный набор элементов.

Объекты, из которых состоит множество, называются его элементами или точками. Пусть Х и У – два множества. Если Х и У состоят из одних и тех же элементов, то эти множества совпадают, и тогда пишут Х=У. Если в Х нет элементов, не принадлежащих У, то говорят, что Х содержится в У, или Y содержит Х. В математике часто используется пустое множество. Оно не содержит ни одного элемента. Пустое множество является подмножеством любого множества.

Количество элементов из которых состоит множество называется мощностью множества. Мощность пустого множества равна 0.

Существует три операции над множествами:

  1. Объединение множеств.

Объединением множеств А и В называется такое множество, каждый элемент которого принадлежит хотя бы одному из множеств - А или В.

  1. Пересечение множеств.

Пересечением множеств А и В называется такое множество, каждый элемент которого принадлежит как множеству А, так и множеству В.

  1. Разность множеств.

Разностью множеств А и В называется такое множество, элементы которого принадлежат множеству А, но не принадлежат множеству В.

        Например, объединение множества девушек вашей группы с множеством учеников, имеющих только отличные оценки будет такое множество, в которое войдут все девушки группы и ребята, имеющие отличные оценки; пересечением этих множеств будет множество девушек-отличниц; а разностью – все девушки, кроме отличниц.

Элементы множества в отличии от массива неупорядочены, поэтому множества {1,2,3}, {3,2,1}, {2,3,1}… - совпадают.

  1. Описание множеств

В Паскале под множеством понимают ограниченный, неупорядоченный набор различных элементов одинакового типа. Множество не может содержать одинаковых элементов. Всему множеству в целом дается имя, которое образуется также, как и имена простых переменных и массивов. Для обозначения множества используются квадратные скобки, в которые заключаются элементы множества: [1,2,3], [‘a’,‘b’,‘c’].  Запись [] обозначает пустое множество. Пустое множество единственное, и принадлежит множествам всех типов.

Как и массивы, и записи, множества могут быть описаны двумя способами:

  1. type имя_типа = set of базовый тип;

var имя_множества:имя_типа;

  1. var имя множества: set of базовый тип;

Здесь базовый тип – тип элементов, входящих в множество.

В Турбо-Паскале максимальная мощность множества равна 256.

В качестве базового типа можно использовать любой простой тип (стандартный, перечисляемый или ограниченный), за исключением типов Integer, Real, так как в этом случае мощность множества будет превышать 256.

 

  1. Операции над множествами

В Турбо-Паскале имеются следующие операции над множествами:

  1. сравнение множеств (совпадают, не совпадают =, <>, включение множеств <, >, <=, >=).
  2. Проверка принадлежности in. Выражение Х in А принимает значение True в том случае, когда Х принадлежит множеству А, в противном случае это выражение принимает значение False, где Х – выражение того же типа, что и элементы множества А.
  3. Присваивание значения :=. Оператор А:=В означает, что переменной А типа множество присваивается текущее значение множества В. Вместо В может использоваться выражение типа множество.
  4. Объединение множеств +.
  5. Пересечение множеств *.
  6. Разность множеств - .

  1. Пример программы с использованием множества

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

program Mn;

var

M:set of char;

Str:String;

c:Char;

i,n:integer;

Begin

 M:=[];n:=0;

 Writeln('Введите строку '); Readln(Str);  {Ввод строки}

 For i:=1 To Length(Str) Do M:=M+[Str[i]];  {Формирование множества}

 For c:='A' To 'z' Do                           {Подсчет кол-ва элементов

   If (c in M) Then n:=n+1;                           в множестве}

 Writeln('Количество различных элементов в строке равно ',n);

End.

  1. Файлы. Файловые переменные. Описание файлов

Удобным способом хранения информации, полученной в ходе выполнения программы, является запись этой информации на магнитный носитель (гибкий, жесткий диски). Запись особенно желательна, если объем информации велик и если в дальнейшем предполагается использовать эту информацию в других программах.

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

Файл – это набор однотипных элементов, с последовательным доступом.

Описание файловой переменной имеет следующий вид:

  1. Type

Имя типа = file of базовый тип;

Var

Имя файла:Имя типа;

  1. Var

Имя файла:file of базовый тип.

В качестве базового типа можно использовать любой тип за исключением типа file.

Пример.

type

  Person = record

    FirstName: string[15];

    LastName : string[25];

    Address  : string[35];

end;

PersonFile = file of Person;

NumberFile = file of Integer;

Доступ к элементам файла осуществляется через файловую переменную (указатель файла). При записи или считывании этот указатель перемещается к следующему элементу и делает его доступным для обработки. В каждый момент для записи или чтения доступен только один элемент файла, на котором установлен указатель. Так как число элементов файла не задается, в Турбо-Паскале существует функция EOF(f). Эта функция возвращает значение True, если достигнут конец файла.

  1. Стандартные процедуры для работы с файлами

Работа с файлами проводится посредством следующих стандартных процедур.

Assign(f,FileName) – связывает файловую переменную f с файлом FileName. Здесь FileName – выражение строкового типа вида

Диск:\имя каталога\имя подкаталога\…\имя файла.

Если имя диска и имя каталога не указывать, то берутся текущий диск и текущий каталог.

Процедуру Assign необходимо использовать до начала работы с файлом.

Reset (f) – открывает файл f для чтения. При этом файловая переменная указывает на первый элемент файла.

ReWrite(f) – открывает файл f для записи. При этом уничтожается вся предыдущая информация в f. Файловая переменная указывает на конец файла (EOF(f)=True).

Read(f, х1,х2,…) – cчитывает в переменные x1,x2… по одному элементу из файла f, начиная с той позиции, на которую установлен указатель. После считывания, указатель перемещается на следующий элемент файла. Процедура Read выполнима только в том случае, когда конец файла не достигнут (EOF(f)=False).

Write(f, x1,x2,…) – записывает в файл f значения переменных x1,x2,… начиная с той позиции, на которую указывает файловая переменная. После записи в файл нового элемента, указатель перемещается на следующую позицию. Функция Write выполнима только в том случае, когда достигнут конец файла (EOF(f)=True).

Close(f) – закрывает файл f.

Seek(f,N) – позволяет осуществить прямой доступ к элементам файла f. Здесь N – целочисленное выражение, соответствующее порядковому номеру элемента в файле. Процедура Seek не выполняет чтения или записи элементов файла, она лишь перемещает указатель к элементу с номером N.(Первый элемент файла имеет номер 0).

Erase(f) – удаляет файл, связанный с файловой переменной f.

Rename(f,NewName) – присваивает файлу, связанному с файловой переменной f новое имя NewName.

Стандартные функции FilePos(f) и FileSize(f) позволяют определить соответственно текущее положение указателя (номер элемента) и размер (количество элементов) файла f.

  1. Чтение файла

Под чтением файла подразумевается ввод данных из внешнего файла в ОЗУ. Внешний файл из которого производится ввод данных называется входным файлом.

Для чтения файла необходимо выполнить следующие операции:

  1. связать фал с файловой переменной;
  2. открыть файл для чтения;
  3. ввести данные файла в память;
  4. закрыть файл.

Пример.

Program Read_File;

var

  F: File Of Char;

  Ch: Char;

  FileName:String;

begin

  Write(‘Введите имя файла:’);Readln(FileName);

  Assign(F, FileName);

  Reset(F);

  while not Eof(F) do

  begin

    Read(F, Ch);

    Write(Ch);  

  end;

  Close(f);

end.

После того, как мы связали файл с файловой переменной с помощью оператора Assign(f, FileName), мы открываем файл с помощью оператора Reset(f). В результате файловая переменная f указывает на первый элемент файла

 С          В         4        К           !        №        А      Eof

f

С помощью оператора

Read(F, Ch);

в переменную Ch считывается значение, которое находится в том месте файла, на которую указывает переменная f, т.е. С. Затем указатель перемещается на следующий элемент файла

 С      В        4        К       !        №     А    Eof

f

После этого, значение переменной Ch выводится на экран с помощью оператора

Write(Ch);

Затем аналогичным образом считываются из файла значения 2-го, 3-го и т.д. элементов.

Так происходит до тех пор, пока файловая переменная не будет указываеть на конец файла.

 С      В        4        К       !        №     А    Eof

f

В этом случае значение логического выражения not Eof(F) будет иметь значение False и произойдёт выход из цикла.

  1. Запись в файл

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

Для записи в файл, в программе необходимо выполнить следующие действия:

  1. связать файл с файловой переменной (Assign).
  2. открыть файл для записи (Rewrite).
  3. записать данные из программы в файл (Write).
  4. закрыть файл для записи(Close).

Пример.

Составить программу для записи в файл чисел от 1 до30.

Program Write_File;

var

  F: File Of Integer;

  i: Integer;

  FileName:String;

begin

  Write(‘Введите имя файла:’);Readln(FileName);

  Assign(F, FileName);

  ReWrite(F);

  For i:=1 To 30 Do Write(F,I);

  Close(f);

end.

При открытии файла с помощью процедуры ReWrite(f) файл выглядит следующим образом:

Eof

f

Так как файловая переменная указывает на конец файла, мы можем записать в него любую информацию, с помощью процедуры Write, например, Write(f,1);

  1    Eof

f

Write(f,2);

  1       2           Eof

f

и так далее.

5. Добавление данных к файлу

Пусть необходимо к уже существующему файлу добавить ряд элементов. Для этого необходимо выполнить следующие действия:

  1. открыть уже существующий файл процедурой Reset;
  2. установить указатель файла за последним компонентом процедурой Seek следующим образом: Seek(f,FileSize(f));
  3. записать дополнительные данные (Write);
  4. закрыть файл (Close).

Пример.

К уже имеющимуся файлу, в который занесены числа от 1 до 30, дописать числа 40,50,60,70,80.

Program Append_File;

var

  F: File Of Integer;

  i: Integer;

  FileName:String;

begin

  Write(‘Введите имя файла:’);Readln(FileName);

  Assign(F, FileName);

  Reset(F);

  Seek(f,FileSize(f));

  For i:=4 To 8 Do Write(F,I*10);

  Close(f);

end.

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

  3       4        3       18     5      Eof

f

Затем с помощью процедуры Seek(f,FileSize(f)); мы перемещаем файловую переменную на последний элемент файла:

  3       4       3      18        5      Eof

f

Так как файловая переменная указывает на конец файла, мы можем дописать в файл любую информацию, например, с помощью оператора Write(f,31);

  3       4       3       18       5      31     Eof

f

  1. Текстовые файлы. Описание

Особым типом файлов являются текстовые файлы. Эти файлы содержат некоторый текст, который состоит из обычных символов. Символы текстового файла разбиты на строки. Отличие текстового файла от файла типа Char, String заключается в том, что текстовый файл состоит из последовотельности строк различной длины. В конце каждой строки для определения её длины ставится символ конца строки. Символ конца строки при просмотре файла не виден, так же как и символ конца файла.

Описание текстовых файлов выглядит следующим образом:

Var

Имя файловой переменной:text;

Главная особенность текстовых файлов в том, что мы можем считывать из него и записывать в него элементы типа Char, Integer, Real, String, Boolean.

  1. Процедуры и функции для работы с текстовыми файлами

Для работы с текстовыми файлами можно использовать все процедуры и функции, используемые при работе с файлами любых типов, за исключением (Seek, FilePos, FileSize) – дело в том, что заранее неизвестно, элементы какого типа находятся в файле.

Например, если в файле находится символ 5, то мы можем его считать, как Real, Integer, Char, String размером 1. В этом случае они будут занимать

Real – 4 байта;

Integer – 2 байта;

Char – 1 байт;

String – 1 байт.

Если в файле находится число 3.24897224E-06, то его можно рассматривать как элемент типа Real или String размером 14 символов. Размер в байтах в этих случаях будет сотавлять:

Real – 4 байта;

String – 14 байт.

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

Функция

Eoln(f) – логическая функция, принимает значение true, если достигнут конец строки, и False в противном случае.

Прцедуры

Append(f) – открытие уже существующего текстового файла f для добавления данных в конец файла.

Writeln(f) – завершение текущей строки текстового файла при его записи (записывает символ конца строки).

Writeln(f,x1,x2,…,xn) – запись в файл f значений переменных x1,x2,…,xn, с завершением текущей строки.

Readln(f) – Переход к началу следующей строки файла f при его чтении.

Readln(f, x1,x2,…,xn) – Чтение n элементов файла f в переменные x1,x2,…,xn, с переходом на следующую строку файла.

  1. Описание процедур и функций. Формальные параметры

Очень часто в программах встречаются однотипные участки, которые выполняют одни и теже вычисления с различными данными. Такие части программ целесоообразно выполнять с помощью подпрограмм. Использование подпрограмм позволяет :

  1. сделать основную программу более наглядной и компактной;
  2. уменьшить объем используемой памяти ЭВМ;
  3. сократить время написания и отладки программы, так как различные подпрограммы могут быть написаны различными людьми параллельно.

В Турбо-Паскале выделяют два вида подпрограмм: процедуры и функции. Структура процедур и функций во многом схожа со структурой программ, она включает в себя также заголовок, блок описания, тело подпрограммы.

Описание процедуры имеет следующий вид.

Procedure имя (список формальных параметров);

Раздел описаний

Begin

Раздел операторов

End;

Здесь имя – имя процедуры.

Раздел описаний, как и в основной программе, может включать разделы Label, Const, Type, Var  и раздел процедур и функций.

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

Параметры процедур бывают двух видов:

  1. параметры – значения (входные параметры);
  2. параметры – переменнные (выходные параметры).

Описание входных параметров процедуры в списке формальных параметров имеет также вид:

Список переменных1: тип1; список переменных2: тип2;

Соответственно описаные выходных параметров выглядит следущим образом:

Var Список переменных1: тип1; Var список переменных2: тип2;

Вызов процедуры в основной программе имеет следующий вид:

имя процедуры (список фактических параметров);

Фактические параметры перечисляются через запятую, без указания их типа. Между формальными и фактическими параметрами должно быть соответствие  по количеству параметров, порядку из следования и типу данных. Имена соответствующих параметров могут быть одинаковыми или разными. Входными фактическими параметрами могут быть константы, переменные или выражения, выходными фактическими параметрами могут быть только переменные.

Другой вид подпрограммы в языке Турбо-Паскаль – функция – оформляется аналогично процедуре и отличается от нее по структуре только заголовком, общий вид которого выглядит следующим образом:

Function имя (список формальных параметров) : тип;

Функции имеют несколько отличительных особенностей.

  1. Функция имеет только один результат выполнения (но может иметь несколько входных параметров, выходных параметров у функции нет);
  2. Результат обозначается именем функции. Поэтому в разделе операторов функции обязательно должен присутствовать оператор присваивания, в левой части которого стоит имя этой функции.
  3. Вызов функции в основной программе осуществляется непосредственно в выражениях по ее имени с указанием фактических параметров.

  1. Использование процедур и функций на примере вычисления площади выпуклого четырехугольника

Задание: вычислить площадь плоского четырехугольника, заданного длинами четырех сторон и диагонали.

Диагональ делит выпуклый четырехугольник на два треугольника, площадь каждого из которых можно вычислить по формуле Герона:

S=Sqrt(p(p-a)(p-b)(p-c)), где p=(a+b+c)/2;

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

Program F1;

var AB,BC,CD,DA, AC,s1,s,a,b,c,p:real;

procedure TriangleSquare;

   begin

        p:=(a+b+c)/2;

        s1:=Sqrt(p*(p-a)*(p-b)*(p-c));

   end;

Begin

     read(AB,BC,CD,DA,AC);

     a:=AB;b:=BC;c:=AC;

     TriangleSquare;

     s:=s1;

     a:=DA;b:=AC;c:=CD;

     TriangleSquare;

     Writeln(s+s1);

End.

В данной программе выполняется два обращения к процедуре TriangleSquare непосредственно перед каждым обращением идет группа операторов присваивания, задающих значения переменных a,d,c. Этого нагромождения операторо присваивания можно избежать, используя процедуру с параметрами.

Кроме того в данной программе переменная p используется как вспомогательная переменная внутри процедуры и в основной программе не используется. Поэтому имеет смысл описать эту переменную внутри процедуры.

Запишем теперь эту же программу, но используя процедуру с параметрами.

Program F2;

var AB,BC,CD,DA,AC,s1,s:real;

procedure TriangleSquare(a,b,c:Real;Var s:Real);

var p:Real;

   begin

        p:=(a+b+c)/2;

        s:=Sqrt(p*(p-a)*(p-b)*(p-c));

   end;

Begin

     read(AB,BC,CD,DA,AC);

     TriangleSquare(AB,BC,AC,s1);

     TriangleSquare(DA,AC,CD,s);

     Writeln(s+s1);

End.

Не трудно заметить, что данная программа, записанная с помощью процедуры с параметрами, гораздо нагляднее, понятнее, компактнее, чем программа, записанная с использованием процедуры без параметров, и, тем более, без использования подпрограмм. Но в случае, когда имеется только один выходной параметр, гораздо удобнее использовать подпрограмму – функцию. Так при использовании функции вычисления площади треугольника методом Герона данная программа будет выглядеть следующим образом.

Program F2;

var AB,BC,CD,DA,AC:real;

function TriangleSquare(a,b,c:Real):Real;

var p:Real;

   begin

        p:=(a+b+c)/2;

        TriangleSquare:=Sqrt(p*(p-a)*(p-b)*(p-c));

   end;

Begin

     read(AB,BC,CD,DA,AC);

     Writeln(TriangleSquare(AB,BC,AC)+TriangleSquare(DA,AC,CD);

End.

  1. Область действия переменных

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

При написании программ, имеющих вложенные модули, необходимо соблюдать следующие правила:

  1. описывать имена переменных в том блоке, где они используются, если это возможно;
  2. если одна и таже переменная используетя в двух и более вложенных блоках, то описывать ее надо в самом внешнем из них;
  3. если переменная, используемая в подпрограмме должна сохранять свое значение при следующем вызове подпрограммы, то она должна быть описана во внешнем блоке;
  4. каждый вызываемый блок должен быть описан до его вызова;
  5. в Турбо-Паскале в одном модуле может быть описано не более 512 процедур или функций;
  6. имена формальных параметров не должны совпадать с именами переменных внешнего блока.
  1. Отладка программы

При написании больших программ, использующих сложные вычисления, большое количество переменных, даже очень опытному программисту не избежать некоторых ошибок. Ошибки, связанные с неправильном алгоритмом, ошибками в вычислениях бывает очень трудно обнаружить, глядя только на текст программы. Для того, чтобы можно было обнаружить ошибки, возникающие в ходе выполнения программы, в Турьо Паскале имеются специальные средства.

Пункт Меню Debug позволяет определять и изменять значения переменных, просматривать содержимое стека обращения к процедурам и т.д.

Evaluate/Modify (Ctrl+F4) – вычисляет значение переменной или выражения. Если в первом окне этой функции задано имя переменной, то во втором окне высвечивается ее значение, а в третьем окне можно изменить значение этой переменной.

Watch – выводит на экран окно просмотра значений переменных. Позволяет отслеживать изменениезначений сразу нескольких переменных в процессе работы программы.

Output – выводит на экран текст файла Output.

Add BreakPoint – добавляет точку остановки программы. Программа доходя до точки остановки временно прерывает свое выполнение. Если нам нужно поставить точку остановки без каких-либо условий можно использовать сочетание клавиш Ctrl+F8.

Использование окна Watch и пошаговое выполнение программы

При работе с окном Watch используются следующие клавиши:

F7 – пошаговое выполнение. При этом пошагово выполняются все процедуры и функции, используемые в программе;

F8 – пошаговое выполнение. При этом все процедуры и функции выполняются за один шаг;

Enter – изменение имени просматриваемой переменной;

Ins – добавление новой переменной в окно;

Del – удаление переменной из окна просмотра;

Alt+F10 – вызов локального меню для работы с окном просмотра;