Опубликован: 23.10.2009 | Доступ: свободный | Студентов: 2794 / 93 | Оценка: 4.28 / 4.22 | Длительность: 17:27:00
Специальности: Программист
Лекция 4:

Процедурная парадигма

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

4.3. Глоссарий

Термин Англ. Термин Разъяснение
принудительное приведение типов forced reduction of types Явное, не зависящее от реализации языка программирования изменение типов данных для выражений и функций этого языка. Принудительным приведением типов нужно пользоваться с осторожностью, поскольку эти операции не генерируют ошибок (переполнения, исчезновения значащих разрядов, например). Но часто это единственный способ заставить работать функцию.
оператор присваивания (значений) assignment statement (of values) Оператор (или операция) назначения нового значения переменной. Этим новым значением может быть значение константы, переменной, арифметического, логического, символьного выражения либо функции. При присвоении переменной значения старое ее значение теряется безвозвратно!
имя переменной variable name Идентификатор, который "именует" значение переменной, хранящейся в оперативной памяти компьютера.
оператор условия operator of condition Оператор, изменяющий линейную последовательность операций в случае наступления какого-либо условия, и выполняющий последовательность действий, прописанную программистом при наступлении условия. В случае не наступления условия линейная последовательность действий продолжается.
условие condition Некоторое "событие в ЭВМ и ее окружении", изменение значения одной из переменных, реакция на результат выполнения арифметического или логического выражения, подачи команды на вход программы, окончания файла, начало и конец операции ввода-вывода и т.п., которые требуют изменения последовательности действий в алгоритме. Условия используются в операторах условия, ветвления, циклов, при множественном выборе.
значение переменной variable value Содержимое ячейки оперативной памяти компьютера, на которую указывает имя переменной, определенной в одном из языков программирования. В отличие от значения константы это значение может изменяться. При этом старое значение полностью и безвозвратно уничтожается! Замечание: тип значения переменной определяется не ее значением, а ее объявлением.
событие (в ЭВМ) event (in the computer) Наступление конкретного исхода наблюдения за работой системы. События бывают внешними (нажатие клавиши на клавиатуре, щелчок клавишей мыши или перемещение его курсора, получение сигнала-запроса на прием данных от модема или сетевого адаптера и т.п.), а могут быть и внутренними (запрос программы на отрисовку на экране своего "рабочего окна", сообщение таймера, сообщение системы, что программа "зависла", сообщение оборудования об отказе и т.п.). Управление системой "по событиям" является основополагающей частью объектно-ориентированного программирования. В командном интерфейсе события используются реже.
окружение компьютера computer environment Текущие параметры конфигурации, с которыми загружается компьютер. Включает в себя переменные среды, файлы конфигурации программ, файлы "реестра Windows". Окружение компьютера может быть системным и пользовательским.
системное окружение system environment Переменные среды, файлы конфигурации "общесистемных" программ и "демонов", записи в реестре Windows, применимые для всех пользователей данного компьютера.
пользовательское окружение user environment Переменные среды, файлы конфигурации "пользовательских" программ и "демонов", записи в реестре Windows, применимые для конкретного пользователя данного компьютера.
булевский тип Boolean type Тип переменных, способные принимать только два значения: "Истина" или "Ложь".
логический тип logical type То же, что и булевский тип данных
операция отношения ratio relationship Отношение между двумя объектами в математике, логике и программировании. Отношения бывают арифметическими, логическими и символьными.
символьные отношения character ratio Отношение между двумя целыми числовыми кодами, представляющие строки в ЭВМ. Доступны следующие отношения: "равно", "не равно", "больше", "больше или равно", "меньше", "меньше или равно", "содержит", "не содержит". Значение операторов символьных отношений зависит не только от значения элементов строк (символов) но и от длины этих строк.
безусловный переход unconditional transition Оператор в программе, прерывающий линейную последовательность действий и передающий управление коду, расположенному после указанной в операторе метки. В структурированном программировании оператор безусловного перехода можно использовать только для "кессонного" выхода из цикла.
строка row Горизонтально расположенная последовательность символов.
оператор перехода transition operator Оператор, изменяющий линейную последовательность действий алгоритма. Им может быть один из следующих операторов: оператор условия, ветвления и безусловного перехода.
бесконечная дробь unending fraction Десятичная дробь, имеющая бесконечное число знаков после запятой. Если эти знаки повторяются с определенной периодичностью, то говорят о рациональной дроби. В противном случае мы получаем иррациональное число (дробь).
оператор ветвления operator of branching Оператор перехода, который в зависимости от условия реализует две альтернативные последовательности в алгоритме.
группа операторов group of the operators Несколько операторов, объединенных в соответствии с логикой алгоритма в единый блок.
блок block Часть последовательности инструкций программы, ограниченные "скобками" и рассматривающиеся обработчиками языка как один операнд. С помощью операндов, например, определяется тело циклов и операций ветвления.
истинность (условия) truth of condition Логическое выражение, состоящее из операций арифметического и логического отношения, а также вызова возвращающих значения функций, принимающих положительное (истинное) значение.
цикл "пока" while cycle Цикл, тело которого выполняется произвольное число раз, в зависимости от истинности условия окончания цикла. Если цикл выполняется бесконечное число раз, то говорят, что "программа зациклилась". Цикл "пока" может не выполняться ни один раз, если не соблюдается условие входа в цикл.
условие окончания цикла condition of the cycle termination Условие, после наступления которого тело цикла перестает выполняться, и происходит переход на первый следующий за телом цикла оператор.
зацикливание recycling Ситуация, возникающая при реализации циклов: "пока" и "до…пока", а также при неправильной установки безусловных переходов, когда тело цикла выполняется бесконечное число раз. Это свидетельствует об ошибке в алгоритме программы.
условие входа в цикл condition of the cycle beginning Условие, необходимое для того, чтобы цикл "пока" выполнился хотя бы один раз. Как правило, условие входа в цикл соответствует условию выходу из него.
модификатор (в регулярном выражении) modifier (of a regular expression) Дополнительный символ регулярного выражения, указывающий, сколько раз могут входить символы в указанный образец. Модификаторами регулярных выражений могут быть символы: *, +, ?, {, }, (, ), [,].
модификатор "*" modifier "*" Модификатор регулярного выражения, указывающий, что предыдущий символ или группа символов могут повторяться множество раз (от нуля до бесконечности).
цикл "до…пока" "do…while" cycle Цикл, аналогичный циклу "пока", тело которого будет выполняться хотя бы один раз. Условие входа в цикл: "до…пока" всегда истинно.
модификатор "+" modifier "+" Модификатор регулярного выражения, указывающий, что предыдущий символ или группа символов могут повторяться множество раз (от одного до бесконечности), но хотя бы один раз должен присутствовать.
цикл с параметром cycle with parameter Цикл, повторяющееся определенное заданное наперед число раз, в зависимости от значений параметра-индекса.
индекс index Переменная, задаваемая при инициализации цикла с параметром и изменяющаяся на одно определенное значение после конца каждой итерации. Индекс нельзя изменять внутри цикла. Значение переменной-индекса при выходе из цикла не определено.
переопределение redefinition Операция, при которой тип и значение идентификатора переменной (или функции) меняется. Переопределение переменных обычно можно (но нежелательно!) проводить лишь в начале описания блока операторов.
оператор множественного выбора multiply branch operator Оператор, реализующий несколько (более двух) альтернатив в выполнении операторов алгоритма в зависимости от значения "ключевой" переменной. Ключевая переменная может иметь целый тип, тип-перечисление или быть одиночным символом.
перечисление enumeration Целый тип данных, способный принимать только небольшое ("перечисляемое") множество значений-констант. Эти константы определяются при описании данного типа данных на языке программирования.
одиночный символ single character Целое число, представляющее символ в одной из кодировок. Все символы кодируются только целыми числами.
итерация iteration Однократное выполнение (прогон) всего тела цикла в результате работы цикла с параметром, циклов "пока" и "до…пока".
прерванный цикл broken cycle Цикл, тело которого перестает выполняться на одной из итераций притом, что условие окончания цикла не выполняется. После этого продолжает выполняться программа позади последнего оператора тела цикла. Обычно оператор "обычного" прерывания цикла называется: "break".
кессонный выход caisson exit Выход сразу из нескольких вложенных циклов "наверх", позади тела последнего цикла. Обычно осуществляется оператором безусловного перехода на метку.
тело цикла body of the cycle Последовательность операторов (не всегда линейная) внутри блока "составного оператора", который выполняется внутри цикла. Как правило, в цикле можно использовать либо одиночный оператор, либо составной оператор-блок с телом цикла.
множественный выбор multiple choice Оператор предназначен для выбора одной из нескольких альтернатив в исполнении алгоритма, задающихся значением целой переменной или переменной, приводимых к целому значению.
альтернатива (выполнения алгоритма) alternative (of algorithm executions) Выбор из нескольких "не пересекаемых" путей алгоритма, или выбор из нескольких взаимно исключающих вариантов выполнения алгоритмов.
значение, приводимое к целому value, reduced to an integer Значение переменной в ячейке памяти некоторого типа, представленное в виде целого числа. Среди приводимых к целому типов значений относят символьные и "перечисляемые" типы значений.
моделировать simulate Воссоздать существенные составные части предмета ("модель") и условия его "внешнего окружения", на которых будут осуществлять ("моделировать") особенности его поведения. При этом модель и ее окружение может не совпадать с оригиналом ни по внешнему виду, ни по "масштабу". На моделях можно исследовать те особенности функционирования реальных объектов, которые проверять на оригиналах затруднительно либо опасно.
родительский цикл parent's cycle Цикл, в теле которого находится другой ("дочерний") вложенный в него цикл. Для выхода из родительского цикла обычно нужно завершить выполнение "дочернего" цикла или провести "кессонный" выход из цикла.
возвращаемый результат returned result Единственный вариант-значение функции, которое возвращается основной программе в случае определенного сочетания параметров функции и/или события или окружения в компьютере. В Си-подобных языках возвращаемое значение задается оператором: return "значение".
специальные символы РБНФ special symbols of EBNF Специальные символы, используемые при объявлении правил грамматики в расширенной Бэкусовой нормальной форме. К ним относятся символы: [, ], {, }, ::=, (, ), |, "" и некоторые другие.
описание description Один из двух основных видов элементов программы на языке программирования (другим является оператор). Описание вводит ("представляет") объект программе, назначает его имя и тип данных.
описание (процедуры) description (of a procedure) Описание процедуры определяет имя функции, тип возвращаемое ей значения, тип и количество формальных параметров, а также (в теле функции) задает алгоритм ее функционирования (путем программирования).
исходные значения (фактических параметров) initial values (of the actual parameters) Первоначальное значение фактических параметров, которые были переданы функции при ее вызове. При этом исходные значение для переменных, переданных по значению, не меняется, а исходные значения переменных, переданных по ссылке или как указатели, может измениться после выхода из функции.
указатель на переменную variable pointer Представляет собой переменную, содержащий адрес указанной переменной в оперативной памяти компьютера.
разыменованный (указатель) dereferencing (pointer) Разыменованный указатель - это переменная, содержащая значение переменной в ячейке памяти, на которую указывает указатель. Эта значение не является ни копией значения, ни адресом переменной. Конкретная реализация таких указателей зависит от реализации языков программирования.
счетчик counter Переменная, значение которой увеличивается или уменьшается в процессе вычислений, и при равенстве этого значения некоторой величине запускается внешний процесс: подпрограмма, функция, операторы условия, выхода из цикла, безусловный переход.
дескриптор 1 descriptor Переменная, которая содержит в себе некоторый номер, по которому операционная система выделяет некоторый ресурс или определяет некоторый процесс. Внимание! Значение дескриптора не является ни значением элемента, ни его адресом.
дескриптор 2 handle То же, что и дескриптор 1. Этим словом обозначаются дескрипторы в Windows.
операторы ввода-вывода input-output operators Операторы, служащие для обмена информацией между ЭВМ и периферийными устройствами. Чаще всего ввод-вывод подразумевает преобразование сигналов ЭВМ в форму, "понятную" человеку.
прямой ввод-вывод direct input-output Прямой ввод-вывод подразумевает непосредственное управление процессором (возможно, при помощи драйверов и прерываний операционной системы) операций ввода-вывода на консоль, модем, файл или принтер. При этом выдаются полностью все инструкции управления устройством, и программист пишет код для всех подготовительных операций. Прямой ввод-вывод является гибким средством, позволяет полностью использовать возможности системы, но является трудоемким и плохо "переносимым между системами программирования".
буферизированный bufferized См. потоковый ввод-вывод
потоковый ввод-вывод stream input-output Ввод-вывод, управляемой операционной системой, при котором вводимые и выводимые данные, получаемые или отдаваемые устройству, накапливаются в некотором промежуточном буфере в оперативной памяти, откуда его считывает или записывает в него прикладная программа. Для каждого устройства создается хотя бы один буфер ("поток"). Ввод-вывод данных из потока не управляется программистом.
составной оператор compound operator См. блок, группа операторов.
тело функции body of the function Программа, описывающая алгоритм работы функции (или процедуры), с учетом определенных в ней формальных параметров и возвращаемого результата выполнения.
выход из процедуры exit from the procedure Операция прерывания выполнения тела процедуры (функции) и немедленный возврат в вызывающую эту функцию программу (возможно, с возвращением результата операции).
блок-схема block-scheme Графический способ представления алгоритма, при котором операторы представляются в виде геометрических фигур, а последовательность их выполнения указана стрелками. Является наиболее наглядным способом визуализации алгоритма неструктурированного программирования.
школьный язык программирования school programming language Язык визуализации алгоритмов, разработанный в конце 80-х годов XX века для обучения программированию школьников процедурной парадигмы в рамках школьного курса информатики.
визуализация алгоритмов algorithm visualization Наглядное представление алгоритмов в виде форматированного текста, блок-схем, деревьев, ориентированного графа и т.п., с целью его лучшего понимания, кодирования и проверки.
неструктурированное программирование non-structural programming Языки программирования, в реализациях которых для изменения последовательности действий используются только операции условия и безусловных переходов. Примерами таких языков являются: Assembler, gwbasic и некоторые другие.
наибольший общий делитель (НОД) the greatest common divisor В алгебре - наибольшее число-делитель, на которое без остатка длятся два натуральных числа. НОД часто используется в алгебре, например, для приведения дробей к общему знаменателю.
алгоритм Евклида Euclid algorithm Алгоритм нахождения наибольшего общего делителя.
структурирование structuring Выделение "структуры" программы в виде последовательности отступов и выступов для различных операторов и синтаксических конструкций. Является главным инструментов структурированного программирования.
позиция табуляции tabulation position Горизонтальная позиция, на которую смещается текст при встрече в текстовом файле символа "горизонтальная табуляция". Этот отступ обычно можно настроить в опциях текстового редактора.
знак горизонтальной табуляции horizontal tabulation character Знак в стандартном ASCII коде, имеющий порядковый номер "09" и обозначаемый в Си подобных языках как '\t'. Относится к так называемым "пробельным" символам.

4.4. Приложения

4.4.1. Приложение I. Основные конструкции "школьного языка программирования"

Общий вид алгоритма
алг имя алгоритма (аргументы и значения);
	дано условие применимости алгоритма;
	надо цель выполнения алгоритма;
начало
…
конец
Команды алгоритмического языка.
нц пока (условие)
	тело цикла (последовательность команд);
кц

нц
	тело цикла (последовательность команд);
кц пока (условие)

нц для  i от i1 до i2 шаг i3
	тело цикла (последовательность команд);
кц

если( условие )
	то серия 1;
	иначе серия 2
все

если( условие )
	то серия 1;
все

выбор
	при условие 1: серия 1;
	при условие 2: серия 2;
	при условие n: серия n;
	иначе: серия n+1;
все

утв условие;
ввод имена величин;
вывод тексты, имена величин, выражения, нс;
вызов: имя алгоритма ( аргументы и имена результатов);
присваивание: имя величины := выражение;
Типы величин.
  • цел - целые;
  • вещ - вещественные;
  • лог - логические;
  • сим - символьные;
  • лит - строка (общего типа);
  • таб тип - таблица с элементами указанных типов;
Виды величин

Аргументы ( арг ) - описываются в заголовке алгоритма;

Результаты ( рез ) - описываются в заголовке алгоритма;

Значения функций ( знач ) описываются указанием типа перед именем алгоритма-функции;

Промежуточные - описываются в строке нач алгоритма;

Общие - описываются после строки исп исполнителя.

Общий вид исполнителя.
исп имя
	описание общих величин исполнителя;
	команды для задания начальных значений общих величин;
	алгоритм исполнителя;
кон

4.4.2. Приложение II. Требования к описательной части "школьного языка программирования"

В данном языке обязательны к описанию следующие элементы:

  1. Тип исполнителя, выполняющего алгоритм;
  2. Специальные требования к исполнителю ЭВМ;
  3. Используемые в программе библиотеки и функции;
  4. Задействованные в алгоритме переменные и функции, не входящие в указанные выше библиотеки (то есть глобальные переменные функции, созданные пользователем в своих целях);
< Лекция 3 || Лекция 4: 1234 || Лекция 5 >