
- •Введение
- •Глава 1. Структурное программирование
- •1.1 Основные определения
- •1.2 Три основных действия
- •1.2.1 Последовательность
- •1.2.2 Выбор
- •1.2.3 Цикл
- •1.3. Структурный подход к решению задач
- •Задание
- •1.4. Организация хранения и обработки данных
- •1.4.1 Записи и списки
- •Задание
- •1.4.2 Очередь
- •Задание
- •1.4.3 Стек
- •Задание
- •1.5 Структурное программирование.
- •2. Программирование на языке паскаль
- •2.1. Краткая история эвм и языки программирования
- •Задание
- •2.2. Интегрированная среда borland pascal
- •2.2.1. Краткая характеристика. Запуск программы
- •2.1.2. Основы работы в редакторе Открытие нового окна
- •Завершение работы со средой
- •Задание
- •«Горячие» клавиши интегрированной среды
- •2.3. Структура программы
- •2.3.1.Основные положения
- •2.3.2. Понятие идентификатора
- •2.3.3. Первая программа
- •2.3.4. Описание подпрограммы (процедуры).
- •2.3.4. Строковый тип данных
- •2.3.5. Процедуры ввода и вывода данных
- •Задание
- •2.4. Программа калькулятор.
- •2.4.1. Тип целые и вещественный.
- •2.4.2. Переменные вещественного типа
- •Задание
- •2.5. Улучшенный калькулятор
- •2.5.1. Операторы выбора
- •Булевские (логические) операции
- •Операции отношения
- •Оператор if … then
- •Оператор case
- •2.5.2. Основные отличия применения операторов выбора. Перечисляемый тип. Интервальный тип.
- •Задание
- •2.6. Улучшенный каЛьКулятор (продолжение)
- •2.6.1. Оператор цикла с постусловием (проверка на ноль)
- •2.6.2. Оператор цикла с предусловием
- •2.6.3. Оператор цикла со счетчиком (параметром)
- •Задание
- •2.7. Переменные типа массив
- •2.7.1. Виды массивов
- •2.7.2.Описание массива
- •2.7.3.Нахождение максимального элемента в массиве
- •Задание
- •2.7.4. Строковая переменная (продолжение)
- •Задание
- •2.7.5. Строковая переменная как массив
- •Мама мыла раму
- •Задание
- •2.7.6. Описание функции
- •Задание
2.3.5. Процедуры ввода и вывода данных
Для выполнения часто используемых операций, для облегчения работы программиста, в стандартную библиотеку языка Pascal (как и другие языки высокого уровня) включен ряд процедур и функций. Их текст, скрыт от программиста, и он выступает по отношению к ним как пользователь готовых подпрограмм. Если стандартные процедуры или функции отсутствуют, то можно либо использовать дополнительные библиотечные модули, либо написать свои (как это делается, мы рассмотрим позднее). Использование стандартных процедур освобождают программиста от рутинной работы. К этим процедурам относятся процедуры ввода и вывода данных.
Для того чтобы программа могла обрабатывать какие либо данные, надо их ввести в нее. Для этого служит процедура read(). Она имеет два вида: read() и readln(). Рассмотрим формат обращения к этой процедуре.
Read (место считывания информации, список фактических параметров);
Readln (место считывания информации, список фактических параметров);
Обращение к процедуре происходит по ее имени, внутри скобок описываются: место считывания информации - здесь указывается откуда информация (данные) будет вводится в компьютер и имена переменных под которыми будут хранится вводимые данные.
Одним из устройств ввода данных в ЭВМ является клавиатура. Если место считывания информации, не указано то, по умолчанию принимается, что данные считываются с клавиатуры.
Отличие процедур в том, что для read( ) после считывания данных курсор остается в той же строке, а при использовании readln() курсор переводится в начало следующей строки.
Напишем программу которая вводит в компьютер строку символов. Для того чтобы с данной строкой могла работать вся программа, опишем ее в блоке описания глобальных переменных:
program Primer_3;
var
Stroka:String;
В процедуру Init, между служебными словами begin и end, добавим следующие строки:
Read(Stroka);
Наша программа примет следующий вид:
program Primer_3;
var
Stroka:String;
procedure Init; { input data }
begin
Read(Stroka);
end;
procedure Work; { work with data }
begin
end;
procedure Exi; { output data }
begin
end;
begin
Init;
Work;
Exi;
end.
Перед запуском программы на выполнение, запишем ее на внешний носитель. Это необходимо для того, чтобы в случае неправильной работы и "зависания" компьютера, не потерять исходный текст программы. Запустим ее на выполнение, используя комбинацию клавиш Alt+F9. После запуска программы на экране монитора появится мигающий курсор. Программа готова считывать данные с клавиатуры. Наберите несколько символов на клавиатуре, включая и символ пробела. Для окончания ввода нажмите клавишу Enter. Перед вами вновь появится экран редактора интегрированной среды. Это значит, что программа считала данные с клавиатуры и закончила работу.
Мало ввести данные в компьютер, необходимо и получить каким либо образом результат. Для вывода данных в Паскале используется процедуры write() и writeln(). Рассмотрим формат обращения к этой процедуре.
write (направление вывода информации, список фактических параметров);
writeln (направление вывода информации, список фактических параметров);
Обращение к процедуре происходит по ее имени, внутри скобок описываются: направление вывода информации - здесь указывается куда информация (данные) будет выводится и имена переменных( или констант) которые будут выводиться.
Одним из устройств вывода данных в ЭВМ является экран монитора. Если направление вывода информации, не указано то, по умолчанию принимается, что данные выводятся на экран. Отличие между двумя записями процедур в том, что для write( ) после вывода данных курсор остается в той же строке, а при использовании writeln() курсор переводится в начало следующей строки.
Проведем модернизацию программы Primer_3. Пусть наша новая программа не только считывает строку с клавиатуры, но и выводит ее на экран. Для этого добавим процедуру вывода в процедуру Exi.
program Primer_3;
var
Stroka:String;
procedure Init; { input data }
begin
Readln(Stroka);
end;
procedure Work; { work with data }
begin
end;
procedure Exi; { output data }
begin
Writeln(Stroka);
end;
begin
Init;
Work;
Exi;
end.
Наша программа несмотря на то, что работает, имеет один недостаток - при начале работы, когда появляется мигающий курсор, непонятно что надо делать. Для устранения этого введем в процедуру Init, перед процедурой ввода данных, еще одно действие.
procedure Init; {input data}
begin
Write('Input Stroka -');
Readln(Stroka);
end;
Если мы хотим дать комментарий и при выводе строки на экран, то сделаем добавления в процедуре Exi, это можно сделать двумя способами:
а) procedure Exi; {output data} begin Write(' Output Stroka -'); Writeln(Stroka); end; |
б) Procedure Exi; { output data} Begin Writeln(' Output Stroka -',Stroka); End; |
Таким образом, наша программа может вводить данные с клавиатуры в компьютер и выводить данные на экран.