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

Программы – утилиты это вспомогательные программы, например, программа библиотекарь, которая позволяет объединять объектные модули в один файл, называемый статической библиотекой. Такой файл в ПЭВМ имеет расширение lib. Другим примером программы утилиты является автономный отладчик. С помощью отладчика можно, в частности, выполнять программу в пошаговом режиме и контролировать содержимое всех переменных программы.

§5. Препроцессор. Директивы #include #define

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

1) Когда препроцессор встречает  директивы #include, Например  директиву #include<stdio.h>, то в программу наместо директивы #include будет скопировано содержимое файла  stdio.h, т.е. прототипы функций стандартного ввода-вывода. Файлы с расширением h. Называются заголовочными. Если файл заголовка указан в угловых скобках <>, то поиск файла осуществляется в каталоге INCLUDE. Если имя файла указано в кавычках, то поиск осуществляется сначала в текущем каталоге, затем в каталоге INCLUDE. Если файл не будет найден, то выдается сообщение об ошибке.

2) Если препроцессор встречает директиву # define:

Пример 1: # define TRUE  1

Препроцессор просматривает весь файл и заменяет каждое найденное значение строки TRUE на символ ‘1’. Для определения константы используется ключевое слово const.

Пример 2: const int TRUE = 1

В первом примере для строки TRUE не отводится память, она вообще не является переменной. Второй вариант определяет переменную TRUE, только защищаемую компилятором от изменения содержимого.

§6. Ввод – вывод в языках С и PASCAL.

Обмен информацией между ОП и внешними устройствами называется вводом – выводом .

6.1Ввод и формальный вывод в языке PASCAL.

Язык PASCAL содержит встроенные операторы ввода – вывода, выполненные как процедуры

6.1.1Ввод данных.

Оператор READ  (b1, …, bn) – обеспечивает выборку данных из стандартного входного файла Input в результате которой имена переменных b1,b2, …,bn  получают соответствующие значения.

ЗАМЕЧАНИЕ. Стандартные файлы – это особый тип заранее определенных файлов, поставленных в соответствие внешним устройствам. Физически эти файлы являются драйверами (специальными программами), поддерживающие операции ввода – вывода между процессором и конкретными внешними устройствами. Input – доступный для чтения текстовой файл, связанный с клавиатурой.

Оператор READLN (b1, …, bn) – после ввода курсор переходит к началу новой строки.

Оператор READLN; - ожидает нажатия клавиши ввод

Числа при вводе должны отделятся друг от друга пробелами или нажатием клавиши <ENTER>.

6.1.2 Формальный вывод  данных

Оператор WRITE (b1, …, bn) – выполняет вывод значений соответствующих именам b1,b2, …,bn  в стандартный  выходной файл Output, связанный с экраном монитора.

Оператор WRITELN (b1, …, bn) –  обеспечивает после вывода информации переход к началу  новой строки.

Оператор WRITELN; - переход к началу  следующей строки.

В операторах вывода можно явно указать ширину поля, т.е. количество позиций под выводимое значение.

Например: WRITE( a : 6, b : 4);

а = 6, b = 2 ; => _ _ _ _10_ _ _2

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

Общий вид записи:

Write(b : m : n);

Writeln(b : m : n);

6.1 Формальный ввод - вывод в языке Си.

6.2.1 Формальный вывод

Объявление (прототип) функции – это заголовок функции, заканчивающийся ;  Объявление функций ввода/вывода находятся в заголовочном файле stdio.h . Этот файл подключается с помощью директивы препроцессора  #include. Пример #include<stdio.h>. Форматный вывод осуществляется с помощью функции printf.

int printf (<форматная строка >[<аргументы>]);