- •1.Алгоритм. История возникновения термина. Формальные признаки алгоритма.
- •3.Формы представления алгоритмов.
- •Словесная форма представления алгоритмов
- •6.Структура многооконного редактора Borland Delphi 7.
- •7. Структура проекта Delphi (формы, модули и др.).
- •8. Компиляция с последующим выполнением программы. Ошибки при компиляции. Использование окна “Watches”.
- •9. Переменные: определение, назначение и типы. Предопределенные (стандартные) типы. Раздел описания переменных. Область действия переменных.
- •1.Целый тип.
- •2.Вещественый тип.
- •3.Символьный тип данных (char).
- •4.Строковый тип.
- •5.Логический тип (Boolean).
- •10. Арифметические операции над целыми и вещественными данными. Приоритеты операций. Изменение приоритета. Целочисленные операции. Тип-диапазон.
- •12. Математические функции. Функции преобразования типов.
- •14. Условный оператор в языке Delphi. Назначение, синтаксис и семантика. Принципиальные отличия от оператора выбора (варианта).
- •15. Оператор выбора (варианта). Назначение, синтаксис и семантика. Принципиальные отличия от условного оператора.
- •16. Циклический процесс. Определение, назначение. Оператор цикла с заранее известным количеством повторений (синтаксис и семантика). А-циклы.
- •17. Циклический процесс. Определение, назначение. Оператор цикла с предусловием (синтаксис и семантика). Квм-циклы.
- •18. Циклический процесс. Определение, назначение. Оператор цикла с постусловием (синтаксис и семантика). Квм-циклы.
- •19. Рекурсия. Пример.
- •20. Символьный тип данных.
- •21. Строковый тип данных. Операции над строками. Стандартные процедуры и функции для работы со строками.
- •22. Структурированные типы данных. Массивы. Операции с массивами. Динамические массивы.
- •23. Способы поиска в массивах.
- •3) Поиск с барьером.
- •24. Способы сортировки элементов массива.
- •26. Множества. Операции над множествами.
- •Описание множества
- •Операции над множествами
- •27. Понятие файла с точки зрения его использования в программе. Типы файлов в языке Pascal. Дескриптор файла. Общая схема работы с файлом.
- •Различают файлы 3 видов:
- •Общая схема работы с файлами
- •29. Текстовые файлы: процедуры и функции обработки данных; действия над указателем файла. Операции ввода-вывода при работе с текстовыми файлами.
- •Процедуры и функции
- •30. Типизированные файлы: процедуры и функции обработки данных; действия над указателем файла. Операции ввода-вывода при работе с типизированными файлами.
- •Для доступа к файлам используются процедуры и функции:
- •31. Нетипизированные файлы: процедуры и функции обработки данных; действия над указателем файла. Операции ввода-вывода при работе с нетипизированными файлами.
- •34. Компоненты. Общие свойства компонентов.
- •35. Форма: основные свойства и методы.
- •Свойства
- •36. Компоненты Label и Button: основные свойства, методы, события. Примеры использования.
- •Основные свойства
- •Основные методы
- •Событие
- •Основные свойства
- •Основные методы
- •Основные события
- •37. Компонент Edit: основные свойства, методы, события. Примеры использования.
- •Основные свойства
- •Основные методы
- •Основные события
- •38. Компонент MainMenu: основные свойства, методы, события. Примеры использования.
- •Основные свойства
- •Основные методы
- •Основные события
- •39. Компонент Memo: основные свойства, методы, события. Примеры использования.
- •Основные свойства
- •Основные методы
- •Основные методы
- •Основные события
- •Основные свойства
- •Основные методы
- •Основные события
- •43. Компонент ScrollBar: основные свойства, методы, события. Примеры использования.
- •44. Компонент Timer: основные свойства, методы, события. Примеры использования.
19. Рекурсия. Пример.
Рекурсия – это такой способ организации вычислительного процесса, при котором подпрограмма в ходе выполнения составляющих ее операторов обращается сама к себе.
function factorial (n:integer):integer;
begin
if n>1 then
factorial:=factorial (N+1)*n
else factorial:=1
procedura vichis;
var N:integer;
begin
edit1.text:=IntToStr(factorial(N));
end;
end.
При выполнении правильно организованной рекурсивной подпрограммы осуществляется многократный переход от некоторого текущего уровня организации алгоритма к нижнему уровню последовательно до тех пор, пока не будет получено тривиальное решение к данной задаче. В нашем случае решение при а=1 тривиально, т.к. факториал1=1. Тривиальное решение используется для остановки рекурсии. Рекурсивная форма организации алгоритма изящнее альтерационной и дает более компактный текст программы, однако при выполнении медленнее и может вызвать переполнение стека (при каждом входе в подпрограмму ее входные параметры размещаются в организованной особым образом области памяти, кот. назыв. программным стеком).
20. Символьный тип данных.
Значениями символьного типа является множество всех символов клавиатуры. Их 255. Каждому символу приписывается целое число от 0 до 255. Это число служит кодом внутреннего представления символа.
Примеры:
Название символов |
Коды |
пробел |
32 |
enter |
13 |
Shift |
16 |
Escape |
27 |
0 - 9 |
48 – 57 |
a - z |
65 - 90 |
Var
c:=char;
c:=’a’
c:=’2’ – символ 2
b:='4'
c+b=’24’
К переменным символьного типа применимы операции сравнения.
c:=’a’ c<b (у ’a’ кодировка <, чем у символа 'z')
b:='z'
Встроенные функции.
ord(c) – код символа для типа char. ord(‘b’)=’66’
chr(c) – символ, преобразованный из числового аргумента. chr(83)=’s’
pred(c) – предыдущее по порядку значение данного типа. pred('5')=’4’
succ(c) – последующее значение этого типа. succ('5')=’6’
21. Строковый тип данных. Операции над строками. Стандартные процедуры и функции для работы со строками.
Для обработки строк используются следующие типы:
shortstring – короткая строка. Представляет собой статически размещаемые в памяти компьютера строки длиной от 0 до 255 символов. Эквивалентна описанию string[N].
string – длинная строка. При работе с этим типом память выделяется по мере надобности и ограничена лишь объемом свободной памяти.
widestring – широкая строка. Динамически размещаемые в памяти строки, каждый символ занимает не 1 Байт, а 2. Этот тип введен для совместимости с компонентами, основывающимися на OLE-технологиях.
pChar – заканчивающаяся нулем строка.
a: string;
a:=’mama mila ramu’
Операции над строками
Строковой величине можно переприсвоить значение. a:=’mama mila ramu’
Операции соединения (конкатенация) строк.
st1, st2: string;
st1:=’Hello’;
st2:=’students’;
st1+’ ‘ +st2=’Hello students’;
Над строками допустимы операции сравнения. Строки сравниваются посимвольно слева направо с учетом внутренней кодировки символов до 1-ого несовпадающего символа.
Стандартные процедуры и функции для работы со строками.
AnsiLowerCase(s):string |
Функция возвращает строку s, в которой все прописные буквы заменены строчными в соответствии с национальной кодировкой. |
AnsiUpperCase(s):string |
Возвращает исходную строку s, в которой все строчные буквы заменены прописными в соответствии с национальной кодировкой. |
LowerCase(s):string |
Возвращает исходную строку s, в которой все латинские прописные буквы заменены строчными. |
UpperCase(s):string |
Возвращает исходную строку s, в которой все латинские строчные буквы заменены прописными. |
Length(s):Integer |
Возвращает длину строки s:length(st2)=8, length(‘привет’)=6 |
Concat(s1, s2…):string |
Возвращает строку, представляющую собой сцепление строк-параметров s1, s2… |
Copy(S, I, N):string |
Из строки S копирует N символов, начиная с символа с номером I. |
Delete(S, I, N) |
Из строки S удаляет N символов, начиная с символа с номером I. |
Insert(St, S, I) |
Вставляет подстроку St в строку S, начиная с символа с номером I. |
Pos(St, S):Integer |
Отыскивает в строке S первое вхождение подстроки St и возвращает номер позиции, с которой она начинается. Если подстрока не найдена, возвращает нуль. |
StringOfChar(C, N):string |
Создает строку, состоящую из N раз повторенного символа С. |
Str(X, [W, D], S) |
Преобразует число Х любого вещественного или целого типа в строку символов S. W – общая ширина поля, выделенного под соответствующее символьное представление числа Х. D – количество символов дробной части (если Х – вещественное). |