- •Вопрос 1 Типы данных, преобразование типов.
- •Вопрос 2 Массивы, как параметры функций и процедур
- •Вопрос 3. Условный оператор. Логические выражения
- •Вопрос 4. Функции и их использование
- •Вопрос 5. Оператор альтернативного выбора.
- •Вопрос 6 Оператор цикла со счетчиком.
- •Вопрос 7 Оператор цикла с предусловием.
- •Вопрос 8 Оператор цикла с постусловием.
- •Вопрос 9 Логические операторы и логические выражения. Тип Boolean.
- •Вопрос 10 Одномерные и двумерные массивы.
- •Вопрос 11. Условный оператор.
- •Вопрос 12. Процедуры. Глобальные и локальные переменные
- •Вопрос 13. Строковые переменные. Процедуры и функции для работы со строками.
- •Вопрос 14. Двумерные массивы и вложенные циклы.
- •Вопрос 15. Структура программы в языке Pascal Заголовок программы
- •Раздел меток (label)
- •Раздел констант (const)
- •Раздел типов (type)
- •Раздел процедур и функций
- •Раздел действий (операторов)
- •Вопрос 16 Операторы присваивания, ввода, вывода. Соответствие типов.
- •Вопрос 17 Записи. Синтаксис описания записей.
- •Вопрос 18 Сравнение массивов и записей. Работа с полями записей.
- •Вопрос 19 Символьные переменные Операции и функции для работы с ними.
- •Вопрос 20 Арифметические выражения. Стандартные математические функции.
- •Вопрос 21. Типизированные файлы. Процедуры и функции для работы с ними.
- •Вопрос 22. Типы файлов. Процедуры и функции для работы с ними
- •Вопрос 23. Текстовые файлы. Процедуры и функции для работы с ними.
- •Вопрос 24. Арифметические и логические операции и их приоритет
- •Xor логическое «или исключающее»
- •Вопрос 25. Область видимости переменных.
- •Вопрос 26 Механизмы передачи параметров процедурам.
- •Вопрос 27 Запись и чтение файлов. Открытие и закрытие файлов.
- •Вопрос 28 Понятие алгоритма. Линейный, разветвляющийся, циклический алгоритмы.
- •Вопрос 29 Структурированные типы: массивы, строки, записи, файлы.
Вопрос 12. Процедуры. Глобальные и локальные переменные
Подпрограмма - это отдельная функционально независимая часть программы. Любая подпрограмма обладает той же структурой, которой обладает и вся программа.
Глобальными называются переменные, объявленные в основной программе и доступные как программе, так и всем ее подпрограммам.
Локальными называются переменные, объявленные внутри подпрограммы и доступные только ей самой.
Нетрудно догадаться о решаемой задаче: присвоить глобальной переменной х некоторое значение, а затем напечатать это число через специальную процедуру.
Во втором варианте программы переменная с именем Х описана только в основной программе, поэтому она, как глобальная переменная, доступна в подпрограмме. В результате будет напечатано значение числа П.
В первом варианте переменная х переопределена в подпрограмме, таким образом, в подпрограмме имеется локальная переменная х, ничем не связанная с переменной Х основной программы. Поскольку этой локальной переменной не присвоено значение, будет напечатано случайное число, содержащееся в соответствующей ячейке памяти.
Возникает вопрос, какова роль локальных переменных, нельзя ли все переменные описать как глобальные?
Процедура должна быть, по возможности, независима от основной программы, поэтому все переменные, нужные только в пределах процедуры, должны описываться как локальные. Общение основной программы с подпрограммой должно, как правило, идти через список параметров процедуры, что придает подпрограммам необходимую гибкость. Вместе с тем, излишне большое число параметров, передаваемое в подпрограмму при ее вызове, замедляет работу программы, поэтому не следует пренебрегать использованием в подпрограммах глобальных переменных.
Кроме локальных переменных, в программах могут быть и локальные подпрограммы. Это подпрограммы, текст которых размещен внутри текста подпрограммы более высокого уровня. Использование таких подпрограмм, как и локальных переменных, ограничивается подпрограммой, к которой они принадлежат.
Локальность или глобальность являются понятиями относительными. Программа с вложенными в нее подпрограммами представляет собой иерархическое дерево. Объект, локальный по отношению к более высокому уровню иерархии, ведет себя как глобальный по отношению к подпрограммам более низкого уровня.
Процедура |
Процедура - , процедуры, ж. (от латин. procedo - иду вперед). 1. Порядок выполнения, ряд последовательных действий, необходимых для выполнения чего-н. (книжн.). Процедура подписания договора. Судебная процедура. Сложная процедура. 2. Отдельный процесс, акт в лечении, к-рому подвергается больной, напр. инъекция, клизма, компресс и т. п. (мед.). Ходить на процедуры. В числе других процедур больному назначены грязевые ванны.; |
Вопрос 13. Строковые переменные. Процедуры и функции для работы со строками.
Строка (string) - это последовательность символов.
Тип данных (string) определяет строки с максимальной длиной 255 символов.
Переменная этого типа может принимать значения переменной длины.
Строковая переменная может иметь атрибут длины, определяющий ее максимальную длину.
Строковая константа – последовательность символов, заключенная в апострофы.
К отдельным символам строки можно обратиться по номеру (индексу) данного символа в строке.
Конкатенация – сцепление нескольких строк в одну результирующую строку.
Функция Upcase позволяет преобразовывать символ из строчного в прописной.
Эта функция рассчитана на обработку отдельного символа. Поэтому для обработки строки символов с помощью этой функции приходится организовывать цикл.
Русские символы не могут обрабатываться этой функцией.
Функция Copy позволяет копировать фрагмент некоторой строки из одной переменной в другую.
Вызывая эту функцию нужно указать следующие параметры:
имя строки, из которой должен извлекаться копируемый фрагмент;
позицию в строке, начиная с которой будет копироваться фрагмент;
число копируемых символов
C помощью функции Pos Вы можете осуществить поиск некоторого фрагмента в строке. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции, с которой он начинается. Если фрагмент не найден, то функция возвращает 0.
Функция Concat (Str1,Str2,...,StrN) выполняет конкатенацию (или сцепление) строк Str1,Str2,...,StrN в том порядке, в каком они указаны в списке параметров.
Сумма символов всех сцепленных строк не должна превышать 255.
Процедура Insert вставляет в исходную строку, начиная с указанной позиции, какую-либо другую строку.
Оператор Insert (str1,str2,5) указывает, строку str1 необходимо вставить в строку str2, начиная с 5-ой позиции.
Процедура Delete удаляет в исходной строке фрагмент определенной длины, начиная с указанной позиции.
Так, оператор Delete(str1,2,3) удаляет из указанной строки фрагмент, длиной в три символа, начиная со второго.
Общий вид Str(Chislo,Stroka)
Процедура Str преобразовывает числовое значение переменной Chislo в строковую переменную Stroka. После первого параметра может указываться формат, аналогичный формату вывода.
Общий вид Val(Stroka,Chislo,Code)
Процедура Val преобразует значение строки Stroka в величину целочисленного или вещественного типа и помещает результат в Chislo. Значение строковой переменной Stroka не должно содержать пробелов в начале и в конце.
Code целочисленная переменная. Если во время операции преобразования ошибки не обнаружено, значение Code равно нулю, если же ошибка обнаружена, Code будет содержать номер позиции первого ошибочного символа, а значение Chislo будет не определено.