- •ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
- •Требования к оформлению лабораторных работ
- •1. ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ
- •13.1 План разработки алгоритмов и программ
- •Таблица 1.1 Результат ручной прокрутки после первого этапа
- •Таблица 1.2 Результат ручной прокрутки после первого этапа
- •Таблица 1.3 Итог выполнения ручной прокрутки
- •13.2 Перевод алгоритма в Паскаль-программу
- •13.3 Использование готовых алгоритмов при решении задач
- •Подсчет элементов, обладающих заданным свойством
- •Поиск максимального и минимального элементов
- •Поиск элементов, обладающих заданным свойством
- •Задача 1. Подсчет ненулевых элементов
- •Задача 2. Подсчет элементов, абсолютная величина которых больше 7
- •Задача 3. Поиск элемента равного 7
- •Задача 5. Найти количество элементов массива больших среднего арифметического этих элементов
- •Задача 6. Поиск максимального элемента и подсчет частоты его появления в массиве
- •Задача 7. Поиск нулевого элемента
- •Задача 8. Поиск отрицательного числа с конца массива
- •13.4 Стандартная обработка двумерных массивов
- •Двумерный массив и его части
- •Индексы элементов двумерного массива
- •Индексы строки и столбца двумерного массива
- •Индексы диагоналей двумерного массива
- •Перенос простейших алгоритмов на двумерные массивы
- •13.5 Отладка и тестирование программ
- •2. СОЗДАНИЕ КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ СРЕДСТВАМИ DELPHI 7.0
- •13.1 Создание консольного приложения средствами Delphi
- •13.2 Структура программы в Delphi
- •Таблица 2.1
- •13.3 Введение в типы данных Delphi
- •13.4 Венгерская нотация
- •13.5 Отладка и тестирование программ средствами среды Delphi 7
- •3. ЛАБОРАТОРНАЯ РАБОТА №1 «ЛИНЕЙНЫЕ ПРОГРАММЫ»
- •13.1 Пояснения и примеры к лабораторной работе
- •13.2 Задания к лабораторной работе №1:
- •4. ЛАБОРАТОРНАЯ РАБОТА №2 «АЛГОРИТМЫ С ВЕТВЛЕНИЯМИ»
- •13.3 Пояснения и примеры к лабораторной работе
- •13.2 Реализация алгоритмов с ветвлениями средствами C#
- •13.3 Задания к лабораторной работе №2
- •5. ЛАБОРАТОРНАЯ РАБОТА №3 «ОПЕРАТОР ВЫБОРА»
- •13.1 Пояснения и примеры к лабораторной работе
- •13.2 Реализация оператора выбора в языке C#
- •13.3 Задания к лабораторной работе №3
- •6. ЛАБОРАТОРНАЯ РАБОТА №4 «ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ»
- •13.1 Основные разновидности циклов
- •Цикл с постусловием
- •Цикл с предусловием
- •Цикл с параметром
- •Программное прерывание выполнения циклов
- •13.2 Примеры решения задач с использованием операторов цикла
- •Проверка корректности введенных данных
- •Решение задач с использованием диапазонов чисел
- •Решение задач полным перебором
- •Пояснения к задачам 18, 23, 24, 25:
- •13.3 Задания к лабораторной работе №4
- •7. ЛАБОРАТОРНАЯ РАБОТА №5 «РЯДЫ И ПОСЛЕДОВАТЕЛЬНОСТИ»
- •13.1 Примеры решения задач
- •Вычисление суммы n-первых членов ряда
- •Вычисление суммы n-первых членов последовательности, удовлетворяющих условию
- •Нахождение наименьшего номера члена последовательности, для которого выполняется некоторое условие
- •13.2 Задания к лабораторной работе №5
- •8. ЛАБОРАТОРНАЯ РАБОТА №6 «ТАБУЛИРОВАНИЕ ФУНКЦИЙ»
- •13.1 Пример решения задачи на табулирование функции
- •8.1.2 Организация перенаправления ввода-вывода средствами C#
- •13.2 Задания к лабораторной работе №6
- •9. ЛАБОРАТОРНАЯ РАБОТА №7 «ПОДПРОГРАММЫ»
- •13.1 Задания к лабораторной работе №7
- •13.2 Задания к лабораторной работе №8
- •13.1 Примеры и пояснения к лабораторной работе
- •13.2 Задания к лабораторной работе №9
- •Задания к лабораторной работе №10
- •13.1 Примеры работы со строками
- •Пример 13.2 Удалить из строки символ, указанный пользователем.
- •Пример 13.3 Удалить из строки лишних пробелов (пробелы в начале и в конце строки, между словами также должен быть один пробел).
- •Пример 13.4 Определить количество слов в заданном тексте.
- •13.2 Задания к лабораторной работе №11
- •13.1 Задания к лабораторной работе №12
- •13.1 Пояснения к работе
- •13.1 Задания к лабораторной работе №13
- •13.1 Пояснения к лабораторной работе №14
- •Формирование файла случайных чисел
- •Анализ файла случайных чисел
- •13.2 Задания к лабораторной работе №14
- •13.1 Примеры решения задач с использованием текстовых файлов
- •13.2 Задания к лабораторной работе №15
- •13.1 Задания к лабораторной работе №16
- •13.1 Задания к лабораторной работе №17
- •13.2 Задания к лабораторной работе №18
- •13.1 Задания к лабораторной работе №19
- •ПРИЛОЖЕНИЕ А
- •ПРИЛОЖЕНИЕ Б
- •СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
- •ОГЛАВЛЕНИЕ
2.СОЗДАНИЕ КОНСОЛЬНЫХ ПРИЛОЖЕНИЙ СРЕДСТВАМИ DELPHI 7.0
13.1Создание консольного приложения средствами Delphi
Запустите Delphi 7, используя ярлык на рабочем столе, либо из списка программ меню Пуск.
Выберите пункт меню File -> New -> Other. В появившемся списке выбе-
рите Console Application и нажмите OK.
Сохраните ваш проект в одну из доступных вам папок, для чего выберите пункт меню File -> Save Project As и введите имя проекта. Это имя будет записано в разделе Program проекта.
Старайтесь выбирать имена, наиболее отображающие содержимое модуля, чтобы потом легче было разобраться с файлами в больших проектах. К тому же желательно помнить, что имя проекта задаёт имя будущего исполнимого файла. Если вы оставите имя как Project1, то и исполнимый файл будет называться Project1.exe. Назовем наш проект, например First_program.
Теперь перейдите в директорию, куда вы сохранили проект и посмотрите, какие файлы там присутствуют. Рассмотрим содержимое этих файлов:
-First_program.cfg – файлы с расширением .cfg содержат конфигурацию проекта (директивы компилятора).
-First_program.dof - файлы с расширением .dof содержат опции проекта.
-First_program.dpr – файлы с расширением .dpr это сам проект. В этом файле находится описание используемых в проекте модулей и описание инициализации программы. Этот файл можно использовать и для написания кода. В нашем случае весь текст нашей программы будет находиться в этом файле.
13.2Структура программы в Delphi
Любая программа должна иметь определенную структуру. Одни структурные элементы являются обязательными, другие нет.
По умолчанию программа имеет следующий вид: program First_program;
{$APPTYPE CONSOLE} uses
SysUtils;
begin
{ TODO -oUser -cConsole Main : Insert code here }
end.
Из всего перечисленного обязательной является лишь конструкция begin - end, которая называется телом программы. Таким образом, программа может иметь следующий вид:
23
begin
writeln(‘Hello World’);
end.
В языке Pascal, который используется в Delphi, следующие друг за другом предложения отделяются точкой с запятой.
Часть программы может представлять собой строки пояснения, которые называются комментариями. Комментарии бывают:
- строчными, в этом случае в нужном месте строки ставятся символы //, после чего вся оставшаяся часть строки становится комментарием, например:
writeln(‘Hello World’); //пример вывода сообщения
- ограниченными, в этом случае в месте, где должен начаться комментарий ставиться символ {, а в месте, где он должен закончиться ставится символ }, после чего все символы между фигурными скобками становятся комментарием, например:
writeln(‘Hello World’); {пример вывода сообщения readln;}
Если закрывающая скобка отсутствует, весь текст программы, находящийся после открывающейся фигурной скобки считается комментарием.
Перечислим основные разделы программы (таблица 1)
|
|
|
|
|
Таблица 2.1 |
Обозначение |
Назначение |
|
Необходимость |
Пример |
|
Program |
Заголовок программы |
Необязательно |
program MyProgram; |
||
Uses |
Подключение |
внешних |
Необязательно |
Uses SysUtils; |
|
|
модулей |
|
|
|
|
Type |
Раздел объявления |
типов |
Необязательно |
Type intTen=1..10; |
|
|
данных пользователя |
|
intArr = array[1..10] |
||
|
|
|
|
|
of byte; |
Function |
Раздел объявления |
функ- |
Необязательно |
Function |
|
|
ций |
|
|
|
fact(n:byte):longint; |
Procedure |
Раздел объявления проце- |
Необязательно |
Procedure |
||
|
дур |
|
|
|
print(mas:intArr); |
Label |
Раздел объявления меток |
Необязательно |
Label 12, A; |
||
Const |
Раздел объявления |
кон- |
Необязательно |
Const G = 9.8; |
|
|
стант |
|
|
|
Ten : byte = 10; |
Var |
Раздел объявления |
пере- |
Необязательно |
Var x : byte; |
|
|
менных |
|
|
|
Y, z : real; |
Begin - End |
Тело программы. Содер- |
Обязательно |
begin |
||
|
жит текст программы |
|
writeln(‘Hello’); |
||
|
|
|
|
|
end. |
Подробнее стоит остановиться лишь на разделе подключения модулей. Размещаться этот раздел должен сразу после заголовка программы. Он является необязательным, т.к. по умолчанию уже подключен модель System, остальные модули подключаются при необходимости использовать дополнительные про-
24