Практикум по созданию консольных приложений в системе Delphi

Разделы: Информатика


В данном практикуме представлены практические работы по созданию консольных приложений в системе программирования 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