
- •Вопросы экзамену для студентов 2 курса (4 семестр)
- •Особенности объектно-ориентированного программирования. Понятия: класс, объект, метод, событие.
- •Основные принципы объектно-ориентированного программирования. Характеристика абстрактного класса.
- •Достоинства и недостатки объектно-ориентированного программирования.
- •Характеристика системы программирования Delphi. Историчекские сведения о создании Delphi. Порядок создания приложения в Delphi.
- •Структура проекта в Delphi. Понятие компонента. Палитра компонент. Примеры работы с компонентами Label, Edit.
- •События и их обработка в Delphi (OnClick, OnFormShow, OnKeyPress). Примеры.
- •Операторы безусловного и условного переходов. Составные условия. Оператор выбора варианта (вывод на экран результатов в среде Delphi).
- •Оператор цикла for. Вложенные циклы. Примеры реализации в среде Delphi.
- •Операторы цикла while, repeat.Использование Listbox для вывода результата в среде Delphi. Сочетание циклов и команды ветвления.
- •Создание главного и выплывающего меню. Пример работы с видеофайлами.
- •Одномерные массивы в среде Delphi. Удаление элемента из одномерного массива, вставка элемента в заданную позицию. Использование компонента Stringgrid.
- •Преобразование матрицы в одномерный массив, пересылка одномерного массива в матрицу.
- •1.4 Пересылка элементов одномерного массива в матрицу:
- •Сортировка одномерного массива методом пузырьков.
- •Двумерные массивы в среде Delphi. Описание. Транспонирование матрицы без дополнительных массивов.
- •Двумерные массивы в среде Delphi. Перестановка строк. Вставка строки в матрицу.
- •Различные способы создания простейших графических образов в среде Delphi , вывод готовых фигур, рисунков. Примеры движения фигур по горизонтали, по вертикали, по окружности.
- •Символьные и строковые величины. Процедуры и функции обработки строковых величин, преобразование числовых и стоковых величин. Формирование массива слов из данного предложения.
- •Функции и процедуры пользователя (пример реализации в среде Delphi).
- •Множества. Операции (не менее 6 штук) работы с множеством. Определить количество гласных букв в заданном слове (пример реализации в среде Delphi)..
- •Procedure AssignFile(var f; FileName: String);присвоить имя
- •Использование возможностей среды Delphi для создания педагогических программных средств.
- •30. Обработка одномерного массива на языке c#. Примеры.
- •31. Обработка матрицы на языке c#. Примеры.
- •32.Символы и строки в c#. Примеры.
- •33.Создание структуры в c#. Пример.
- •34. Создание класса в c#. Пример.
- •35. Примеры создания графических изображений в c#.
- •37. Особенности создания простейшего web-браузера.
Функции и процедуры пользователя (пример реализации в среде Delphi).
Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова procedure, идентификатора (имени) процедуры и необязательного, заключенного в круглые скобки, списка формальных параметров с указанием типа каждого параметра. Имя процедуры – идентификатор, уникальный в пределах программы. Тело процедуры представляет собой локальный блок, по структуре аналогичный программе.
Функция, определенная пользователем, состоит из заголовка и тела функции. Заголовок содержит зарезервированное слово function, идентификатор (имя) функции, заключенный в круглые скобки, необязательный список формальных параметров и тип возвращаемого функцией значения. Тело функции представляет собой локальный блок, по структуре аналогичный программе:
function SumFib(n:integer):integer; {Рекурсивное вычисление суммы чисел Фибоначчи }
function Fib (n: integer):integer;{Рекурсивное вычисление чисел Фибоначчи }
begin
if n<=2 then Fib:=1
else Fib:=Fib(n-2)+Fib(n-1);
end;
begin
if n=1 then SumFib:=1
else SumFib:=SumFib(n-1)+Fib(n);
end;
procedure TForm1.Button1Click(Sender: TObject);
var k:integer;
begin
k:=strtoint(edit1.Text);
label1.Caption:=inttostr(sumfib(k));
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Clear;
end; end.
function factorial(n:integer):real;
var i:integer; p:real;
begin
p:=1;
for i:=1 to n do
p:=p*i;
factorial:=p;
end;
procedure TForm1.Button1Click(Sender: TObject);
var a,b:integer; f:real;
begin
a:=strtoint(edit1.text);
b:=strtoint(edit2.text);
if (a=0)or(b=0) then showmessage('ДЕЛЕНИЕ НА НОЛЬ') else
f:=(factorial(a)-(((a*a)/(3*b))-factorial(b)));
label1.Caption:=floattostrf(f,fffixed,7,3);
end;
end.
Записи. Оператор with. Пример обработки массива записей (сортировка в среде Delphi).
Оператор with используется для сокращения записи при обращении к полям записи или к свойствам и методам объекта. В этих случаях применение withпозволяет избежать повторных ссылок на объект в последующих операторах. Например, группу операторов: |
|
|
|
|
|
|
Form1.label1.left:=Form1.label1.left+10; Form1.label1.caption:=label2.caption; Form1.label1.font.color:=clRed; с помощью with можно записать короче: with Form1.label1 do begin left:=Form1.label1.left+10; caption:=label2.caption; font.color:=clRed; end; |
const n=10;
type Tknig=record
avt,naz:string[20];
end;
var sp:array[1..n] of Tknig;//массив записей
bf:Tknig; //буфер для сортировки записей
............................
//сортировка по фамилии
for i:=1 to n-1 do
for j:=i+1 to n do
if sp[i].avt>sp[j].avt then
begin
bf:=sp[i];
sp[i]:=sp[j];
sp[j]:=bf;
end;
Множества. Операции (не менее 6 штук) работы с множеством. Определить количество гласных букв в заданном слове (пример реализации в среде Delphi)..
Множества объявляются в разделе type с помощью конструкции set of. В следующем примере объявляется множество TSetofchar типа набор символов char:
type
TSetOfChar = set of char;
Тип char — это число от 0 до 255, значит, наша переменная может принимать одно из этих значений.
При работе с множествами допускается использование операций отношения (=, <>, >=, <=), объединения, пересечения, разности множеств и операции in.
Операции сравнения (=, <>). Два множества считаются равными, если они состоят из одних и тех же элементов. Порядок следования элементов в сравниваемых множествах значения не имеет. Два множества A и B считаются не равными, если они отличаются по мощности или по значению хотя бы одного элемента.
Выражение Результат [1, 2] <> [1, 2, 3] True [1, 2] = [1, 2, 2] True [1, 2, 3] = [3, 2, 1] True [1, 2, 3] = [1..3] True
Операции принадлежности (>=, <=). Выражение A >= B равно True, если все элементы множества B содержатся в множестве A. Выражение A <= B равно True, если выполняется обратное условие, т.е. все элементы множества A содержатся в множестве B.
Выражение Результат [1, 2] <= [1, 2, 3] True [1, 2, 3] >= [1, 2] True [1, 2] <= [1, 3] False
Операция in. Используется для проверки принадлежности элемента указанному множеству. Обычно применяется в условных операторах.
Выражение Результат 5 in [1..9] True 5 in [1..4, 6..9] False
Операция in позволяет эффективно и наглядно выполнять сложные проверки условий, заменяя иногда десятки других операций. Например, оператор
if (X = 1) or (X = 2) or (X = 3) or (X = 5) or (X = 7) then
можно заменить более коротким: if X in [1..3, 5, 7] then
Операцию in иногда пытаются записать с отрицанием: X not in S. Такая запись является ошибочной, так как две операции следуют подряд. Правильная запись имеет вид: not (X in S).
Объединение множеств (+). Объединением двух множеств является третье множество, содержащее элементы обоих множеств.
Выражение Результат [ ] + [1, 2] [1, 2] [1, 2] + [2, 3, 4] [1, 2, 3, 4]
Пересечение множеств (*). Пересечение двух множеств - это третье множество, которое содержит элементы, входящие одновременно в оба множества.
Выражение Результат [ ] * [1, 2] [ ] [1, 2] * [2, 3, 4] [2]
Разность множеств (-). Разностью двух множеств является третье множество, которое содержит элементы первого множества, не входящие во второе множество.
Выражение Результат [1, 2, 3] - [2, 3] [1] [1, 2, 3] - [ ] [1, 2, 3]
var
i:word;
stroka:string;
kol:integer;
begin
for i:=0 to ListBox1.Items.Coount-1 do
begin
stroka:=ListBox1.Items[i];
kol:=0;
for i:=1 to length(stroka) do
if stroka[i] in sogl then inc(kol);
ListBox2.Items.Add('Количество согласных в строке= '+IntToStr(kol));
end;
end;
Понятие файла. Функции (не менее 3) и процедуры (не менее 7) обработки файлов последовательного доступа. Пример обмена значений наибольшего и предпоследнего элементов числового файлами (пример реализации в среде Delphi).
Файл именованная последовательность однотипных эементов размещенных на внешнем устройстве. Типизированный- составляют элементы указанного типа, а нетипизированного тип которых не указан.
Технология работы с файлами в системе Delphi требует определённого порядка действий:
Прежде всего файл должен быть открыт. Система следит, чтобы другие приложения не мешалиработе с файлом. При этом определяется, в каком режиме открывается файл - для изменения или только считывания информации. После открытия файла в программу возвращается его идентификатор, который будет использоваться для указания на этот файл во всех процедурах обработки.
Начинается работа с файлом. Это могут быть запись, считывание, поиск и другие операции.
Файл закрывается. Теперь он опять доступен другим приложениям без ограничений. Закрытиефайла гарантирует, что все внесённые изменения будут сохранены, так как для увеличения скорости работы изменения предварительно сохраняются в специальных буферах операционной системы.
Function Eof(var F): Boolean;
Function FileSize(var F): Integer;
Возвращает размер в байтах файла F. Однако, если F - типизированный файл, FileSize возвратит число записей в файле.
Function FilePos(var F): LongInt;
Возвращает текущую позицию файла внутри файла.