Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_po_informatike.docx
Скачиваний:
2
Добавлен:
01.08.2019
Размер:
379.91 Кб
Скачать

3) Повторение

циклпока

 

While  P do  A  ;

Действие А будет повторяться до тех пор, пока значение предиката будет оставаться истинным. Поэтому в действии А должно изменяться значение переменных, от которых зависит Р. В противном случае произойдет зацикливание. Вычисление предиката производится до начала выполнения действия А, и может случиться так, что действие А не будет выполняться ни разу.

цикл – до

                         Repeat  A  until  P;

Повторение типа  Repeat until всегда выполняется хотя бы 1 раз. Действие А перестает выполняться, как только предикат становится истинным.

           4) выбор – переключатель case (обобщение развилки), структура, облегчающая программирование без ущерба для ясности программы. Структура выбор полезна в том случае, когда требуется выбрать одну из нескольких альтернатив. 

            В зависимости от значения  Р выполняется одно из действий А, В, …Z. После чего происходит переход к выполнению следующей управляющей структуры

  1. Основные понятия языка Паскаль (алфавит, элементарные конструкции, типы данных)

<алфавит> :: = <буквы> | <цифры> |

<ограничители>

<буквы> :: = A | B | …| Z | a | b | …| z |

<знак подчеркивания>

<цифры> :: = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

<знак подчеркивания> :: = _ 

Типы: простые, структурированные, ссылки

  1.  Арифметические и логические выражения. Действия над данными и оператор присваивания.

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

Операции над данными бывают унарными (применимые к одному операнду) и бинарными (применимые к двум операндам).

<переменная> : = <выражение>;

Одноместный минус

Операция NOT

Операции типа умножения

Операции типа сложения

Операции сравнения (отношения)

  1. Управляющие операторы языка.

Операторы ветвления

Операторы ветвления if и варианта case применяются для того, чтобы в зависи-

мости от конкретных значений исходных данных обеспечить выполнение разных

последовательностей операторов. Оператор if обеспечивает передачу управления

на одну из двух ветвей вычислений, а оператор case — на одну из произвольного

числа ветвей.

Условный оператор if

Условный оператор if используется для разветвления процесса вычислений на два

направления.

Формат оператора:

If выражение then оператор_1 [else оператор_2;]

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

имеет значение true, выполняется первый оператор, иначе — второй. После этого

управление передается на оператор, следующий за условным.

  1. Операторы цикла в Паскале.

  • типа арифметической прогрессии

  • WHILE

  • REPEAT

WHILE <логическое выражение > DO <оператор>;

  … F:=1;

I:=1;

WHILE I<=N DO

BEGIN

F:=F*I;

I:=I+1;

END; …

  1. Составной оператор и особенности его использования.

Составной оператор — конструкция языка программирования, состоящая из нескольких команд (операторов) языка программирования, но участвующая в программе в качестве единого оператора.

Понятие составного оператора было унаследовано языком Паскаль и множеством других языков программирования, основанных на Алголе. В Паскале условный оператор if, циклы while и for требуют в качестве ветвей и тела один оператор, поэтому при необходимости разместить в ветвях условного оператора или теле цикла несколько команд используются составные операторы.

  1. Структура программы на языке Паскаль.

Программа на языке Паскаль состоит из заголовка, разделов описаний и раздела операторов.

PROGRAM <имя программы>[(<список файлов>)];

LABEL <описание меток>;

CONST <описание констант>;

TYPE <описание типов>;

VAR <описание переменных>;

PROCEDURE <описание процедуры> ;

FUNCTION <описание функции>;

BEGIN

<исполнительная часть программы>

END.

  1. Область действия имен в Паскаль программе.

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

Локальные имена определены в подпрограммах. Память под них выделяется динамически (в стеке) при исполнении подпрограммы. Они доступны во внутренних точках подпрограммы, а во внешней программе недоступны.

Если локальное и глобальное имя совпадают, то в подпрограмме локальное имя блокирует глобальное. Совпадения глобальных и локальных имен лучше избегать. Чтобы получить доступ к глобальному имени в подпрограмме, его надо указывать составным. Формат доступа к глобальному имени: <имя программы>.<глобальное имя>.

  1. Особенности описания и вызова процедур.

Заголовок процедуры:

PROCEDURE < имя процедуры >

[( <список формальных параметров >)];

Вызов процедуры:

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

результатом обращения к функции может быть одно единственное значение;

* идентификатор результата не указывается в списке формальных параметров;

* в выполняемой части функции, хотя бы один раз , имени функции должно быть присвоено значение результата ( чаще всего перед выходом из функции);

* после списка формальных параметров задается тип результата;

* после обращения к функции управление передается на выполнение следующей операции данного выражения (в соответствии с приоритетом).

22. Особенности описания и вызова функции.

FUNCTION < имя функции >

[(<список формальных параметров>)] :

<тип результата>;

FUNCTION PRF (A,B,C: INTEGER) : REAL;

Пример функции

Var S:real;

. . .

S:=PRF (A,B,C);

Writeln ( PRF ( A,B,C));

If PRF ( A,B,C)>20 then K=K+1;

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

- параметры-значения;

- параметры-переменные;

- параметры-константы;

- параметры-процедуры;

- параметры-функции.

23. Формальные и фактические параметры.

Формальные параметры – данные, с которыми работает подпрограмма (ПП). Это внутренние данные для ПП. Они перечисляются в заголовке ПП и связаны с фактическими параметрами. Фактические параметры – данные, передаваемые в ПП и возвращаемые из нее. Это внешние для ПП данные, с которыми имеет дело вызывающая часть программы. В ПП им соответствуют формальные параметры. Указываются в списке фактических параметров при обращении к ПП. Синонимы:

Параметры = формальные параметры.

Аргументы = фактические параметры.

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

одинаковое количество,

одинаковый порядок следования,

совместимость типов по присвоению.

24. Рекурсивные процедуры и функции.

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

Пример: F=M!

При М=1 F=1

При М>1 F=M!=M*(M-1)!

PROGRAM MAIN;

VAR M:INTEGER;

F:REAL;

FUNCTION FACT (N:INTEGER): REAL;

BEGIN

IF N=1 THEN FACT:=1 ELSE

FACT:= N* FACT(N-1);

END;

BEGIN

READLN(M);

F:= FACT ( M );

WRITELN (' M!=', F);

END.

BEGIN

READLN(M);

FACT ( M, F );

WRITELN (' M!=', F);

END.

25. Понятие модуля, его описание и подключение.

UNIT <имя модуля>;

INTERFACE

IMPLEMENTATION

[ BEGIN

<Инициирующая часть модуля> ]

END.

26. Структура и описание модуля.

Раздел описания модулей определяется служебным словом USES и содержит имена подключаемых модулей (библиотек) как входящих в состав системы Turbo Pascal, так и написанных пользователем. Раздел описания модулей должен быть первым среди разделов описаний. Имена модулей отделяются друг от друга запятыми.

27. Стандартные модули Паскаля.

Модуль System

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

Модуль Crt

Модуль предназначен для организации эффективной работы с экраном, клавиатурой и встроенным динамиком. При подключении модуля Crt выводимая информация посылается в базовую систему ввода-вывода (ВIОS) или непосредственно в видеопамять.

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

Модули Dos и WinDos

Модули Dos и WinDos содержат подпрограммы, реализующие возможности операционной системы MS-DOS - например, переименование, поиск и удаление файлов, получение и установку системного времени, выполнение программных прерываний и так далее. Эти подпрограммы в стандартном Паскале не определены. Для поддержки подпрограмм в модулях определены константы и типы данных.

Модуль Dos использует строки Паскаля, а WinDos - строки с завершающим нулем.

Модуль Graph

Модуль обеспечивает работу с экраном в графическом режиме.

Экран в графическом режиме представляется в виде совокупности точек - пикселов. Цвет каждого пиксела можно задавать отдельно. Начало координат находится в левом верхнем углу экрана и имеет координаты (0, 0). Количество точек по горизонтали и вертикали (разрешение экрана) и количество доступных цветов зависят от графического режима. Графический режим устанавливается с помощью служебной программы - графического драйвера.

28. Процедуры и функции модуля CRT

Модуль Crt

Модуль предназначен для организации эффективной работы с экраном, клавиатурой и встроенным динамиком. При подключении модуля Crt выводимая информация посылается в базовую систему ввода-вывода (ВIОS) или непосредственно в видеопамять.

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

29. Функции и процедуры порядкового типа.

Функции порядкового типа.

Имя функции

Назначение функции

Odd(X)

 

Проверяет, является ли аргумент нечетным числом

Odd(0)=false

Odd(1)=true

Odd(2)=false

Odd(-1)=true

Pred(X)

Возвращает предшествующее значение аргумента

Pred(10)=9

Pred(-10)=-11

Succ(X)

Возвращает последующее значение аргумента

Succ(10)=11

Succ(-10)=-9

Процедуры порядкового типа.

Имя процедуры

Назначение процедуры

Dec(X [,dx])

Уменьшает значение переменной Х на величину dx (если параметр dx не задан, то на –1)

k:=5;  Dec(k)=4

          Dec(k,2)=3

          Dec(k,-2)=7

Inc(X [,dx])

Увеличивает значение переменной Х на величину dx (если параметр  dx не задан, то на +1)

k:=5;  Inc (k)=6

          Inc (k,2)=7

          Inc (k,-2)=3

30. Процедуры и функции преобразования.

Модуль System

Procedure Str(X [: Width [: Decimals]]; var S);

Преобразовывает число X в строковое представление согласно Width и параметрам форматированияDecimals.

X - выражение вещественного или целого типа. Width и Decimals - выражения целого типа. S - переменная типа String или символьный массив с нулевым окончанием, если допускается расширенный синтаксис.

Function Chr(X: Byte): Char;

Возвращает символ с порядковым номером Х в ASCII-таблице.

Function High(X);

Возвращает наибольшее значение в диапазоне параметра.

Function Low(X);

Возвращает наименьшее значение в диапазоне параметра.

Function Ord(X): LongInt;

Возвращает порядковое значение выражения перечислимого типа.

X - выражение перечислимого типа.

Function Round(X: Extended): LongInt;

Округляет значение вещественного типа до целого.

X - выражение вещественного типа. Round возвращает значение Longint, которое является значением X, округленным до ближайшего целого числа. Если X - точно посередине между двумя целыми числами, возвращается число с наибольшей абсолютной величиной.

Function Trunc(X: Extended): LongInt;

Усекает значение вещественного типа до целого.

Если округленное значение X выходит за диапазон LongInt, генерируется ошибка времени выполнения программы, которую вы можете обработать с использованием исключительной ситуации EInvalidOp .

Procedure Val(S; var V; var Code: Integer);

Преобразовывает число из строкового значения S в числовое представление V.

S - выражение строкового типа - последовательность символов, которая формирует целое или вещественное число.

Если выражение S недопустимо, индекс неверного символа сохраняется в переменной Code. В противном случае Code устанавливается в ноль.

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

В системе Turbo Pascal имеется несколько полезных стандартных процедур и функций, ориентированных на работу со строками. Ниже приводится список этих процедур и функций с краткими пояснениями.

Length(s:string):integer

Функция возвращает в качестве результата значение текущей длины строки-параметра

Функция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов.

Copy(s:string; index:integer; count:integer):string

Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index.

Delete(var s:string; index,count:integer)

Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index.

Insert(source:string; var s:string;index:integer)

Процедура предназначена для вставки строки source в строку s, начиная с символа

insert('Turbo ',s,9); {s будет равно 'Система Turbo Pascal'}

Pos(substr,s:string):byte

Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0.

Str (X: арифметическое выражение; var st: string)

Процедура преобразует численное выражение X в его строковое представление и помещает результат в st.

Val(st: string; x: числовая переменная; var code: integer)

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

Chr(n: byte): char

Функция возвращает символ по коду, равному значению выражения n. Если n можно представить как числовую константу, то можно также пользоваться записью #n.

32. Процедура ввода-вывода.

Процедуры ввода/вывода относятся к стандартным или встроенным процедурам Turbo Pascal. Стандартная процедура не нуждается в предварительном описании, она доступна любой программе, в которой содержится обращение к ней.

Оператор

Модуль

Назначение

Пример

WRITELN

SYSTEM

Производит вывод числовых данных, значения переменных, символов и строк на экран (или в файл). После вывода значений переводит курсор в начало следующей строки. Форма записи:

WRITELN ([параметр],[параметр]);

При выводе строка должна быть заключена в апострофы.

 

WRITELN (C);

WRITELN (C, KB, KM);

WRITELN ('СТРОКА', C);

WRITE

SYSTEM

Аналогична WRITELN, но после вывода значений не переводит курсор в начало следующей строки, оставляя его на строке вывода.

 

WRITE (C, KB, KM);

READLN

SYSTEM

Останавливает выполнение программы для ввода значенийс клавиатуры или считывает их из файла.Последовательность и тип вводимых данных должны соответствовать последовательности и типу переменныхуказанных в операторе. «Лишние» данные отбрасываются. Форма записи:

READLN ([переменная],[переменная]);

 

READLN (A);

READLN (ST, SUM);

READ

SYSTEM

Аналогичен READLN, но «лишние» данные не отбрасываются,а становятся доступными для следующих операторов READ, позволяя производить в программе «потоковый» ввод данных.

 

READ (ST, SUM);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]