В данном практикуме представлены практические работы по созданию консольных приложений в системе программирования Delphi 7.
Практическая работа № 1
“Создание первого консольного приложения”
Цели работы:
- изучить технологию создания консольного приложения на Delphi 7;
- создать первое консольное приложение на Delphi 7.
Порядок выполнения:
1. Загрузите Delphi 7.
2. Из меню File выберите команду New | Other, затем на вкладке New появившегося диалогового окна New Items - тип создаваемого приложения — Console Application.
Рис.1.1. Выбор создаваемого консольного приложения в окне New Items
Рис.1.2. Шаблон главной процедуры консольного приложения
3. В результате этих действий на экране появится окно Project1.dpr, в котором можно набирать инструкции программы (Рис.1.2). Директива {$APPTYPE CONSOLE} предназначена для компилятора и сообщает ему, что программу нужно генерировать как консольное приложение. Далее используем знания языка Pascal: операторы записывается между begin и end, константы и переменные объявляются выше основной программы, процедуры и функции размещают между объявлением переменных и основной программой. Добавьте в тело программы строчку Writeln('Hello!'). Запустите ее на выполнение, щелкнув по кнопке или нажав клавишу F9.
4. Быстро появится и исчезнет черное окно. Как следует поступить далее, чтобы можно было “остановить” это окно? Простейший метод — добавить оператор Readln.
Рис.1.3. Окно с кодом программы
5. Запустите программу на выполнение.
Рис.1.4. Результат выполнения программы Console.dpr
6. Сохраните проект в отдельной папке Консоль под именем Console, выбрав пункт меню File-Save All. В момент сохранения проекта имя программы будет автоматически заменено на имя, под которым сохранен проект.
7. Откройте папку Консоль, затем файл Console.dpr — это и есть та основная программа, которая редактируется.
Практическая работа № 2
“Выведение на экран русского текста”
Цель работы: изучить технологию выведения на экран консольного приложения текста на русском языке.
Порядок выполнения:
1. Создайте копию папки Консоль (Практическая работа №1).
2. Переименуйте ее: Консоль_рус.
3. Загрузите файл Console.dpr
4. В программном коде замените команду вывода на Writeln('Здравствуй!'); и запустите программу на выполнение. Наверняка, вместо приветствия вы увидели какую-то “чушь”.
5. Чтобы русский текст можно было прочитать, нужно его перекодировать. Чтобы перекодировать символьную строку s из кодировки Windows-1251 в кодировку CP-866 используется команда:
CharToOEM ( PСhar(s), PChar(s) );
Здесь PChar(s) обозначает адрес символа, с которого начинается строка s. Первый параметр функции — адрес исходной строки, а второй — адрес строки-результата. В данном случае оба адреса совпадают.
Объявите символьную переменную (var s:string;).
Внесите изменения в код основной программы таким образом:
s:= ' Здравствуй!';
CharToOEM (PChar(s), PChar(s) );
Writeln ( s );
Readln;
6. Добавьте модуль Windows в список uses:
uses
Windows, SysUtils;
Рис. 2.1. Окно с кодом программы
7. Запустите программу.
Рис. 2.2. Результат исполнения программы Console_rus.dpr
8. Сохраните программу (Console_rus.dpr) и закройте проект.
Практическая работа № 3
“Программы с линейноЙ структурой”
Цель работы: научиться создавать консольные приложения для алгоритмов с линейной структурой.
Порядок выполнения:
1. Ознакомьтесь с условием задачи: Создать консольное приложение для вычисления площади прямоугольника.
2. Создайте консольное приложение по предложенному на рис.3.1. образцу:
Рис.3.1. Окно консольного приложения Plosh_pryamoug.exe
3. Сравните свой программный код с листингом 3.1.
Листинг 3.1. Площадь параллелограмма
program Plosh_pryamoug;
{$APPTYPE CONSOLE}
uses
Windows,
SysUtils;
var s,i,h,p:string;
dl,shir,pl:integer; // длина, ширина, площадь
begin
s:= 'Площадь прямоугольника';
CharToOEM (PChar(s), PChar(s) );
Writeln (s);
i:='Введите значение длины';
CharToOEM (PChar(i), PChar(i) );
Writeln (i);
Readln(dl);
h:='Введите значение ширины';
CharToOEM (PChar(h), PChar(h) );
Writeln (h);
Readln(shir);
pl:=dl*shir;
p:='Площадь прямоугольника равна ';
CharToOEM (PChar(p), PChar(p) );
Writeln(p,pl) ; readln; end.
Практическая работа № 4
“Создание консольного приложения
“Hello, world! Здравствуй, мир!”
Цели работы:
- закрепить навыки по самостоятельному созданию консольных приложений для алгоритмов с линейной структурой;
- вывести на экран текст на русском и английском языках.
Порядок выполнения:
1. Дана задача: Создать консольное приложение для выведения на экран текста:
Hello, world!
Здравствуй, мир!
2. Создайте консольное приложение по предложенному на рис.4.1. образцу.
Рис.4.1. Окно созданного консольного приложения Hello_mir.exe
3. Сравните свой программный код с листингом 4.1.
Листинг 4.1. Hello, world! Здравствуй, мир!
program Hello_mir;
{$APPTYPE CONSOLE}
uses
Windows, SysUtils;
Var s: string;
begin
WriteLn ('Hello, world!');
s:= 'Здравствуй, мир!';
CharToOEM (PChar(s), PChar(s) );
Writeln ( s );
Readln;
end.
Практическая работа № 5
“Алгоритмы разветвляющейся и циклической структуры”
Цели работы:
- самостоятельно создать консольное приложение с использованием оператора for, который используется для организации циклов с фиксированным, определяемым во время разработки программы, числом повторений;
- повторить оператор ветвления if…then;
- закрепить навыки выведения текста на экран.
Задача: С клавиатуры вводятся N чисел. Составьте программу, которая определяет количество отрицательных, количество положительных и количество нулей среди введенных чисел. Значение N вводится с клавиатуры (стр.35, № 14 - сборник “Основы информатики и вычислительной техники. 9 класс”, Б.Бурибаев, Р. Дузбаева, А. Махметова, Алматы “Мектеп”, 2005 год).
Листинг 6.1. for_if
program for_if;
{$APPTYPE CONSOLE}
uses
Windows,
SysUtils;
var a,b,n,so,sp,sn:integer; // a -параметр цикла, n - число вводимых чисел, b - вводимое число, so - число введенных отрицательных чисел, sp - число введенных положительных чисел, sn - число введенных нулей.
s1,s2,s3,s4,s5:string;
begin
s1:= 'Задайте количество чисел, которые будут введены';
CharToOEM (PChar(s1), PChar(s1) );
Writeln ( s1 );
ReadLn( n );
so:=0;
sp:=0;
sn:=0;
For a:=1 to n do begin
s2:='Введите любое целое число';
CharToOEM (PChar(s2), PChar(s2) );
Writeln ( s2);
readln( b );
If b<0 then so:=so+1;
If b>0 then sp:=sp+1;
If b=0 then sn:=sn+1;
end;
s3:= 'Число введенных отрицательных_чисел равно';
CharToOEM (PChar(s3), PChar(s3) );
WriteLn( s3,so );
s4:= 'Число введенных положительных_чисел равно';
CharToOEM (PChar(s4), PChar(s4) );
WriteLn( s4,sp );
s5:= 'Число введенных нулей равно';
CharToOEM (PChar(s5), PChar(s5) );
WriteLn( s5,sn );
Readln;
end.
Рис.6.1. Окно созданного консольного приложения for_if.exe