Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на экзамен по информатике.docx
Скачиваний:
5
Добавлен:
27.04.2019
Размер:
106.96 Кб
Скачать

Вопрос 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 будет не определено.