мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| pascal:procfandfun [18/10/2011 10:13] – oca | pascal:procfandfun [06/05/2019 03:50] (текущий) – [Функции] ybezrukov | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Процедуры и функции ====== | ====== Процедуры и функции ====== | ||
| - | Ниже сказанное относится не только к языку Паскаль, | + | ==== Процедуры ==== |
| + | На уровне идей, всё ниже сказанное относится не только к языку Паскаль, | ||
| + | |||
| + | **Процедура (подпрограмма)** -- большой (более или менее) фрагмент кода, который описан специальным образом один раз, но может вызываться из разных мест программы. Процедурами, | ||
| + | |||
| + | ==== Описание и вызов процедур ==== | ||
| + | |||
| + | Следует различать **описание** и **вызов** процедур. | ||
| + | |||
| + | **Описание | ||
| + | |||
| + | Не следует путать описание | ||
| + | |||
| + | **Вызов процедуры** | ||
| + | |||
| + | **Объявление процедуры** -- редко встречающаяся | ||
| + | |||
| + | ==== Функции ==== | ||
| + | |||
| + | **Функции** -- это специальный вид процедур, | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | '' | ||
| + | |||
| + | Их описание и применение несколько отличается от описания и применения просто " | ||
| + | |||
| + | Во многих современных версиях языков программирования, | ||
| + | |||
| + | '' | ||
| + | |||
| + | Обратное - неверно. Неверный пример: | ||
| + | |||
| + | '' | ||
| - | **Процедура (подпрограмма)** -- большой (более или менее) фрагмент кода, который описан один раз, но может вызываться из разных мест программы. Процедурами, | ||
| Процедуры можно разделять по нескольким критериям. В данном случае, | Процедуры можно разделять по нескольким критериям. В данном случае, | ||
| - | * **стандартные** добавляются автоматически, | + | * **стандартные** добавляются |
| - | * **библиотечные** | + | * **стандартные |
| + | * **дополнительные библиотечные** | ||
| + | * **собственные библиотечные** | ||
| * **локальные** описываются в программе. | * **локальные** описываются в программе. | ||
| Строка 30: | Строка 66: | ||
| // Скорее всего - не существует в реальности. | // Скорее всего - не существует в реальности. | ||
| // Содержит ВСЁ (происхождение чего мы не хотим объяснять) | // Содержит ВСЁ (происхождение чего мы не хотим объяснять) | ||
| - | |||
| const | const | ||
| n=1000; | n=1000; | ||
| - | | ||
| type | type | ||
| ArrayType = array[1..N] of integer; | ArrayType = array[1..N] of integer; | ||
| Строка 39: | Строка 73: | ||
| var | var | ||
| SortedA : ArrayType; | SortedA : ArrayType; | ||
| - | |||
| begin | begin | ||
| FillArray (SortedA); | FillArray (SortedA); | ||
| Строка 45: | Строка 78: | ||
| SortArray (SortedA); | SortArray (SortedA); | ||
| PrintArray(SortedA); | PrintArray(SortedA); | ||
| - | |||
| end. | end. | ||
| - | |||
| </ | </ | ||
| Строка 72: | Строка 103: | ||
| минимизация включения повторяющегося кода - когда в программу включается в различных местах программы множество одинаковых или практически одинаковых фрагментов; | минимизация включения повторяющегося кода - когда в программу включается в различных местах программы множество одинаковых или практически одинаковых фрагментов; | ||
| - | | + | стандартизация кода |
| | | ||
| | | ||