Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
instryk_op_2016.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
3.53 Mб
Скачать

Практическое задание:

1. Загрузите Delphi.

2. Из меню File выберите команду New | Other, затем на вкладке New появившегося диалогового окна New Items - тип создаваемого приложения — Console Application.

Рис.16.1. Выбор создаваемого консольного приложения в окне New Items

Рис.16.2. Шаблон главной процедуры консольного приложения

3. В результате этих действий на экране появится окно Project1.dpr, в котором можно набирать инструкции программы (Рис.16.2). Директива {$APPTYPE CONSOLE} предназначена для компилятора и сообщает ему, что программу нужно генерировать как консольное приложение. Далее используем знания языка Pascal: операторы записывается между begin и end, константы и переменные объявляются выше основной программы, процедуры и функции размещают между объявлением переменных и основной программой. Добавьте в тело программы строчку Writeln('Hello!'). Запустите ее на выполнение, щелкнув по кнопке или нажав клавишу F9.

4. Быстро появится и исчезнет черное окно. Как следует поступить далее, чтобы можно было “остановить” это окно? Простейший метод — добавить оператор Readln.

Рис.16.3. Окно с кодом программы

  1. Запустите программу на выполнение.

Рис.16.4. Результат выполнения программы Console.dpr

6. Сохраните проект в отдельной папке Консоль под именем Console, выбрав пункт меню File-Save All. В момент сохранения проекта имя программы будет автоматически заменено на имя, под которым сохранен проект.

7. Откройте папку Консоль, затем файл Console.dpr — это и есть та основная программа, которая редактируется.

8. В программном коде замените команду вывода на Writeln('Здравствуй!'); и запустите программу на выполнение. Наверняка, вместо приветствия вы увидели какую-то “чушь”.

9. Чтобы русский текст можно было прочитать, нужно его перекодировать. Чтобы перекодировать символьную строку 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;

10. Добавьте модуль Windows в список uses:

Uses Windows, SysUtils;

Рис.16.5. Окно с кодом программы

11. Запустите программу.

Рис. 16.6. Результат исполнения программы Console_rus.dpr

12 Сохраните программу (Console_rus.dpr) и закройте проект.

13. Ознакомьтесь с условием задачи: Создать консольное приложение для вычисления площади прямоугольника.

Создайте консольное приложение по предложенному на рис.16.7. образцу:

Рис.16.7. Окно консольного приложения Plosh_pryamoug.exe

14. Сравните свой программный код с листингом 16.1.

Листинг 16.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.

15. самостоятельно создать консольное приложение с использованием оператора for, который используется для организации циклов с фиксированным, определяемым во время разработки программы, числом повторений; повторить оператор ветвления if…then; закрепить навыки выведения текста на экран.

Задача: С клавиатуры вводятся N чисел. Составьте программу, которая определяет количество отрицательных, количество положительных и количество нулей среди введенных чисел. Значение N вводится с клавиатуры 

Листинг 16.2. 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.

Рис.16.8. Окно созданного консольного приложения for_if.exe

Контрольные вопросы

1 Программа состоит из:…….

2 В каком случае применяется символ «=», а когда «:= »?

3 Какие операторы используются для ввода значений в переменную?

4 Какие операторы используются для вывода значений величин?

5 Что делает инструкция writeln; (без параметров?

6 Формат вывода – это……?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]