
информатика (не сорт) / Шпоры / Основные операторы паскаля
.doc
35. Условный оператор If.
Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то ил иное действие.
Структура условного оператора:
If < условие> Then <оператор1> Else <оператор2>
Где < условие> - произвольное выражение логического типа;
<оператор1>, <оператор2> - любые операторы языка Турбо Паскаль.
Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение < условие>. Если результат есть TRUE, товыполняется <оператор1>, а <оператор2> пропускается; если результат есть FALSE, наоборот, <оператор1> пропускается, а выполняется <оператор2>. Например:
Var
X, y, max: integer;
Begin
……
if x > max then
y:= max
else y:=x; При выполнении этого фрагмента переменная У получит значение переменной Х, если только это значение не превышает МАХ, в противном случае У станет = Мах.
Оператор выбора CASE.
Оператор выбора позволяет выбрать одно из нескольких возможных продолжении программы. Параметр по которому осуществляется выбор, служит ключ выбора – выражение любого порядкового типа (Real, String.)
Структура оператора:
CASE <ключ_выбора> OF <список_выбора> {Else <операторы>} END
Где CASE переводится как случай.
<ключ_выбора> - ключ выбора, <список_выбора> - одна или более конструкций вида: <костанта выбора>: <оператор>;
<костанта _выбора> - константа того же типа, что и выражение <ключ_выбора>.
Оператор выбора работает следующим образом. Вначале вычисляется значение выражения <ключ_выбора>, а затем в последовательности операторов <список_выбора> отыскивается такой, которому предшедствует костанта, равная вычисленному значеню. Найденный оператор выполняется, после чего оператор выбора завершает свою работу. Если в списке выбора не будет найдена константа, соответсвующая вычисленному значению ключа выбора, управление передаётся операторам, стоящим за словом ELSE.
Пример. Var
Ch:char; begin ReadLn(ch); case ch of
‘n’, ‘N’: Writeln (‘Нет’);
‘y’, ‘Y’: Writeln(‘Да’)
end
end.
В этой программе при вводе одного из символов: у или У выведет на экран слово «ДА», а при вводе n или N - слово “НЕТ”.
39. Оператор цикла с параметром For.
Структура:
For <пар_цикл> := <нач_знач> То <кон_знач> Do <оператор>.
<пар_цикл> - параметр цикла – переменная цикла Integer;
<нач_знач> - начальное значение – выражение того же типа;
<кон_знач> - конечное значение - выражение того же типа.
При выполнении оператора FOR вначале вычисляется выражение <нач_знач> и осуществляется присваивание <пар_цикл> := <нач_знач>.
После этого циклически повторяется:
-
Проверка условия <пар_цик> <= <кон_знач>; если условие не выполняется, оператор For завершает работу;
-
Выполнение оператора <оператор>;
-
Наращивание переменной <пар_цик> на еденицу.
Пр. Ввод с клавы произвольного целого числа N и суммы всех целых чисел от 1 до N/
Program Sum_OF_integer;
Var i, n, s: integr;
Begin Write (‘N=’);
Readln (n); - вводим N
S:=0; - начальное значение суммы
For i:=1 to n do – цикл подсчёта суммы
S:=s+i;
Writeln (‘Сумма = ‘, s) – выводим результат
End. В этом примере шаг наращивания параметра цикла строго постоянен и равен (+1). Сущ. другая форма оператора:
For <пар.цикл>:=<нач.знач> Downto <кон.знач> Do <оператор>
Замена зарезервированного слова To на Downto означает, что шаг наращивания параметра цикла равен (-1), а управляющее условие приобретает вид <пар.цикл> = <кон.знач>. Теперь можно подсчитывать и отрицательные суммы.
37. While с предпроверкой условия:
While <условие> Do <оператор>.
Где While – пока;
<условие> - выражение логического типа.
Если выражение <условие> имеет хзначение True, то выполняется <оператор>, после чего вычисление выпажение <условие> и его проверка повторяется. Если <условие> имеет значение False, то опертор While прекращает работу.
Пр. найдём “машинное эпсилн” – такое минимальное, не равное 0 вещественное число, которое после прибавления его к 1.0 даёт результат отличный от 1.0
Program Epsilon;
Var epsilon: real;
Begin epsilon :=1; while epsilon/2 + 1 > do
Epsilon:= epsilon/2
Writeln (‘Машинное эпсилон =’, epsilon) end.
38. Repeat с постпроверкой условия:
Repeat <тело_цикла> Until <условие>.
Где <тело_цикла> - произвольная последовательность операторов Турбо Паскаля. Операторы <тело_цикла> выполняется хотя бы один раз, после чего вычисляется выпажение <условие>: если его значение есть False, операторы <тело_цикла> повторяются, в противном случае оператор Repeat…UNTIL завершает свою работу.
Пр. Программа будет повторять цикл ввода символа и печати его кода до тех пор, пока очередным символом не будет символ CR (вводится клавишей ENTER).
Program codes
Var ch: char; - вводимы символ
Const
Cr=13; - код символаCR
Begin repeat Readln(ch);
Writeln(ch, ‘ =‘, ord (ch))
Until ord (ch) = Cr END.
45. Стандартный модуль CRT.
Модуль CRT содержит подпрограммы управления текстовым выводом на экран дисплея, звуковым генератором и чтения клавиатуры.
Модуль GRAPH представляет собой мощную библиотеку графических подпрограмм универсального назначений, рассчитанную на работу с наиболее распространёнными графическими адаптерами IBM – совместимых с ПК.
Процедуры:
InitGraph (var Driver, Mode: Integer; Path: String) Инициализирует графический режим. Переменные Driver, Mode должны содержать тип графического драйвера и его режим работы. Параметр Path определяет маршрут поиска файла графического драйвера.
SetViewPort (x1, x2, y1, y2: Integer; ClipOn;Word) – создаёт на экране графическое окно . Если окно определено весь дальнейший графический вывод осуществляется относительно координат этого окна и отсекается его границами.
SetGraphMode – устанавливает новый графический режим и очищает экран.
SetTextStyle – устанавливает текущий шрифт, стиль и размер текста.
CloseGraph – закрывает графический режим.
ClearDevice – очищает экран.
OutText – выводит текстовую строку на экран.
OutTextXY – выводит текст в заданное место экрана.
16. Модуль GRAPH. Построение граф. линий.
Line(X1, y1, x2,y2) рисует линию от точки х1, y1 до х2, y2
SetBkColor – устанавливает цвет фона.
SetColor – устанавливает основной цвет, которым будет производиться рисование.
SetLineStyle – устанавливает толщину и стиль линии.
40-41. Массив. Под массивом понимается упорядоченная совокупность конечного числа данных одного типа. К необходимости применения массивов приходим всякий раз когда требуется связать и использовать целый ряд родственных величин. При описании массива надо указать общее число входящих в массив элементов и тип этих элементов:
var a:array [1..10] of real; b:array [0..50] of char; c: [3..4] of boolean;
Возможно 2 способа описания массива: По моему конспекту:
-
type имя типа = array[t1, t2…tn] of to;
Var имя массива : имя типа;
-
Var имя массива:array [t1, t2….tn] of to;
Здесь t1, t2 и tn – типы индексов массива. Они могут быть простыми и стандартными типами ТБ кроме real. n – размерность массива. to – базовый тип элементов массива. На n ограничений нет.
Возможно 2 способа описания массива: по кашапову:
1) Если массив создаётся на основе базового типа данных его можно определить в разделе объявления переменных: Var VectorA: array[1..8] of real;
x: array [-2..5] of integer; ch: array [1..255] of char;
2) если массив создаётся на основе пользовательского типа данных он объявляется в разделе Type: type matrix5 = array [1..5] of real; var A: matrix5;
B,C:matrix5;
Элементы массива сохраняются в памяти компа в соседних ячейках следующих друг за другом .
Двумерный массив: 1) A:array [1..3, 1..3] of byte;
2) Type matrix3x3 = array [1..3, 1..3] of byte ; Var A:matrix3x3;
В 2D массиве элементы делятся на 2 категории: строка и столбец: A[1,1]:=1; A[1,2]:=2; Элементы 2D массива храняться в памяти по строкам.
3D – массив: Var Kub:array [1..8, 1..8, 1..8] of byte;
для куба данные храниться по плоскостям, которые преобразуются в строки.
Для того чтобы обратиться к конкретному элементу массива надо указать его индексы в квадратных скобках через запятую.
Ввод массива Var A:array [1..9] of integer;
For i:=1 to 9 do read (A[i]);
Вывод for i:=1 to 9 do write (A[i]);