
- •Этот вопрос для идиота!
- •Поиск элемента в неупорядоченном массиве
- •Поиск элемента в упорядоченном массиве
- •Запомните: Отличие между функцией и процедурой в том:
- •Процедуры передачи управления
- •Структурные типы в Паскале
- •Сортировка выбором
- •Со стеками обычно выполняются следующие действия:
- •Действия со строками в Паскале
- •Структурная организация данных:
- •Интервальный тип данных
- •Функция сложности алгоритма.
- •Сочувствую кому это поподется!
Запомните: Отличие между функцией и процедурой в том:
1) Что функций есть свой тип, а процедуры нет.
2) Функция возвращает значение, процедура нет.
№31
Комментарии
• В начале текста программы должен помещаться комментарий с описанием
постановки задачи, решаемой программой.
• Хорошим тоном в программировании считается вставка комментариев
в текст программы, поясняющих неочевидные особенности её работы.
Расположение операторов на строке
На одной строке не должно располагаться более одного оператора.
Операторы, следующие друг за другом
Если последовательно записанные операторы реализуют конструкцию .следо-
вание. структурного программирования, то они должны быть записаны друг за
другом на отдельных строках, причём слева от каждого оператора необходимо
вставить одинаковое количество пробелов.
Составной оператор
Составной оператор, а также блок операторов программы .begin . . . end..
оформляется следующим образом:
• Ключевые слова begin и end записываются на отдельных строках, больше
в эти строки ничего не помещается.
• Все операторы между ключевыми словами begin и end дополняются слева
двумя пробелами (т. е., выравниваются на 2 пробела правее слов begin
и end).
• Если внутри составного оператора или блока операторов программы
встречается другой составной оператор, то его операторные скобки begin и end записываются на одном уровне по горизонтали вместе с другими
операторами внешнего блока (т. е., также выравниваются 2 пробелами),
а операторы внутри него выравниваются ещё на 2 пробела правее клю-
чевых слов begin и end внутреннего составного оператора (см. примеры
далее).
Условный оператор
• На отдельной строке записывается ключевое слово if, за ним—условие
и ключевое слово then.
• Оператор, являющийся веткой .then. записывается, начиная со следую-
щей строки.
• Если оператор-ветка .then. не является составным оператором, то он до-
полняется слева двумя пробелами, таким образом, смещаясь по горизон-
тали на 2 пробела вправо относительно ключевого слова if строкой выше.
Операторы циклов .while. и .for. оформляются по таким же правилам, как
и оператор .if..
Оператор цикла с постусловием
• Оператор цикла с постусловием оформляется аналогично блоку .begin . . .
end.: ключевые слова repeat и until с условием располагаются на отдель-
ных строках друг под другом, операторы внутри тела цикла располага-
ются с отступом на 2 пробела вправо относительно ключевых слов repeat
и until.
• Аналогично условию в операторе .if., длинное условие цикла .repeat
. . . until. может быть продолжено на следующих строках с отступом
в 2 пробела относительно ключевого слова until.
Оператор выбора
• Заголовок оператора (.case . . . of.) и завершающее ключевое слово end
располагаются на отдельных строках друг под другом.
• Каждое перечисление констант выбора (с двоеточием на конце) или клю-
чевое слово else, определяющие альтернативу выбора, располагаются на
отдельной строке с отступом в 2 пробела вправо от заголовка оператора.
• Оператор, исполняемый по соответствующей ветви для данной альтерна-
тивы, располагается на следующей после неё строке. Если этот оператор—
составной, то он записывается ровно под записью альтернативы. Иначе
он записывается с отступом в 2 пробела вправо от записи альтернативы
(таким образом, с выравниванием на 4 пробела вправо от заголовка опе-
ратора).
• Как и в случае с другими операторами, длинное выражение выбора (сто-
ящее между ключевыми словами case и of) рекомендуется разбивать на
несколько строк с отступом в 2 пробела на последующих строках.
№32
Общие сведения:
Массив - это структурированный тип данных, который используется для описания упорядоченной совокупности фиксированного числа элементов одного типа, имеющих общее имя. Для обозначения элементов массива используются имя переменной-массива и индекс.
Массивы
Массив - упорядоченные данные одного типа. Возможно создание массива, вклю-чающего массив другого типа. Массивом часто обозначают характеристики обьектов одного типа, имеющих одинаковые единицы измерения. Массив состоит из элементов, имеющих порядковые номера, т. е. элементы массива упорядоченны. Таким образом, если обьекты одного типа обозначить именем, например "A", то элементы обьекта будут A[1], A[2] и т. д. В квадратных скобках указан номер элемента. Порядковый номер элемента массива, обычно не несет никакой информации о значении элемента, а показывает расположение элемента среди других. К элементам массива можно обращаться только по их номеру (индексу). Значения элементам массива присваиваются также как и другим переменным с учетом типа массива. Если элементы массива имеют один индекс, то массив называется одномерным или линейным, либо массив - вектор. Значения элементов одномерного массива обычно выводят на экран или бумагу в виде столбца или строки. В некоторых случаях удобно элементы массива пронумеровывать двуми независимыми индексами, такие массивы называются двумерными или матрицами. Значения элементов двумерного массива обычно выводят на экран в виде таблицы. Если элементы массива имеют три независимых индекса, то массив называется трехмерным. Значения элементов трехмерного массива обычно выводят на экран в виде набора таблиц.
№33
Функциональное программирование - это стиль программирования, использующий только композиции функций. Другими словами, это программирование в выражениях, а не в императивных командах.
В функциональном программировании нет ни процедур, ни циклов, нет даже переменных. Почти одни только функции.
Отличительные особенности функции: она имеет только один результат выполнения (но может иметь несколько входных параметров); результат обозначается именем функции и передаётся в основную программу.
Функция оформляется в следующем виде:Function <имя функции>(формальные параметры): тип значения функции;
Var
. . .
Begin
. . .
End ;
Вызывается функция по её имени с указанием фактических параметров.
Вызов функции можно делать непосредственно внутри выражения. При вызове функции тип не указывается.
Функции - это процедуры особого вида, результатом работы которых является некоторое значение, подобное переменной.
Функция, как и процедура, может иметь список параметров, следующих за именем функции в круглых скобках. Но если имя процедуры используется только для ее вызова, то с именем функции связывается ее значение. На примере задачи сложения двух целых чисел проиллюстрируем возможности Турбо Паскаля 7.0 по оформлению подпрограмм при помощи процедур и функций, а также рассмотрим различия между этими двумя подходами.
Вызов процедуры производится по ее имени. Наряду с параметрами-значениями a и b, которые подлежат сложению, в списке параметров присутствует параметр-переменная Sum, который содержит возвращаемое процедурой значение – сумму.
Функция же имеет только два параметра. Это связано с тем, что само имя функции представляет собой идентификатор параметра, значение которого после окончания работы функции равно результату вычисления. Этот параметр соответствует параметру-переменной Sum процедуры. При объявлении функции ей в соответствие ставят определенный тип данных – тип возвращаемого функцией значения.
№34