Автор: Пользователь скрыл имя, 22 Января 2011 в 20:59, шпаргалка
Язык программирования. Алгоритмические языки.
Понятие алгоритма, виды алгоритмов.
Основные свойства алгоритмов.
Операторы языка программирования Pascal.
Оператор присваивания.
Оператор ветвления (условный оператор).
Операторы цикла.
Типы данных языка Pascal, операторы преобразования типов.
Арифметические операции и выражения в языке Pascal. Правила записи арифметических выражений.
Функции для работы со строками.
Массивы в языке Pascal. Статические и динамические массивы.
Функции работы с датой и временем.
Логические выражения в языке Pascal.
Локальные и глобальные переменные.
Понятие подпрограммы. Виды подпрограмм.
Понятие процедуры, формальные, фактические параметры.
Понятие функции, формальные, фактические параметры.
Рекурсия.
Работа с файлами.
Компоненты среды программирования Delphi.
Отладка, пошаговая троссировка программ в среде Delphi.
Assignment
= Designator ":=" Expression.
Рекурсия
В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия), например, функция A вызывает функцию B, а функция B — функцию A. Количество вложенных вызовов функции или процедуры называется глубиной рекурсии.
Преимущество рекурсивного определения объекта заключается в том, что такое конечное определение теоретически способно описывать бесконечно большое число объектов. С помощью рекурсивной программы же возможно описать бесконечное вычисление, причём без явных повторений частей программы.
Реализация
рекурсивных вызовов функций
в практически применяемых
Впрочем,
имеется специальный тип
рекурсия
- это подпрограмма (процедура), вызывающая
сама себя.
Работа с файлами
Работа
с файлами важная вещь в любом языке
программирования. Работа с файлами
в Delphi позволяет считывать, сохранять
информацию, и выполнять другие действия
с файлами. В Delphi поддерживаются все операции
с файлами - создание, поиск, чтение и запись,
переименование как файлов, так и к директорий.
В Delphi существует несколько способов
работы с файлами.
ния нужно упомянуть компоненты Delphi, которые
умеют работать с файлами. Они читают и
сохраняют своё содержимое, строки типа
String, в файл текстового формата. Это
компоненты ListBox, ComboBox и Memo, расположенные на первой
же вкладке палитры компонентов.
Каждая строка компонентов ListBox и
ComboBox является объектом Items[i], а
Memo - Lines[i], где i - номер строки,
который отсчитывается от нуля. Добавление
строк в компоненты выполняется методами
Add и Insert:
begin
Memo1.Lines.Add('Первая строка');
ComboBox1.Items.Add('Первая строка');
ComboBox1.Items.Add('Вторая строка');
ListBox1.Items.Add('Первая строка');
ListBox1.Items.Add('Вторая строка');
end ;
Метод Add добавляет новую строку в
конец. Метод Insert имеет дополнительный
параметр, указывающий, после какой строки
разместить новую строку. Доступ к строкам
осуществляется так:
ComboBox1.Items[0] := 'Первая строка изменилась'
;
ListBox1.Items[1] := 'Вторая строка изменилась'
;
Items.Count - количество содержащихся в
компоненте строк. Так как отсчёт строк
идёт от нуля, мы отнимаем единицу. После
очередного удаления количество строк
меняется, таким образом, Items.Count-1 всегда
указывает на последнюю строку. Последовательно
нажимая Escape, мы можем удалить все
строки. Командой
ComboBox1.Items.Delete(0);
можно добиться того же эффекта, только
удаляться будут первые строки. Впрочем,
чтобы стереть всё сразу, есть метод
Clear!
Ну а теперь собственно о сохранении содержимого
в файл. Для этого выполните команду
ListBox1.Items.SaveToFile('
Имя_файла.txt ') ;
Впрочем, расширение можно поставить любое
по желанию, не обязательно .txt, как
и вообще без него обойтись. Но расширение
.txt позволит легко открыть файл стандартным
виндовским Блокнотом, что бывает очень
удобно на этапе написания программы!
Для загрузки служит метод LoadFromFile:
ListBox1.Items.
сохранять информацию нужно? Берём один
из компонентов и делаем его невидимым,
для этого в Инспекторе Объектов ставим
в свойство Visible значение False. Функциональность
его от этого не изменится!
Последний штрих - создадим программу,
сохраняющую своё положение на экране
в момент закрытия и там же открывающуюся.
Нам нужно сохранить два параметра - значения
свойств Формы Left и Top, это расстояние
от левого и верхнего краёв экрана соответственно.
Значения эти выражаются в пикселах и
имеют тип Integer. Необходимо перевести
эти числа в строку (тип String) с помощью
оператора IntToStr. Итак, разместите на
Форме невидимый ListBox, щёлкните по
пустому месту Формы, чтобы её свйства
появились в Инспекторе объектов, и перейдите
на вкладку Events. Щёлкните по обработчику
OnClose и в созданной заготовке напишите:
begin
ListBox1.Items.Clear;
ListBox1.Items.Add(
ListBox1.Items.Add(
ListBox1.Items.SaveToFile('
end ;
Этот обработчик сохраняет положение
Формы на экране. Теперь напишем обработчик,
помещающий Форму на прежнее место
при старте программы. Создайте заготовку
обработчика события OnCreate. Это событие
происходит в момент "создания"
Формы операционной системой. В этот
момент и нужно присваивать ей необходимые
свойства. Пишите:
begin
if FileExists('MyFormPos.txt') then
begin
ListBox1.Items.
Form1.Left:=StrToInt(
Form1.Top:=StrToInt(
end ;
end ;
В первой строке происходит проверка на
существование файла, ведь если его не
будет, произойдёт ошибка. Впрочем, программа
после выдачи предупреждения откроется
в том месте, где была на этапе проектирования,
а при закрытии нужный файл будет воссоздан!
Затем в логических скобках begin / end
содержится сам код, который будет выполнен
только приналичии файла MyFormPos.txt в
папке с программой, так как используется
относительный путь. Можно указать конкретное
местоположение, например, C:\Program Files\MyProg\MyFormPos.txt.
Копирование файлов
Для копирования файлов применяется функция CopyFile. Формат ее такой:
CopyFile(Исходный_файл,
где: Исходный_файл – полный путь и название файла, который копируется;
Записуемый_файл – полный путь и название файла, куда копируется исходный файл;
Флаг_перезаписи – будет или нет перезаписан файл, если таковой уже существует (true - не будет, false - будет перезаписан).
CopyFile
является функцией, которая возвращает
флаг успешной или нет
Например, следующая строка:
if
not CopyFile('c:\command.com','c:\
скопирует файл command.com в файл 1.com только в том случае, если последнего нет, в противном случае будет выдаваться сообщение об ошибке копирования.
Перемещение файлов
Для перемещения файлов применяется функция MoveFile. Она имеет следующий формат:
MoveFile(Исходный_файл,
Ее параметры аналогичны вышерассмотренной команде за исключением отсутствия флага перезаписи.
Пример:
if
not MoveFile('c:\1.com','c:\2.com'
Переименование файлов
Функция RenameFile
if
not RenameFile('c:\2.com','c:\3.
Удаление файлов
Функция DeleteFile
if
not DeleteFile('c:\3.com') then ShowMessage('Ошибка удаления')
Команда AssignFile осуществляет привязку строки пути файла к файловой переменной. Все дальнейшие операции с файловой переменной автоматически осуществляются с указанным файлом.
IOResult – переменная, которая хранит в себе код ошибки последней операции ввода-вывода. Если она равна нулю, то последняя операция была успешно выполнена.
EOF(Файл)
– функция, возвращающая
ReadLn(Файл,Переменная)
– процедура считывания
CloseFile(Файл) – процедура закрытия ранее открытого файла.
Компоненты среды программированияСреда программирования – это набор инструментов, которые используются для преобразования символов в выполнимые вычисления. Компоненты среды программирования: 1. Редактор – это средство для создания и изменения исходных файлов, которые содержат написанную на языке программирования программу. Условно редакторы делятся на два типа. Первый тип работает с последовательностью символов в текстовых файлах и обеспечивают расширенную функциональность – подсветку синтаксиса, сортировку строк, конвертацию кодировок, показ кодов символов и т.п. Часто такие редакторы называют редакторами кода, поскольку основное их назначение – это написание исходных кодов компьютерных программ. Примеры таких редакторов: Emacs (один из самых мощных по возможностям многоцелевой, свободный редактор); jEdit (свободный редактор на Java); Kate (мощный расширяемый свободный текстовый редактор с подсветкой синтаксиса для массы языков программирования и разметки); Notepad (входит в состав Microsoft Windows); Vim (один из самых мощных по возможностям редактор для программистов); EditPlus (текстовый редактор для Windows, предназначенный для программирования и веб-разработки) и др. Второй тип редакторов имеет расширенные функции форматирования текста, внедрения в него графики и формул, таблиц и объектов. Такие редакторы часто называют текстовыми процессорами и предназначены они для создания текстовых документов. К таким текстовым процессорам можно отнести Microsoft Word, WordPad и др. 2. Компилятор – транслирует символы из исходного файла в объектный модуль, который содержит команды в машинном коде для конкретного компьютера. 3. Компоновщик или редактор связей – собирает объектные файлы отдельных компонентов программы и разрешает внешние ссылки от одного компонента к другому, формируя исполняемый файл. 4. Загрузчик – копирует исполняемый файл с диска в память и инициализирует компьютер перед выполнением программы. 5. Отладчик – это средство, которое дает возможность программисту управлять выполнением программы на уровне отдельных операторов для диагностики ошибок. Позволяет выполнять пошаговую трассировку (пошаговое выполнение программы с остановками на каждой команде или строке), отслеживать, устанавливать или изменять значения переменных в процессе выполнения программы, устанавливать и удалять контрольные точки или условия остановки и т.д. 6. Средства тестирования – автоматизирует процесс тестирования программ, создавая и выполняя тесты и анализируя результаты тестирования.7. Интерпретатор – выполняет исходный код программы в отличие от компилятора, переводящего исходный файл в объектный. | |
Отладка, пошаговая троссировка программ в среде Delphi. В Delphi имеется
мощный встроенный отладчик, значительно
упрощающий отладку программ. Основными
инструментами отладки являются
точки контрольного останова и окно
наблюдения за переменными. |
Принудительное
прерывание работы программы
Если программа запущена из среды Delphi,
ее работу можно прервать в любой момент
G помощью клавиш Ctrl+F2, кнопки, опцией Run
| program pause или, наконец, установив точку
контрольного останова в той части программы,
которая выполняется в данный момент или
будет выполнена.
Трассировка
программы
Перед исполнением оператора, в котором
установлена точка контрольного останова,
работа программы будет прервана, управление
получит среда Delphi, a в окне наблюдения
отразится текущее значение наблюдаемых
переменных и/или выражений. Теперь программист
может прослеживать работу программы
по шагам с помощью клавиш F7 и F8 или инструментальных
кнопок. При нажатии F8 будут выполнены
запрограммированные в текущей строке
действия, и работа программы прервется
перед выполнением следующей строки текста
программы. Замечу, что контрольная точка
останова выделяется по умолчанию красным
цветом, а текущая прослеживаемая строка
- синим. Если программа остановлена в
контрольной точке, т.е. когда текущая
строка совпадает со строкой останова,
строка выделяется красным цветом, Признаком
текущей строки является особое выделение
строки в служебной зоне слева в окне редактора
(см. рис. П1.18).
Кстати, чтобы
установить/снять точку
При нажатии F7 среда выполняет те же действия,
что и при нажатии F8, однако, если в текущей
строке содержится вызов подпрограммы
пользователя, программа прервет свою
работу перед выполнением первого исполняемого
оператора этой подпрограммы, т.е. клавиша
F7 позволяет прослеживать работу вызываемых
подпрограмм.
После трассировки нужного фрагмента
программы можно продолжить нормальную
ее работу, нажав клавишу F9.