Б4.Циклические структуры алгор-ов. Составные части цикла.
Разновидности циклических структур.
Циклические алгор. многократно используют часть действий для формирования результата решения задачи.
Составные части:
Р – рабочая часть цикла (тело).
П – подготовка цикла. Задание начальных значений для вычислений.
Л – логический анализ на завершение (продолжение) цикла.
ПИ – подготовка информации к следующему шагу.
Разновидности циклических структур:
1.Циклы с предусловием.
2.Циклы с постусловием.
Характер управления:
1.Циклы с заданным числом повторений (с параметром), для которых можно указать: начальное, конечное значения и приращение.
2.Итерационные циклы число повторений которых не известно и проверка на окончание происходит не по параметру, а, чаще всего, по достижению заданной точности.
Б15.Условный оператор(1). Оператор перехода(2).
2):Операторы в программе обычно выполняются в том порядке, в котором они записаны. Оператор перехода прерывает естественный порядок выполнения программ и указывает, что дальнейшее её выполнение должно продолжаться, начиная с оператора, помеченного этой меткой.
Goto……метка
Каждая метка должна быть объявлена в разделе описания меток.
Б6. Алфавит(1),синтаксис(2),семантика(3) и словарь языка ПАСКАЛЬ(4).
1), 2), 3):Алгоритмический язык состоит из алфавита, правил составления текста (синтаксиса) и правил понимания смыслового содержания текста (семантика).
Алфавит – зафиксированный набор символов из которых может состоять текст.
Синтаксис – правило записи слов, выражений, операторов и др. языковых конструкций на данном языке.
Семантика – определённое смысловое содержание отдельных языковых конструкций.
Минимальные единицы языка, имеющие самостоятельный смысл, называются лексемами: словарь, комментарии, знаки операций, разделители и символьные строчки.
4):1.Ключевые слова, введённые разработчиками языка, - это ограниченный набор слов, который имеет фиксированное обозначение и определённый смысл: PROGRAM, BEGIN, READLN, WRITELN.
2.Идентификаторы – имена (названия), построенные по определённым правилам слова, предназначенные для обозначения (идентификации) констант, переменных, типов данных, процедур и т.п., определённых программистом.
3.Числа делятся на целые и вещественны; целые же в свою очередь на десятичные и шестнадцатеричные, а вещественны – на числа с фиксированной точкой и на числа с плавающей точкой.
Лексемы:
Комментарий – фрагменты текста поясняющего характера, записанного с использованием допустимых слов и ограниченного скобками: (**), {}.
Знаки операций: простые (+, -, *, /) и составные (:=, >=, =<, < >).
Разделители – для отделения лексем друг от друга ( ; , ).
Символьные строки – последовательность символов, заключённых в апострофах.
Б8.Структура программы.
Раздел описаний:
Program Pr1…………...заголовок программы
Uses………спецификация внешних модулей
Label…………………………....раздел меток
Const……………..раздел описания констант
Type……………………………..раздел типов
Var…………………….…раздел переменных
Procedure………раздел процедур и функций
Function………..раздел процедур и функций
Begin…………….начало исполняемой части
… …….……….раздел операторов
End………………………………………....end
Операторы, константы и переменные:
Операторы – синтаксические конструкции, предназначенные, как для записи алгор. действий по преобразованию данных, так и для задания порядка выполнения других действий.
Константы – элементы данных, которые задаются в начале программы и не изменяются в процессе её выполнения.
Переменные – программный объект, который способен принимать различные значения, в соответствии с типом.
Б9.Стандартные типы данных: целый тип(1).
Стандартные типы данных:
- целый;
- вещественный;
- логический;
- символьный.
Тип данных задаёт область значений, которую могут принимать переменные данного типа, множество операций над этими значениями и внутр. представляет ЭВМ.
1):Представление в ЭВМ.
Целые числа представлены в ЭВМ с помощью двоичных чисел. Двоичные числа, состоящие из N бит можно представить двумя способами:
1.N бит без знака; 2.N бит со знаком.
Диапазоны:
1) 00…0(min)(N) 11…1(max)(N)=0..2^N-1
2)-0..0(N) +11…1(N-1)=-2^(N-1)…2^(N-1)-1
Б16.Оператор выбора (варианта).
Используется в тех случаях, когда в зависимости от какого-либо выражения выбрать один из нескольких путей (кол-во путей не ограничено).
Пример:
Program nedellja;
Var w:byte; {номер дня недели}
Begin writeln(‘введите номер дня недели’);
Readln(n);
Case n of
1:writeln(‘пон.’);
2:writeln(‘втор.’);
3:writeln(‘ср.’);
4:writeln(‘четв.’);
5:writeln(‘пятн.’);
6:writeln(‘субб.’);
7:writeln(‘вос.’);
else writeln(‘Такого дня нет’); end {case}
end.
Б17.Оператор цикла с предусловием.
WHILE логическое выражение DO оператор
Б18.Оператор цикла с постусловием.
REPEA оператор UNTIL логическое выражение
Б19.Оператор цикла с параметром (с заданным числом повторений).
to (+1)
FOR имя := выр.1 выр.2 Dо оператор
downto (-1)
1.Цикл for не выполняется ни разу, если начальное значение (выр.1) > (для downto <), чем конечное (выр.2).
2.Начальное и конечное значения управляющей переменной не должны изменяться внутри цикла.
3.Последнее значение управляющей переменной не определено после нормального выхода из цикла.
4.Нельзя задать шаг, отличный от 1 или -1.
Б22.Строковые типы данных. Char.
Строка – последовательность символов кодовой таблицы ПК.
Определение констант и переменных строкового типа.
String…[…константа (max длина строки)…]
Type
Stroka=string[20]; {или var S2: string[20]}
Var S2: stroke;
Доступ к отдельному символу может быть получен с помощью индекса.
S2= ‘программа’; S2[4]=‘г’; S2[0]=9;
Операции над строками.
1.Операция отношения (=, < и т.д.).
Строки сравниваются посимвольно, слева направо.
При обнаружении первого не совпадающего символа принимается решение 0 > < (больше, меньше), в соответствии с кодовой таблицей. Если две сравниваемые строки имеют разную длину, но совпадают вплоть до последнего символа короткой строки, то короткая строка считается меньше.
2.Операция сцепление.
a:= ‘семестр’; b:= ‘первый’; c:= ‘второй’;
b+a - ‘первый семестр’; c+a - ‘второй --||--‘
3.Стандартные процедуры и функции.
Delet(st{string},pos,n{byte}) – из строки st, с позиции pos удаляется n символов.
Insert(S1,S2{string},pos{byte}) – вставка S1 в S2 с позиции pos.
Str(V{real},St{string}) – преобразование числового значения V в строку St.
Val(St{string},V{real},C{byte}) –преобразование строки St в число V, C=0, если нет ошибки.
Copy(St{string},pos,n{byte}) – выделение из строки St, с позиции pos, n символов.
Length(St{string}) – определение длины строки.
Pos(S1,S2{string}) – обнаружение первого появления строки S1 в строке S2.
Concat(St1,St2,…) – Сцепление строк, равноценное знаку “+”.
Ввод(1) и вывод(2) строк.
(1)При вводе строк иметь ввиду: так как пробел тоже символ, то конец строки – клавиша “ввод”.
(2)При выводе в списке выводимых данных можно использовать выражение и формат, при использовании формата стока выравнивается по правому краю.