список вопросов для зачета

advertisement
Что нужно знать по программированию
1. Структура программы
Структура программы на языке PASCAL состоит из трёх частей:
1) заголовка;
2) описательного блока;
3) исполнительного блока;
Program имя программы ;
заголовок
Const nmax=100;
начало описательного блока
Var n:integer;
целое
m:longint;
длинное целое
p:byte;
байт
r:real;
вещественный
c:char;
символьный
s:string;
строковой, длина строки 255 символов
str: string[80]; строковой, длина строки 80 символов
log:boolean; логический принимает значения true или false
Begin
тело программы;
исполнительный блок
состоит обычно из разделов: 1) ввод данных, 2) вычисления, 3)вывод данных
End.
2.
Числовые типы переменных
Shortint
Integer
Longint
Byte
Word
Real
Extended
Comp
3.
Короткое целое
Целое
Длинное целое
Байт
Слово
Вещественный
Расширенный
Комплексный
-128,127
-32768, 32767
-2147483648… 2147483647
0, 255
0, 65535
2.9E-39, 1.7E+38
3.4E-4932, 1.1E+4932
-9.2E+18, 9.2E+18
8 бит
16 бит
32бита
8 бит
16 бит
6 байт
10 байт
8 байт
Оператор ввода информации
Read (x1,x2,x3) - ввод переменных x1, x2, x3. Например: 2 3 5 Enter
Readln (x1,x2,x3) - ввод переменных x1, x2, x3 с переходом курсора на новую строку.
4.
Оператор вывода информации
Write (x1,x2,x3) - вывод на экран значения переменных х1, х2, х3;
Writeln (x1,x2,x3) - вывод на экран значения переменных х1, х2, х3 с переходом курсора на
новую строку.
Например, Write ('текст') - выводит на экран текст, заключённый в апострофах. Процедура вывода
также выводит на экран результат вычисления арифметического выражения, заключённого в
скобках, например: Write (х1+х2).
Writeln(s:7:3) – форматированный вывод, для вывода s выделяется 7 позиций, из них 3 дробных
5. Оператор присваивания
В левой части указывается имя переменной, правая часть – это выражение того же типа, что и
переменная. Символы «:=» связывают левую и правую части оператора присваивания и означают
«присвоить значение». Например: n:=10; или а:= b + c;
6. Оператор полного и неполного ветвления
Полное ветвления:
If < условие>
then
begin
< серия команд 1 >
end
else
begin
< серия команд 2>;
end;
Неполное ветвление:
If < условие> then
begin < серия команд 1 > end.
7.
Оператор выбора CASE
В случае необходимости разветвить вычислительный процесс в зависимости от выполнения или
невыполнения того или иного условия на более чем две ветви используется оператор выбора
Case S of
C1: <Оператор1>
С2: <Оператор2>
................
CN: <ОператорN>
Else <Оператор>
End;
S - выражение порядкового типа значение которого вычисляется;
C1, C2,…,CN – константы, с которыми сравнивается значение выражения S;
<Оператор1>, <Оператор2>, <Оператор N> - операторы, из которых выполняется тот, с
константой которого совпадает значение выражения S. Ветвь оператора else является
необязательной. Если она отсутствует и значение выражения S не совпадает ни с одной
константой, весь оператор рассматривается как пустой.
8. Когда в ветвлении используются операторные скобки begin…end
Операторные скобки используются, если в серии команд более одного оператора
Циклы
9. Оператор цикла WHILE. Когда применяется и при каком условии
выполняется.
Инициализация цикловой переменной;
while <условие> do
begin
тело цикла;
коррекция цикловой переменной
end;
Применяется когда неизвестно число повторений. Выполняется до тех пор пока условие истинно.
10.Оператор цикла FOR. Две модификации. Когда применяется и при каком
условии выполняется.
Применяется когда известно число повторений. Существует два варианта оператора.
for i:=a to b do begin тело цикла end;
параметр цикла i принимает значения от a до b,
увеличивая свое значение на 1 после каждого витка цикла.
for i:=b downto a do begin тело цикла end;
параметр цикла i принимает значения от b до a,
уменьшая свое значение на 1 после каждого витка цикла.
11.Когда в циклах используются операторные скобки.
Когда в теле цикла более одного оператора
12.Оператор цикла REPEAT. Когда применяется и при каком условии
выполняется.
Оператор цикла REPEAT организует выполнение цикла, состоящего из любого числа операторов,
с неизвестным заранее числом повторений. Тело цикла выполняется хотя бы один раз.
Выполняется до тех пор пока условие ложно (то же самое, что цикл заканчивается, когда условие
вполнится)
Инициализация цикловой переменной;
repeat
тело цикла ;
коррекция цикловой переменной
until условие;
Массивы
1) Описание массива
Var a:array[1..1000] of integer;
I,n:integer;
2) Создание массива
Read(n)
а) Вручную
for i:=1 to n do read(a[i]);
b) Генератором случайных чисел
randomize;
вместо integer может быть любой тип, массив из 1000 элементов
i – для цикла, n- реальное число элементов
фактическое количество элементов массива
процедура устанавливающая генератор случайных чисел на
первое случайное число
for i:=1 to n do a[i]:=random(100); массив заполняется числами в промежутке от 0 до 99
random – функция генерирующая одно случайное число. Может использоваться с параметром и
без.
Просто random генерирует вещественное число из промежутка (0;1).
Random(k) генерирует целое число из промежутка [0;k-1].
Random(B-A+1)+A генерирует число на отрезке [A;B]
c) По формуле
for i:=1 to n do a[i]:=i*i;
массив из квадратов натуральных чисел от 1 до n
d) Чтение массива из файла
assign(input,’input.txt’);
процедура устанавливающая соответствие между файловой
reset(input);
переменной input и файлом input.txt
процедура, открывающая файл input.txt для чтения
read(n);
файл in.txt имеет вид 6
for i:=1 to n do read(a[i]);
431679
close(input);
процедура закрывающая файл input.txt
e) Вывод массива на экран
for i:=1 to n do
write(a[i]:4);writeln;
f) Вывод массива в файл
assign (output,’output.txt’); процедура, открывает файл output.txt для записи и
rewrite (output);
очищает его, если он есть на диске, или создает output.txt
если его на диске нет.
for i:=1 to n do write(a[i],’ ‘);
close(output);
g) удаление элемента массива из позиции k
for i:=k to n-1 do a[i]:=a[i+1];
dec(n);
h) вставка X в позицию K
for i:=n downto k do a[i+1]:=a[i];
a[i]:=X;
inc(n);
i) Поиск первого числа в массиве по заданному условию
i:=1;
while (i<n)and not (a[i]=X) do inc(i);
if a[i]=X then begin … нашли end
else begin … не нашли end;
Download