- •1.Интегрированная среда разработки Delphi
- •2.Структура программы и типы в языке Delphi
- •3.Линейные структуры
- •4.Структуры с ветвлениями
- •5.Циклы с неизвестным числом повторений
- •6.Циклы с заданным числом повторений
- •Задание к работе
- •7.Массивы
- •8.Файлы
- •9.Подпрограммы
- •10.Динамическая память Подготовка к работе
- •Контрольные вопросы
- •Задание к работе
- •Задание 1
- •Задание 2
- •11.Исключения
3.Линейные структуры
Подготовка к работе
Изучить:
Запись констант, переменных, стандартных функций.
Правила записи арифметических выражений.
Арифметический оператор присваивания.
Разработать алгоритм решения в соответствии с заданием.
Составить программу решения задачи в виде консольного приложения.
Контрольные вопросы
Алфавит языка Delphi.
Операции.
Идентификаторы.
Типы данных.
Структура программы консольного приложения.
Где описываются константы, переменные, метки и типы данных?
Стандартные функции.
Оператор присваивания.
Пустой и составной операторы.
Процедуры ввода read и readln.
Процедуры вывода write и writeln.
Последовательность действий при выполнении оператора присваивания.
Приоритетность выполнения операций в выражениях.
Как организовать пропуск одной, двух строк при выводе?
Задание
Вычислить значения переменных в соответствии с вариантами задания, приведенными в табл. 3 .2. Вывести значения вводимых исходных данных и результаты, сопровождая их вывод именами выводимых переменных. Задание выполнить в виде консольного приложения.
Повторить задание 1, используя функции из модуля math.
табл. 3.2. Варианты заданий
№ |
Расчетные формулы |
Данные |
1 |
|
x = 1.82 y = 18 z = -3.29 |
2 |
|
x = 0.33 y = 0.02 |
3 |
|
a = -0.5 b = 1.7 t = 0.44 |
4 |
|
a = -0.5 b = 15.5 x = -2.9 |
5 |
|
a = 16.5 b = 3.4 x = 0.61 |
6 |
|
a = 0.7 b = 0.05 x = 0.5 |
7 |
|
a = 1.1 b = 0.04 x = 0.2 |
8 |
|
a = 3.2 b = 17.5 x = -4.8 |
9 |
|
a = 10.2 x = 2.2 b = 9.2 c = 0.5 |
10 |
; |
a = 0.3 b = 0.9 x = 0.61 |
11 |
|
a = 0.5 b = 3.1 x = 1.4 |
12 |
|
a = 16.5 b = 3.4 x = 0.61 |
13 |
|
a = 0.5 b = 2.9 x = 0.3 |
14 |
|
x = 1.42 y = -1.27 z = 3.5 |
15 |
|
m = 0.7 c = 2.1 x = 1.7 a = 0.5 |
Пример выполнения
Задание 1
Вычислить при x = 2.1, y = 0.59, z = -4.8 значения a и b, используя формулы:
Блок-схема алгоритма представлена на рис. 3 .4. В блоке 1 исходные данные вводятся, в блоке 2 осуществляется их контрольный вывод. В блоке 3 пользователь проверяет правильность введенных данных, при ошибке ввод повторяется. Если данные верные, то в блоке 4 функции вычисляются, а в блоке 5 их значения выводятся. Блок 6 обеспечивает паузу в исполнении программы, чтобы пользователь мог увидеть результат. На рис. 3 .5 приведено окно работающего приложения.
рис. 3.4. Блок-схема алгоритма
Листинг программы
program Prg_3_1;
{$APPTYPE CONSOLE}
uses
SysUtils,RusTrans;
label
10;
var
a,b,c,x,y,z: real;
proba:integer;
begin
10: writeln(Rus('Введите x,y,z'));
readln(x,y,z);
writeln;
writeln(Rus('Вы ввели'));
writeln('x=',x:8:3,' y=',y:8:3,' z=',z:8:3);
writeln;
writeln(Rus('Введите 1, если данные правильные'));
readln(proba);
if proba<>1 then
begin
writeln;
goto 10;
end;
writeln;
c:=sin(x*x)/cos(x*x);
a:=y*c*sqr(c)+sqrt(z*z/(y*y+x*x));
b:=ln(y+x*x)+sqr(sin(z/y));
writeln(Rus('Результат'));
writeln('a=',a:8:3,' b=',b:8:3);
readLn;
end.
рис. 3.5. Окно работающего приложения
Задание 2
Повторить задание 1, используя функции из модуля math. В листинг добавляем ссылку на модуль math, что позволяет использовать прямо функцию тангенса tan(аргумент) и возведения в степень power(основание, степень). Окно работающего приложения имеет такой же вид, как в задании 1.
Листинг программы
program Prg_3_2;
{$APPTYPE CONSOLE}
uses
SysUtils,RusTrans,math;
label
10;
var
a,b,c,x,y,z: real;
proba:integer;
begin
10: writeln(Rus('Введите x,y,z'));
readln(x,y,z);
writeln;
writeln(Rus('Вы ввели'));
writeln('x=',x:8:3,' y=',y:8:3,' z=',z:8:3);
writeln;
writeln(Rus('Введите 1, если данные правильные'));
readln(proba);
if proba<>1 then
begin
writeln;
goto 10;
end;
writeln;
c:=tan(x*x);
a:=y*power(c,3)+sqrt(z*z/(y*y+x*x));
b:=ln(y+x*x)+sqr(sin(z/y));
writeln(Rus('Результат'));
writeln('a=',a:8:3,' b=',b:8:3);
readln;
end.
Выводы
Консольное приложение – программа под DOS. Проект – программа. Используется единственное окно. Ввод/вывод осуществляется процедурами read, readln, write и writeln.
Программа с линейной структурой содержит операторы, завершаемые символом «точка с запятой». Рекомендуется один оператор в строке.
Выражения используются для нахождения новых значений переменных. В выражениях можно использовать стандартные математические функции. Основные функции определены в модуле SysUtils.
Дополнительные математические функции определены в модуле math. Чтобы они были доступны, нужно включить модуль math в строку uses кода программы.
Для безусловного перехода можно использовать оператор goto metka, который передает управление помеченному оператору. Метка должна быть предварительно описана в разделе объявления меток label. В исполняемой части программы метка размещается слева от оператора, за именем метки следует вертикальное двоеточие.
Несколько операторов можно объединить в один составной, поместив их в операторные скобки begin…end.
Рекомендуется вводить в программу комментарии. Это либо текст до конца строки после символов //, либо несколько строк, помещенных в фигурные скобки. В листинге программы комментарий по умолчанию отображается курсивом.