- •Билет №1:
- •I,j:Integer;
- •Билет №2:
- •Билет №3:
- •I,j:Integer;
- •//Логические константы
- •2) //Сравнения
- •3) //Логические операции
- •Билет №4:
- •Билет №6
- •Цикл с постусловием
- •3) Для того чтобы досрочно завершить виток цикла используется оператор Continue, для завершения цикла полностью – оператор Break.
- •Билет№7
- •Циклы с пред условиями
- •3)Отличие состоит в том что в цикле с постусловием цикл завершится в случае когда условие станет истинным, в цикле же с предустловием наоборот – ложным.
- •Билет №8:
- •Билет №9:
- •Program _Case;
- •1:Goto Met1;
- •2:Goto Met2;
- •Билет №10:
- •Многомерные массивы
- •I,j:Integer;
- •I:Integer;
- •IMax,iMin:Integer; {Наибольший и наименьший}
- •I:Integer;
- •Билет №11, 12:
- •Билет №13, 14:
- •Var //Раздел описаний подпрограммы
- •I:Integer;
- •Var //Раздел описаний подпрограммы
- •I:Integer;
- •X:String; //Раздел описаний основной программы
- •Билет №20: Оконные диалоги. Обработка ошибок
- •Билет №21:
- •Inherited Create; //Вызываем старый конструктор
- •Var I,j,k:Integer;
- •I,j:Integer;
- •I,j:Integer;
- •Inherited Destroy; //Вызываем старый деструктор
- •Билет №22:
- •Var //переменные:
- •Билет №23,24:
- •Билет №25: Битовые карты
- •3) Копирование изображений
- •Билет №26,27:
- •Билет №28:
- •Билет №29:
Билет №13, 14:
Существует 2 вида подпрограмм: Procedure (процедура) и Function(функция)
Что такое подпрограмма
это оператор, разработанный программистом
имеет имя
может иметь входные и выходные параметры
размещается в разделе описаний в виде полноценной программы
Как пишется п/п
П/п имеет заголовок, который начинается словом Procedure или Function (процедура) (функция)
Рядом указывается имя п/п, которое программист выбирает самостоятельно
Если необходимо добавляются параметры (в круглых скобках)
Для имени функции задаётся тип (результата)
В конце заголовка ставится знак «;»
Ниже заголовка размещается текст п/п по правилам написания программы
После заключительного слова End ставится знак «;» (а не «.»)
Как вызывается п/п
Упоминанием своего имени в тексте программы
Пример процедуры без параметров
Program Examp1;
{$APPTYPE CONSOLE}
uses
SysUtils;
//--------------------------------------
//Пример процедуры, выполняющей задержку
//--------------------------------------
Procedure MyPause; //Заголовок с именем MyPause
Begin //Начало раздела операторов подпрограммы
Write('Press ENTER');
ReadLn;
End; //Конец подпрограммы
Begin //Раздел операторов основной программы
MyPause; //Вызов подпрограммы
End.
Параметры п/п
Параметры используются для обмена данными между основной программой и п/п. Различают функциональные параметры и аргументы.
С помощью параметров – аргументов передаются данные от основной программы к п/п. Аргументы описываются рядом с именем п/п в круглых скобках как обычные переменные, но без слова Var.
При вызове п/п вместо аргументов можно подставлять любые выражения соответствующего типа.
program Examp2;
{$APPTYPE CONSOLE}
uses
SysUtils;
//------------------------------------
//Процедура, выводящая разряжённый текст
//------------------------------------
Procedure WidthTxt(s:String); //Заголовок с именем WidthTxt и аргументом s
Var //Раздел описаний подпрограммы
I:Integer;
Begin //Раздел операторов подпрограммы
For i:=1 To Length(s) Do
Write(s[i],' ');
End; //Конец подпрограммы
Begin //Раздел операторов основной программы
WidthTxt('Dog'+'Cat'); //Вызов подпрограммы
ReadLn;
End.
Аргументы и переменные раздела описаний п/п называют локальными переменными. Они формируются в начале выполнения п/п и удаляются из памяти по окончании работы п/п.
С помощью функциональных параметров передаются данные от п/п к основной программе. Функциональные параметры описываются так же, как и аргументы, но с приставкой слова Var.
При вызове п/п вместо функционального параметра необходимо подставить переменную соответствующего типа (а не выражение).
program Examp3;
{$APPTYPE CONSOLE}
uses
SysUtils;
//------------------------------------
//Процедура, удаляющая лишние пробелы
//ВХОД: s - строка текста
//ВЫХОД: t - строка без лишних пробелов
//------------------------------------
Procedure KillSpace(s:String; Var t:String);