Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

На экзамен. Вопросы

.docx
Скачиваний:
17
Добавлен:
11.04.2015
Размер:
213.57 Кб
Скачать
  1. Состав программы на языке Pascal

Программа на языке Pascal может включать следующие разделы:

  1. Заголовок программы (Program).

  1. Раздел описания используемых модулей (Uses).

  2. Раздел описания меток (Label).

  3. Раздел описания типов данных (Type).

  4. Раздел описания констант (Const).

  5. Раздел описания переменных (Var).

  6. Раздел описания процедур (Procedure).

  7. Раздел описания функций (Function).

  8. Раздел операторов (Begin…End.).

Разделы могут включать:

  1. Описания – объявления используемых элементов программы.

  1. Операторы – инструкции в программе для выполнения компьютером каких-либо действий..

При составлении программ на языке Pascal используются следующие основные правила:

  1. Большие и малые буквы не различаются.

  1. Разделы, описания и операторы отделяются друг от друга точкой с запятой (;), которая считается пустым оператором в языке Pascal.

  2. В конце программы ставится точка (.).

  1. 2. Идентификатор – имя элемента программы. Идентификаторами обозначаются переменные, константы, типы данных, процедуры, функции, модули.

Идентификатор не может начинаться с цифры и может содержать:

  • латинские буквы;

  • цифры;

  • знак подчёркивания.

Идентификатор не может содержать русских и греческих букв, а также знаков препинания и математических операций.

Правильные :

Hello

SumOfReal

H8_G7_F6

Неправильные:

2yx

i,beta:max

x

xизм

Тип данных – множество значений, которые могут принимать величины.

Описание нового типа данных в языке Pascal имеет вид: Type T= Z; где Type – раздел описания типов данных, T – имя типа, Z – значение типа.

Это означает, что в программе объявляется новый тип T, описываемый значением Z.

Пример: Type

Zifra = 0..9;

Vesna = (mart,aprel,may);

В языках программирования базовыми типами данных являются:

  1. Числа.

  1. Логические величины.

  2. Строки.

3.Числа являются наиболее часто используемым типом данных в языках программирования.

По наличию знака числа делятся на:

  1. Положительные (числа со знаком "+" больше нуля), причём знак "+" может не ставиться.

  1. Отрицательные (числа со знаком "" меньше нуля), причём знак "" ставится обязательно.

  2. Ноль (число без знака).

По наличию дробной части числа бывают:

  1. Целые (без дробной части).

  1. Дробные (вещественные, действительные), причём в качестве разделителя целой и дробной частей ставится точка.

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

а)  С фиксированной точкой, при которой число имеет фиксированное количество позиций в дробной части.

б)  С плавающей точкой (экспоненциальная форма), при которой число включает:

  • мантиссу (цифры базового числа, у которого запятая стоит в другом месте);

  • букву E;

  • порядок (степень числа 10).

Пример. Примеры записи чисел с плавающей точкой приведены в таблице

Математическая запись

Запись в программе

-1E+2

3E-3

1E120

31.4e-1

4.Логические величины могут принимать одно из 2-х допустимых значений: истина или ложь

Логическое

значение

Символьное обозначение

Числовое

обозначение

Истина

true

1

Ложь

false

0

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

5. Константа – величина, которая в процессе выполнения программы остаётся постоянной. Константа может задаваться только своим значением (литера), а может также быть именованной.

Описание именованных констант в языке Pascal имеет вид: Const C = Z где где Const – раздел описания констант, C – имя константы, Z – значение константы. Это означает, что в программе объявляется константа C, задаваемая значением Z.

Пример 1.Обозначения констант в языкеPascal:

123

2.87

'это строка'

pi

Пример 2. Описание именованных констант в языке Pascal

Const

a=1.23;

kod='flag';

6. Переменная – величина, которая может изменяться в процессе выполнения программы. Переменные бывают статические и динамические. Переменная должна объявляться в программе и имеет: 1. Имя(идентификатор переменной);2. Тип данных (принадлежность диапазону значений); 3. Значение.

Описание переменных в языке Pascal имеет вид: Var P1,…, PN:T; где Var – раздел описания переменных, P1 – имя переменной 1-й, PN – имя переменной N-й, T – тип переменных. Это означает, что в программе объявляются переменные P1, …, PN типа T.

Пример. Описание в языке Pascal переменных i1, i2 целочисленного типа; x1, x2 вещественного типа

Var

i1,i2:integer;

x1,x2:real;

7. Метка – обозначение номера закладки в строке программы. Метка обычно отделяется от остального текста программы двоеточием.

Описание меток в языке Pascal имеет вид: Label М1,…, МN где Label – раздел описания меток, M1 – имя метки 1-й, MN – имя метки N-й. . Это означает, что в программе объявляются метки строк с номерами M1, …, MN .

Пример. 1 Описание меток в языке Pascal : Label 10,abc;

Пример.2 Обозначение строки с меткой 10 в языке Pascal 10: a:=b;

8. Комментарий – пояснение, которое не используется для выполнения действий в программе. Комментарии используются для описания словами действий в программе или для пропуска какого-либо участка программы. Комментарии не являются идентификаторами и могут содержать русские буквы, а также другие символы. Комментарии бывают:

  1. Однострочные, которые имеют вид:

где // – начало комментария.

Это означает, что начинается комментарий до конца строки.

  1. Многострочные, которые имеют вид:

Или

где { или (* – начало комментария, } или *) – конец комментария. Это означает, что между этими символами расположен комментарий.

Пример.

a:=1; // Это однострочный комментарий

b:=2; {Это многострочный комментарий} c:=3;

В языке Pascal используются стандартные функции и процедуры, обращение к которым включает:

  1. Имя (идентификатор функции или процедуры).

  1. Аргументы (список параметров в скобках, перечисленных через запятую).

Если функция или процедура реализуется во внешней программе (модуле), то надо указать этот модуль в разделе описания используемых модулей Uses.

Пример. Использование внешних объектов в языке Pascal :

Uses Crt, Graph;

...

GotoXY(3,5)

9. Среди стандартных типов данных в языке Pascal наиболее часто используются:

  1. Целочисленный тип integer (целые числа).

  1. Вещественный тип real (дробные числа).

  2. Логический тип boolean (логические значения).

  3. Символьный тип char (отдельные символы).

  4. Строковый тип string (строки символов).

10. В языке Pascal используются следующие типы данных:

  1. Простые типы, к которым относятся:

а)  Целые типы :( Byte, LongInt, Word, Integer, ShortInt );

б) Вещественные типы:Real, Comp, Double, Extended,Single; в)  Логический тип;е)  Ограниченный тип; д)  Перечислимый тип; г)  Символьный тип .

Все простые типы, кроме вещественных, относятся к порядковым типам (количество значений в которых является счётным).

2. Cтруктурные типы к которым относятся:

а)  Массивы; б)  Строки; д)  Файлы ; г)  Множества ;

в)  Записи

3. Динамические типы, к которым относятся:

в)  Объекты ;б)  Действия ;а)  Указатели

11. Простые типы, к которым относятся:

а)  Целые типы:

  • Byte (целые неотрицательные числа, занимающие 1 байт памяти, в диапазоне от 0 до 281).

  • ShortInt (короткие целые числа, тоже занимающие 1 байт памяти, в диапазоне от 27 до 271).

  • Word (целые неотрицательные числа, занимающие машинное слово или 2 байта, в диапазоне от 0 до 2161).

  • Integer (обычные целые числа, тоже занимающие 2 байта памяти, в диапазоне от 215 до 2151).

  • LongInt (длинные целые числа, занимающие 4 байта памяти, в диапазоне от 231 до 2311).

Все простые типы, кроме вещественных, относятся к порядковым типам (количество значений в которых является счётным).

12. б)  Вещественные типы:

  • Real (ноль и обычные дробные числа в диапазоне от 1039 до 1038).

  • Single (ноль и дробные числа одинарной точности в диапазоне от 1045 до 1038).

  • Double (ноль и дробные числа двойной точности в диапазоне от 10324 до 10308).

  • Extended (ноль и дробные числа расширенной точности в диапазоне от 104951 до 104932).

  • Comp (дробные числа компьютерной точности в диапазоне от 21063+1 до 210631).

13.

в)  Логический тип Boolean включает два значения: True (истина) и False (ложь).

г)  Символьный тип Char включает отдельные символы в кавычках.

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

Все простые типы, кроме вещественных, относятся к порядковым типам (количество значений в которых является счётным).

14. Cтруктурные типы (составные типы, структурированные типы), к которым относятся:

а)  Массивы (Array[…]of…) – упорядоченные наборы нумерованных элементов одинакового типа.

б)  Строки (String[…]) – последовательности символов в кавычках (массивы символов).

в)  Записи (Record…end) – неупорядоченные наборы именованных полей различного типа.

г)  Множества (Set of…) – неупорядоченные наборы данных одинакового типа.

д)  Файлы – упорядоченные наборы данных различного типа, хранящиеся в памяти ЭВМ :

  • текстовые файлы (Text);

  • типизированные файлы (File of…);

  • произвольные (нетипизированные) файлы (File).

15. Динамические типы (сложные типы), к которым относятся:

а)  Указатели (ссылочные типы).

б)  Действия (процедурные типы).

в)  Объекты (наборы данных и действий над ними).

  1. Оператор-

16. В языке Pascal используются следующие операторы:

  1. Составной оператор begin…end (началоконец).

  1. Оператор присваивания …:=… (…присвоить…).

  2. Операторы ввода:

  • read(…) (считывать);

  • readln(…) (считывать до новой строки).

  1. Операторы вывода:

  • write(…) (записывать);

  • writeln(…) (записывать до новой строки).

  1. Оператор безусловного перехода goto… (перейти к…).

  2. Оператор условного перехода (условный оператор) if…then…else… (еслитоиначе…).

  3. Оператор варианта (оператор выбора) case…of…else…end (в случаеизиначеконец).

  4. Оператор цикла с предусловием while…do… (покаделать…).

  5. Оператор цикла с постусловием repeat…until… (повторятьдо тех пор, пока…).

  6. Операторы цикла с параметром:

  • for…:=…to…do… (дляотдоделать…);

  • for…:=…downto…do… (дляотвниз доделать…).

  1. Оператор присоединения with…do… (сделать…).

17 .Программа. Объяснение программы.

18. В языке Pascal в основном используются следующие операции:

  1. Арифметические операции:

+ (сложение).

- (вычитание).

 (умножение).

/ (деление).

div (целочисленное деление).

mod (остаток от деления).

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

= (равно).

<> (не равно).

> (больше).

< (меньше).

>= (больше или равно).

<= (меньше или равно).

  1. Логические операции:

and (И).

or (ИЛИ).

not (НЕ).

xor (исключающее ИЛИ).

20. Среди стандартных функций в языке Pascal также наиболее часто применяются:

  1. round (округление числа).

  1. trunc (целая часть числа).

  2. frac (дробная часть числа).

  3. random (случайное число).

  4. odd (проверка нечётности).

  5. ord (порядковый номер аргумента).

  6. chr (символ с заданным порядковым номером).

  7. pred (предшествующее значение аргумента).

  8. succ (последующее значение аргумента).

Пример. round(3.7)  4

trunc(3.7)  3

frac(3.7)  0.7

random(10)  7

odd(3)  true

ord(’A’)  63

chr(63)  ’A’

pred(’B’)  ’A’

succ(’B’)  ’C’

Program z1; Программа по имени z1

Var Раздел описания переменных

a,b,c:real; Переменные a, b, c – вещественного типа (т.е. эти переменные – дробные числа)

Begin Начало раздела операторов (или начало составного оператора)

writeln('Введи a,b'); Вывод пояснительного текста 'Введи a,b'

read(a,b); Ввод значений переменных a и b

c:=a+b; Переменной c присваивается значение выражения a+b

writeln('c=',c:10:3); Вывод пояснительного текста 'c=' и значения переменной c,

имеющей в числе 10 позиций, в т.ч. 3 цифры после запятой

End. Конец раздела операторов и программы

Блок-схема:

19. В языке Pascal используются следующие математические функции

Математическая запись

Запись на Паскале

sin(x)

cos(x)

arctan(x)

abs(x)

ln(x)

exp(x)

sqr(x)

sqrt(x)

Константа

pi

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

Математическая запись

Запись на Паскале

При записи логических выражений используются операции сравнения и логические операции.

(11 div 2 = 5) and (2*2 <> 4)  false

(11 div 2 = 5) or (2*2 <> 4)  true

not(11 mod 2 = 0)  true

(2 <= 3) xor (11 mod 2 = 1)  false

В языке Pascal можно использовать следующие математические выражения

Математическая запись

Запись на Паскале

exp(bln(a))

exp(ln(a)/b)

ln(b)/ln(a)

ln(x)/ln(10)

sin(x)/cos(x)

cos(x)/sin(x)

sin(sqr(x))

sqr(sin(x))

21. Оператор присваивания позволяет изменять текущее значение переменной. Этот оператор имеет вид: P:=V, где P – переменная, V – выражение.

Это означает, что переменной P присваивается значение выражения V .

Оператору присваивания соответствует блок

22. Операторы ввода осуществляют ввод значений переменных с клавиатуры или из файла. Операторы ввода имеют вид: Read (P1, … , PN)

Readln (P1, … , PN) ,

где read – считывать, readln – считывать до новой строки, P1 – переменная 1-я, PN – переменная N-я.

Оператор read позволяет последовательно вводить значения переменных P1 … PN, а оператор readln, кроме этого, позволяет дополнительно перевести курсор на новую строку.

Операторам ввода соответствует блок

__________________________________________

24. Составной оператор представляет собой последовательность нескольких простых операторов, выделяемых операторными скобками

Этот оператор имеет вид: begin

Op 1

OpN

end

где begin – начало, end – конец, Op1 – оператор 1-й, OpN – оператор N-й. Это означает, что надо выполнять оператор Op1, … выполнять оператор OpN.

Составному оператору соответствует фрагмент блок-схемы:

23. Операторы вывода осуществляют вывод значений выражений на экран или в файл. Операторы вывода имеют вид: write (V1 , … , VN)

writeln (V1 , … , VN)

где write – записывать, writeln – записывать до новой, V1 – выражение 1-е, VN – выражение N-е.

Оператор write позволяет последовательно выводить значения выражений V1 … VN, а оператор writeln, кроме этого, позволяет дополнительно перевести курсор на новую строку.

Операторам вывода соответствует блок:

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

Формат вывода переменных вещественного типа может иметь вид: P:KP:KZ где P – переменная, KP – количество позиций, KZ – количество цифр после запятой. Это означает, что числовое значение переменной P должно занимать KP позиций, в т.ч. KZ цифр в дробной части.

Формат вывода любых числовых переменных может иметь вид:P:KP

Условие задачи. Найти величину , где катет треугольника , а объем шара .

Программа.

Program z1;

Var

a,b,c,R,V,F:real;

Begin

read(b,c,R);

a:=sqrt(sqr(c)-sqr(b));

V:=4/3piRRR;

F:=(exp(0.2ln(V))+c)/a;

writeln(F);

End.

Схема:

25. Оператор безусловного перехода позволяет осуществлять переход к далеко расположенной части программы без проверки условия. Этот оператор имеет вид:

go to M где goto – перейти к, M – метка.

Это означает, что надо перейти к строке с меткой M .

Оператору безусловного перехода могут соответствовать фрагменты блок-схемы: или

Программа.

Program z5d;

Label 20;

Var

x,y:real;

Begin

x:=0;

20: y:=exp(x);

writeln(x,y);

x:=x+1;

if x<=10 then goto 20;

End.

26. Оператор условного перехода (условный оператор) позволяет осуществлять переход к одной из двух частей программы в зависимости от выполнения какого-то условия. Этот оператор имеет вид: if U then Op1 else Op2

где if – если, then – то, else – иначе, U – условие, Op1 – оператор 1-й, Op2 – оператор 2-й. Это означает, что если условие U истинное, то выполнять оператор Op1, иначе выполнять оператор Op2.

Условие – логическое выражение, которое может принимать одно из 2-х значений: «истина» или «ложь».

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

27. Оператор варианта (оператор выбора) позволяет выбирать направление выполнения программы по одному варианту из множества частей. Этот оператор имеет вид: case S of

Z1: Op1;

ZN: Op2

Else Op 0

end где case – случай, of – из, else – иначе, end – конец, S – селектор, Z1 – значение 1-е, ZN – значение N-е, Op1 – оператор 1-й, OpN – оператор N-й, Op0 – оператор 0-й. Это означает, что в случае, если селектор S принимает значение из списка Z1, то выполнять оператор Op1, … если селектор S принимает значение из списка ZN, то выполнять оператор OpN, иначе выполнять оператор Op0.

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

Оператору варианта могут соответствовать фрагменты блок-схемы:

или

27. 1. Вычислить величину

Программа. Схема:

Program z2;

Var

a,b,c:real;

Begin

read(a,b);

if a>b

then c:=a+b

else c:=a-b;

writeln(c);

End.

2. Условие задачи. Вычислить величину , где a и c – целые

а) Использование вложенных условных переходов

Программа.

Program z3a;

Var

a,c:integer;

Begin

read(a);

if a=0 then c:=2

else if (a>=1) and (a<=10) then c:=3

else if (a=-1) or (a=11) then c:=4

else c:=5;

writeln(c);

End.

б) Использование множественного ветвления

Программа.

Program z3b;

Var

a,c:integer;

Begi

read(a);

case a of

0: c:=2;

1..10: c:=3;

-1,11: c:=4

else c:=5

end;

writeln(c);

End.

28. Оператор цикла с предусловием позволяет выполнять заранее неизвестное количество повторений в цикле, условие выхода из которого проверяется перед действиями в теле цикла. Этот оператор имеет вид: while U do Op где while – пока, do – делать, U – условие, Op – оператор. Это означает, что пока условие U истинное, повторять оператор Op в цикл.

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

Задачи: Условие задачи. Вычислить значения функции при x, изменяющемся от 0 до 10 с шагом 1

А) Цикл с предусловием

Программа.

Program z5a;

Var

x,y:real;

Begin

x:=0;

while x<=10 do

begin

y:=exp(x);

writeln(x,y);

x:=x+1;

end;

End.

29. Оператор цикла с постусловием позволяет выполнять заранее неизвестное количество повторений в цикле, условие выхода из которого проверяется после действий в теле цикла. Этот оператор имеет вид: repeat

Op1;

Op N

Until U где repeat – повторять, until – до тех пор пока, Op1 – оператор 1-й, OpN – оператор N-й, U – условие. Это означает, что надо повторять операторы Op1, … OpN в цикле до тех пор, пока условие U не станет истинным

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

Условие задачи. Вычислить значения функции при x, изменяющемся от 0 до 10 с шагом 1

Программа.

Program z5b;

Var

x,y:real;

Begin

x:=0;

repeat

y:=exp(x);

writeln(x,y);

x:=x+1;

until x>10;

End.

30. Оператор цикла с параметром позволяет выполнять заранее известное количество повторений в цикле, определяемое параметром цикла. Этот оператор имеет 2 разновидности.

а)  Оператор цикла с параметром (при увеличении параметра) имеет вид: for Par:= Nz to Kz do Op

где for – для, to – до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор. Это означает, что для параметра Par , увеличивающегося от начального значения Nz до конечного значения Kz с шагом 1, повторять оператор Op в цикле.

б)  Оператор цикла с параметром (при уменьшении параметра) имеет вид: for Par:= Nz down to Kz do Op

где downto – вниз до; Это означает, что для параметра Par , уменьшающегося от начального значения Nz до конечного значения Kz с шагом (-1), повторять оператор Op в цикле.

Параметр цикла (счётчик циклов) – переменная порядкового типа, изменяющаяся в цикле от начального до конечного значения с каким-либо шагом

Оператору цикла с параметром могут соответствовать фрагменты блок-схемы

или

30.

Программа.

Program z5c;

Var

x:integer;

y:real;

Begin

for x:=0 to 10 do

begin

y:=exp(x);

writeln(x,y);

end;

End.

31. Одномерный массив (вектор) – массив, элементы которого имеют один неповторяющийся номер.

Индекс одномерного массива – порядковый номер элемента в одномерном массиве.

Описание одномерного массива имеет вид:

Mas: array [Imin..Imax] of T где array – массив, of – из, Mas – имя массива, IMin – минимальное значение индекса, IMax – максимальное значение индекса, T – тип элементов. Это означает, что переменная Mas является массивом, который может иметь индексы от IMin до IMax у элементов типа T .

Например Var A : array [1..100] of real;

Это означает, что переменная A – массив, который может содержать от 1 до 100 элементов вещественного типа.

Доступ к элементу одномерного массива на языке Pascal имеет вид: Mas [Ind] где Mas – имя массива, Ind – индекс. Это означает доступ к элементу массива Mas с индексом Ind .

Например, A[1]; b[3]; c[i]; d[n]; f[k+1]. Это означает 1-й элемент массива A и т.д Program z1;

Var

A:array[1..100] of real;

i,n:integer;

s:real;

Begin

read(n);

s:=0;

for i:=1 to n do

begin

read(A[i]);

s:=s+A[i];

end;

writeln(s);

End.

32.

Характеристика

Для всех элементов

Для части элементов

  1. Сумма s

s:=0;

for i:=1 to n do

s:=s+A[i];

s:=0;

for i:=1 to n do

if A[i]>z then

s:=s+A[i];

  1. Количество k

k:=n;

k:=0;

for i:=1 to n do

if A[i]>z then

k:=k+1;

  1. Произведение p

p:=1;

for i:=1 to n do

p:=p*A[i];

p:=1;

for i:=1 to n do

if A[i]>z then

p:=p*A[i];

  1. Максимальное значение max

max:=A[1];

for i:=2 to n do

if A[i]>max then

max:=A[i];

max:=-1E10;

for i:=1 to n do

if (A[i]>max) and (A[i]>z) then

max:=A[i];

  1. Минимальное значение min

min:=A[1];

for i:=2 to n do

if A[i]<min then

min:=A[i];

min:=1E10;

for i:=1 to n do

if (A[i]<min) and (A[i]>z) then

min:=A[i];

  1. Среднее значение sr

s:=0;

for i:=1 to n do

s:=s+A[i];

sr:=s/n;

s:=0;

k:=0;

for i:=1 to n do

if A[i]>z then

begin

s:=s+A[i];

k:=k+1;

end;

sr:=s/k;

33.

Операция

Фрагмент программы

  1. Ввод элементов массива

for i:=1 to n do

read(A[i]);

  1. Вывод элементов массива

for i:=1 to n do

writeln(A[i]);

  1. Замена элементов массива на величину z

for i:=1 to n do

A[i]:=z;

  1. Увеличение элементов массива на величину z

(аналогично уменьшение, умножение, деление)

for i:=1 to n do

A[i]:=A[i]+z;

  1. Вычисление элементов массива B прибавлением к элементам массива A величины z

(аналогично вычитанием, умножением, делением)

for i:=1 to n do

B[i]:=A[i]+z;

  1. Вычисление индекса максимального элемента imax

(аналогично минимального)

max:=A[1];

imax:=1;

for i:=2 to n do

if A[i]>max then

begin

max:=A[i];

imax:=i;

end;

  1. Вывод индексов для части элементов

for i:=1 to n do

if A[i]>z then

writeln(i);

  1. Перестановка 1-го и 2-го элементов одномерного массива

c:=A[1];

A[1]:=A[2];

A[2]:=c;

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