Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по информатике.doc
Скачиваний:
4
Добавлен:
22.09.2019
Размер:
108.54 Кб
Скачать

3. Организация ввода-вывода в языках пр-ия.

Решение любой з-чи на ЭВМ не обходится без операции ввода/вывода. Ввод данных-передача инф-ии от внешнего носителя в оперативную память для обработки. Вывод-обратный процесс. Для выполнения операции ввода/вывода в Pascal служат 4 процедуры: Read, Readln, Write,Writeln. Процедура чтения Read обеспечивае ввод числов. данных, символов, строк для послед-ей их обработки.

Формат записи:

Read(x1,x2,..xn); Readln(x1,x2,..xn);

Для ввода данных из файла исп-ся Read(F,x1,x2,..xn); , где F-файловая переменная, связанная с файлом. Значения x1,x2,..xn при вводе набираются нажатием клавиши ввода. Зн-я д/вводится в строгом соответствии синтаксиса, иначе возникают ошибки ввода/вывода. Если в пр-ме имеются неск-ко процедур Read, данные вводятся для них потоком в одной строке.

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

Это актуально при считывании данных из файла. При вводе с клавиатуры различий м/д Read и Readln нет.

Форматы вывода.

Процедура записи Write производит вывод числов. данных, строк, булевых зн-й.Форматы:

Write(x1,x2,..xn); Writeln(x1,x2,..xn); Write(F,x1,x2,..xn);

В процедурах вывода Write, Writeln имеется возможность записи выр-я, определяющая ширину поля вывода. Для целых чисел формат имеет след-й вид: I:P.

Пр: x=37 Write(x:5); рез-т 3 пробела и число 37.

Для вещ-х чисел исп-ся формат вывода R:P:q, где P-ширина вывода, q-кол-во чисел, предст-я дробную часть числа. 0 ≤ q ≤ 24

Формат вывода строк ничем не отличается выводом цел. чисел, где P- ширина вывода символов. Пустой формат Write без параметров вызывает курсор на новую строку. Если в формат вывода вещ-го числа не указывать величины P и q, то вывод б/происходить в формате плавающей запятой. mEq, где E-мантиса, q-порядок.

Пр: 1.78E-03, т.е. 1.78*10-3.

4. Прогр-мы и процедуры в языках пр-ия.

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

Подпрог-ой наз. обособленную оформленную в виде отдельной синтаксической констр-ции и снабженную именем часть пр-мы. Подпр-й в Pascal реализованы с пом-ю процедур и ф-ий. Процедура-независим. именованная часть пр-мы , к-ю м/вызвать для выполнения опред-х действий. Струк-ра процедуры посторяет струк-ру пр-мы. Она не м/выступать как оперант выр-я. Ф-ия аналог. проц-ре, но имеет 2 отличия:*ф-ия передает в точку вызова скалярное зн-е; *имя ф-ии м/входить в выр-е как оперант.

Все ф-ии:*встроенные(станд.) – входят в состав языка и выз-ся для выполнения по строго фиксир-му имени. *оределенные пользователем – разраб-ся и именуются самим польз-ем.

Встроенные проц-ры и ф-ии:*арифметич.(abs,cos,..); *скалярные пр-мы и ф ции(dec,inc,pred,..); *ф-ии преобр-я типов(chr-возвр. сим. по коду, round..); *пр-ма выпол-я пр-мы(Delet-задержка выпол-я); *спец-е проц-ры и ф-ии.

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

Различают:*формальные; *пар-ры определенные в заголовке подпр-мы; *фактические пар-ры-выр-я, задающие конкретные зн-я при обращении к подпр-ме.

При обращении к подпр-ме ее формал-е пар-ры замещаются фактическими.

Описание пр-мы вкл-ет заголовок-имя и тело проц-ры.

procedure <имя>(форм.пар-р);

const…

type…

Var…

begin

<опер-ры>;

end;

Если проц-ра возвр-ет в пр-му какие-то зн-я, соответ-щие переменные д/б описаны как параметры-переменные со словом Var. procedure <имя>(Var пар-ры переем-е); В основном проц-ра выполняет определ-е действия.

Ф-ция также состоит из заголовка и тела ф-ии.

function <имя>(форм. пар-ры):<тип ф-ии>

const..

type..

var..

begin

<опер-ры>;

<имя>:=рез-т;

end;

Механизм передачи рар-ра. Заголовок проц-ры и ф-ии испол-ся форм. пар-р, с пом-ю к-х перечисл-ся имена для обозначения исходных данных и рез-в работы проц-ры. Список форм-х пар-в вкл. в себя:*пар-ры зн-ия – они испол-ся для передачи данных из пр-мы в проц-ру и ф-ию(входные данные); *пар-ры переменные – перед ними стоит служебное слово Var и указ-ся их тип, ч/з них передается раз-т проц-ры в основную пр-му; *пар-ры проц0ры – они м/б использованы в качестве форм. пар-ов при вызове проц-ры и ф-ии.

Имя пар-ра отделяется от тип :, а пар-ры др. от др. ;

Имена пар-ов одного типа м/объединять подписки отделяя , , м/д форм. и факт. парам. д/б полное соответствие . Форм. и факт пар-ов д/б одинаковое кол-во. Порядок следования форм и факт пар-ов д/б один и тотже и тип каждого факт. пар-ра д/совпадать с типом соотв-го форм. пар-ра.

Пр. реализуем нек-е вычисл. с пом пр-р и ф-ий.

Program Demo;

Var a,b,sum:real;

procedure summa

Var c:real

begin

Writeln(‘Введите число’);

Readln(c);

S:=c*(a+b);

end;

function My(x:integer):real;

begin

My:=sin(x)+cos(x)

end;

begin

Writeln(‘Введите a,b’);

Readln(a,b);

summa(a,b,sum);

rez:=sum*My(3);

Writeln(“rez=”,rez:5:2);

end.