Ответы на вопросы к экзамену, страница 5
Описание файла
Документ из архива "Ответы на вопросы к экзамену", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "к экзамену/зачёту", в предмете "информатика" в общих файлах.
Онлайн просмотр документа "Ответы на вопросы к экзамену"
Текст 5 страницы из документа "Ответы на вопросы к экзамену"
Readln(a); Readln(b); Readln(c); или Readln(a, b, c);
Readln(с1, с2, с3, c4); {ожидает ввода значений символьных переменных с1, с2, с3, c4, например: "У", "Р", "А", "!" и нажатия Enter }
Writeln(с1, с2, с3, c4); выведет на экран надпись: УРА!
27.Оператор выбора.
Case "параметр" Of
"список помеченных операторов"
Else "оператор" End;
Пример операторов для определения порядка целого числа N от 0 до 999:
case N of
0..9: writeln('однозначное');
10..99: writeln('двузначное');
100..999: writeln('трехзначное')
else writeln('Число "N" не входит в указанный диапазон') end;
28.Условный оператор.
IF "условие" Then "оператор1" Else "оператор2";
Например, вычисление квадратного корня из числа "a" проводится при условии a>=0,
IF a >= 0 Then b:= Sqrt(a) Else begin WriteLn ( 'a<0' ); Readln; Halt end;
Оператор Halt прекращает выполнение программы.
29.Оператор цикла.
С параметром
For i:= N1 To N2 Do "оператор";
For i:= N1 DownTo N2 Do "оператор";
С условием
While "условие" DO "оператор";
Repeat "операторы" Until "условие";
"условие" - выражение логического типа (Boolean).
30.Оператор перехода к метке.
Goto "метка";
M1: Write('Введите x>=0'); Readln(x); If x<0 Then Goto M1;
Метки описываются в разделе описания, например: Label M1;
31.Линейные массивы.
Описание массивов:
Var A: array[ 1. . 30 ] of byte;
S: array[ 1. . 30 ] of string;
SO: array[ 1. . 30 ] of string[12];
Присвоение значений элементам массива:
A[1]:= 5; A[2]:= 4; и т. д.
S[1]:= 'Иванов'; S[2]:= 'Петров'; и т. д.
Присвоение значения элементам массива "y" по зависимости:
y=sin(x), где x= Pi * i/180, 0<= i <=180 .
For i:= 0 to 180 Do y[i]:= sin(Pi * i/180);
Присвоение случайных значений в диапазоне от -30 до +40 ста элементам массива "R":
Randomize; for i:=1 to 100 Do R[i]:= - 30+Random(71);
32.Двумерные массивы.
Var A:array[1..30,1..7] of byte;
33.Текстовые файлы.
Var f: Text;
Assign(f, 'Name_f');
где Name_f - имя файла.
Например,
Assign(f, 'file. dat'); {файл находится в текущем каталоге}
Assign(f,'C:\Pascal\Work\file.dat') {файл находится}
Открытие файла для записи данных
ReWrite(f);
Запись данных в файл
Write(f,"сп"); или Writeln(f,"сп"); {"сп" - список переменных}
Открытие файла для считывания данных
Reset(f);
Считывание данных
Read(f, "сп"); или Readln(f, "сп");
Закрытие файла
Close(f);
Запись данных в конец закрытого файла
Append(f);
34.Установка атрибутов файла.
Исходный атрибут файла
GetFattr(f, af);
Установка атрибута файла
SetFattr(f, af);
где f - имя файловой переменной,
af - имя переменной атрибута (тип Word).
Наименование | Константа "ads" | Двоичное | Шестнадцатиричное |
Только для чтения | ReadOnly | 0000 0001 | $01 |
Скрытый файл | Hidden | 0000 0010 | $02 |
Системный файл | System | 0000 0100 | $04 |
Архивный файл | Archiv | 0010 0000 | $20 |
35.Описание функций и процедур.
Модули System, Crt, Graph
Procedure Name_P(p1, p2,...:"тип"; Var p3, p4,...: "тип";...);
Function Name_F("список формальных параметров"):"тип результата";
где Function и Procedure - служебные слова,
Name_F, Name_P - имена функции и процедуры соответственно,
p1, p2 - имена формальных параметров-значений,
p3, p4 - имена формальных параметров-переменных,
Type M= array[1..100]of real;
Procedure Name_P(p: M);
Name_P(p11, p22,..., p33, p44,...); - вызов процедуры Name_P,
Y:= Name_F("список фактических параметров"): - вызов функции Name_F,
Здесь p11, p22, . . . - имена или значения переменных,
p33, p44, . . . - имена переменных, значения которых возвращаются в программу.
Y - переменная, которой присваивается значение возвращаемое функцией.
36.Рекурсивные функции и процедуры.
Схема линейного взаимодействия процедур
Схема циклического взаимодействия процедур
37.Разработка модулей.
Unit
Интерфейсная часть, Interface (описание глобальных имен типов, меток, констант, переменных, а также заголовков процедур, доступных основной программе).
Исполняемая часть, Implementation (описание процедур: заголовок, разделы описания и выполнения, заголовки которых перечислены в интерфейсной части, а также локальных имен типов, меток, констант и переменных, используемых в инициирующей части).
Инициирующая часть , Begin.. End. (блок операторов, выполняемых при подключении модуля к основной программе).
38. Модуль CRT.Управление экраном в текстовом режиме.
Наименование процедуры | Параметры процедуры | Результат выполнения процедуры |
TextMode(N); N=0 | N - тип Word (40x25)-CGA- ч. б. | Задание текстового режима работы монитора. |
N=1 | (40x25) -CGA, | Экран очищается, курсор устанавливается в позицию 1, 1. Цвета исходные: белые символы на черном экране Наибольшие значения координат Хm:= Lo(WindMax)+1; Ym:= Hi(WindMax)+1; |
N=2 | (80x25) -EGA, VGA, | |
N=3 | (80x25) цветной | |
N=N+256 | (80x43)-EGA цветной | |
Ym | (80x50)-VGA цветной | |
N=7 | (80x25)-монохромный; (80 колонок х 25 строк ); | |
Window(x1, y1, x2, y2); | x1, y1, x2, y2 - тип Byte 1 <= x1 < x2 <= Xm, 1 <= y1 < y2 <= Ym в системе координат экрана. | Задание окна на экране. Курсор устанавливается в позицию (1, 1) в системе координат окна. Превышение координат экрана игнорируется. |
TextBackGround(N); | N - тип Byte, 0 <=N<= 7 | Назначение цвета фона. При N>7 N:= N mod 8 |
Clrscr; | Использование процедуры после TextBackGround(N); закрашивает активное окно | Очистка активного окна, экрана курсор устанавливается в позицию (1, 1). Закрашивание окна. |
TextColor(N); | N - тип Byte 0 <=N<= 15 а также при N:= N + 128 вывод мерцающих символов - | Назначение цвета символов. При N>15, N:= N mod 16, |
GotoXY(x, y); | x, y - тип Byte | Установка курсора в позицию ( x, y ) в системе координат активного окна, экрана. |
InsLine; | Вставка пустой строки. | |
DelLine; | Удаление строки в позиции курсора. | |
ClrEol; | Стирание символов от позиции курсора до конца строки. |
39.Модуль CRT.Управление клавиатурой.
KeyPressed; - возвращает значение True (тип Boolean) - если была нажата любая клавиша (кроме Ctrl, Alt, NumLock и т. п. ), иначе - False.
ReadKey; - возвращает символ нажатой клавиши (тип Char).
Repeat Writeln('Нажмите скорее любую клавишу') until KeyPressed;
Repeat Writeln('Нажмите клавишу "А"'); c:=ReadKey until c='А';
Для очистки буфера клавиатуры применяются операторы:
While KeyPressed Do c:=ReadKey;
40.Модуль CRT.Работа с символьными переменными.
Repeat c:=readKey; Write(c) until c=#13;
здесь "с" - переменная типа Char,
#13 - код клавиши Enter
#32 - SpaceBar
#27 - Esc
Для запоминания вводимых символов можно использовать операторы:
i:=0; repeat i:=i+1; ch[i]:=readKey; write(ch[i]) until ch[i]=#13;
Здесь ch[i] - элемент массива ch типа Char.
41. Модуль CRT. Управление звуковыми сигналами.
Sound(N); - включение звука с частотой тона N (измеряется в герцах).
Delay(M); - задержка выполнения программы на M миллисекунд.
NoSound; - выключение звука. Здесь N и M - типа Word.
Sound(F); Delay(N); NoSound;
Формула расчета частоты звука:
F=Round(440*Exp(Ln(2)*(No-(10-Nn)/12)));
где No - номер октавы -3<= No <=4; Для основной октавы No=0.
Nn - номер ноты 1 - До, 2 - До#, 3 - Ре, и т. д. 12 - Cи.
При сквозной нумерации нот принять для No<0 - Nn<1, для No>0 - Nn>12.
42. Модуль Graph. Инициализация и закрытие графического режима.
InitGraph.
Для запуска графической системы необходимо:
-
Подключить модуль GRAPH — библиотеку графических процедур:
USES Graph;
-
Установить графический режим с помощью двух переменных и инициализировать графическую систему :
VAR DriverVar, ModeVar:Integer;
BEGIN
DriverVar := Detect;
InitGraph(DriverVar , ModeVar, '<путь к файлу драйвера>');
Таблица 3. Константы графических драйверов (DriverVar)
Константа | Значение |
CurrentDrivgr | -128 |
Detect | 0 |
CGA | 1 |
MCGA | 2 |
EGA | 3 |
EGA64 | 4 |
EGAMono | 5 |
IBM8514 | 6 |
HercMono | 7 |
ATT400 | 8 |
VGA | 9 |
PC3270 | 10 |
43.Модуль Graph.Базовые процедуры и функции: окно, текущий указатель, точка,линия.
Система координат
координата Х
(0,0) (GetMaxX,0)
координата Y
(0,GetMaxY) (GetMaxX, GetMaxY)
Рис. 1
Перемещение текущего указателя
MoveTo(X,Y:integer) перемещает текущий указатель в точку с координатами X,Y.
MoveRel(dX,dY:integer) перемещает текущий указатель на dX точек по горизонтали и на dY точек по вертикали.
GetX, GetY возвращают координаты текущего указателя:
Экран и окно в графическом режиме
ClearDevice
Создание окна SetViewPort(xl,yl,x2,y2:integer; Clip:boolean);
где xl, yl — координаты левого верхнего угла,
х2, у2 — координаты правого нижнего угла окна.