Программирование в среде Delphi. (Лекция 4)

Содержание

Слайд 2

Лекция 4. Программирование в среде Delphi. РГПУ им. А.И. Герцена Оператор присваивания. Операторы ввода-вывода.

Лекция 4. Программирование в среде Delphi.

РГПУ им. А.И. Герцена

Оператор присваивания. Операторы

ввода-вывода.
Слайд 3

Основные окна Delphi Окна среды Delphi.

Основные окна Delphi

Окна среды Delphi.

Слайд 4

Структура описания процедуры procedure TForm1.Button1Click(Sender: TObject); begin end; Cистема программирования Delphi

Структура описания процедуры
procedure TForm1.Button1Click(Sender: TObject);
<блок описаний>
begin
<блок реализации>
end;

Cистема программирования Delphi

Слайд 5

Оператор присваивания имеет вид: := При выполнении оператора вычисляется значение указанного

Оператор присваивания имеет вид:
<идентификатор >:=< выражение >
При выполнении оператора вычисляется

значение указанного выражения и переменная, идентификатор которой указан в левой части оператора, получает это значение.
Все операторы в программе отделяются символом ;

Оператор присваивания

Слайд 6

Переменная и выражение должны иметь один и тот же тип. Допускается

Переменная и выражение должны иметь один и тот же тип.
Допускается

только присваивание вещественной переменной целого значения.
Тип переменной определяет множество значений, которые может принимать переменная, и совокупность операций, которые можно выполнять над этими значениями.

Оператор присваивания

Слайд 7

Существует пять ц е л ы х типов: со знаком shortint

Существует пять ц е л ы х типов:
со знаком
shortint (

-128..127, 8 бит )
integer ( -32 768..32 767, 16 бит )
longint (-21 474 883 648..21 474 883 647, 32 бита);
без знака
byte ( 0..255,8 бит)
word ( 0..65 535,16 бит)

Арифметические типы данных

Слайд 8

В е щ е с т в е н н ы

В е щ е с т в е н н ы

й тип задает множество действительных чисел:
real (2.9*10-39 - 1.7*1038,11 - 12 дес. цифр);
single (1.5*10-45 - 3.4*1038,7 - 8 дес.цифр);
double (5.0*10-324-1.7*10308, 15 - 16 дес. цифр);
extended(1.9*10-4951 - 1.1*104932 , 19 - 20 дес. цифр).

Арифметические типы данных

Слайд 9

Арифметические выражения Арифметические выражения содержат числовые константы и переменные арифметического типа,

Арифметические выражения

Арифметические выражения содержат числовые константы и переменные арифметического типа, обращения

к стандартным функциям и функциям пользователя с числовыми значениями, знаки арифметических операций, круглые скобки.
К арифметическим операциям относятся: сложение (+), вычитание или унарный минус (-), умножение (*), деление (/), целочисленное деление (div), остаток от деления (mod). Две последние операции выполняются только над целыми значениями. Операции ‘+’ и ‘-’ имеют более низкий приоритет по сравнению с остальными арифметическими операциями. Для изменения последовательности действий используются круглые скобки.
Слайд 10

Арифметические функции Sin Cos Tan Cot Abs Sqrt Sqr Exp Ln

Арифметические функции

Sin Cos Tan Cot
Abs Sqrt Sqr
Exp Ln Log2 Log10
Аргументы в

скобках! Z:=sqrt(a*a+b*b)
Для вычисления степени xy
Z=xy ?
ln z = ln xy ln z = y ln x z=e y ln x
Z:=exp(y*ln(x)) z:=power(x,y) (Math)
Слайд 11

Операторы ввода-вывода Вывод Строковый тип данных var s:string; S:=‘Моя первая программа

Операторы ввода-вывода

Вывод
Строковый тип данных var s:string;
S:=‘Моя первая программа в Delphi’;
ShowMessage(s);
Для вывода

арифметических значений
используются функции
преобразования
IntToStr (<выражение целого типа>)
FloatToStr(<выражение вещественного типа>)
Слайд 12

Операторы ввода-вывода Вывод Если нужно вывести несколько строк, то они объединяются

Операторы ввода-вывода

Вывод
Если нужно вывести несколько строк, то они объединяются знаком +

ShowMessage(‘У меня сегодня лекций: ’+IntToStr(LectNum)+’, а начало в ‘+FloatToStr(LectTime));
Слайд 13

Операторы ввода-вывода Вывод var b:real;s:string; begin b:=power(68,76); showmessage(‘Если число 68 возвести

Операторы ввода-вывода

Вывод
var b:real;s:string;
begin
b:=power(68,76);
showmessage(‘Если число 68 возвести в степень 76,

то получим значение ’+FloatToStr(b));
end;
Слайд 14

Описание процедуры procedure TForm1.Button1Click(Sender: TObject); // блок описаний var b:real;s:string; begin

Описание процедуры
procedure TForm1.Button1Click(Sender: TObject);
// блок описаний
var b:real;s:string;
begin
// блок реализации
b:=power(68,76);

showmessage(‘Если число 68 возвести в степень 76, то получим значение ’+FloatToStr(b));
end;

Cистема программирования Delphi

Слайд 15

Комментарий - это пояснительный текст, который можно записать в одной строчке

Комментарий - это пояснительный текст, который можно записать в одной строчке

программы, указав в начальных символах строки символы // .Текст комментария не анализируется транслятором.
procedure TForm1.Button1Click(Sender: TObject);
// блок описаний
var b:real;s:string;
begin
// блок реализации
b:=power(68,76);
showmessage(‘Если число 68 возвести в степень 76, то получим значение ’+FloatToStr(b));
end;

Cистема программирования Delphi

Слайд 16

Операторы ввода-вывода Ввод Используется диалоговое окно, которое вызывается функцией InputBox( ,

Операторы ввода-вывода

Ввод
Используется диалоговое окно,
которое вызывается функцией
InputBox(<название окна ввода>, <текст у

строки ввода>,
<значение по умолчанию>)
Результат – строка.
Введем строку и распечатаем два
раза через пробел.
Слайд 17

Операторы ввода-вывода Ввод var s:string; begin s:=InputBox(‘Окно для ввода строк’, ‘Введите

Операторы ввода-вывода

Ввод
var s:string;
begin
s:=InputBox(‘Окно для ввода строк’, ‘Введите строку’,‘’);
showmessage(‘А теперь

строки уже две: ’+s+’ ‘+s)
end; 1. Операторы ввода-вывода (строки)
Слайд 18

Операторы ввода-вывода Ввод Для ввода арифметических значений используются функции преобразования StrToInt ( ) StrToFloat ( )

Операторы ввода-вывода

Ввод
Для ввода арифметических значений
используются функции
преобразования
StrToInt (<строка, содержащая значение целого типа>)
StrToFloat

(< строка, содержащая значение вещественного типа>)
Слайд 19

Операторы ввода-вывода Программа, вычисляющая сумму двух вещественных чисел var x,y,z:real; begin

Операторы ввода-вывода

Программа, вычисляющая сумму двух вещественных чисел
var x,y,z:real;
begin
x:=StrToFloat(InputBox(‘ Окно

ввода', ‘Введите значение x',''));
y:=StrToFloat(InputBox(' Окно ввода ', ' Введите значение y',''));
z:=x+y;
showmessage(‘А вот и сумма: ‘ + FloatToStr(z));
end; 2. Операторы ввода-вывода (арифметические значения)
Слайд 20

Функции преобразования типов Арифметические значения в строковые IntToStr ( ) FloatToStr(

Функции преобразования типов

Арифметические значения в строковые
IntToStr (<выражение целого типа>)
FloatToStr(<выражение вещественного типа>)
var

a: integer; b: real; s: string;
begin
……
s:=IntToStr(a);… ;s:=FloatToStr(b);
……..
end;
Любое арифметическое выражение можно преобразовать к строковому!
Слайд 21

Функции преобразования типов Строковые значения в арифметические StrToInt ( ) StrToFloat(

Функции преобразования типов

Строковые значения в арифметические
StrToInt (<выражение строкового типа>)
StrToFloat(<выражение строкового типа>)
var

a: integer; b: real; s: string;
begin
……
a:=StrToInt(s);… ;b:=StrToFloat(s);
……..
end;
Если строка не содержит арифметическое значение, при таких преобразованиях происходит ошибка!
Слайд 22

Обработка ошибок при преобразованиях типов Оператор try try except end;

Обработка ошибок при преобразованиях типов

Оператор try
try
<операторы, которые выполнятся, если не

происходит ошибки>
except
<операторы, которые выполнятся, если произошла ошибка>
end;
Слайд 23

Оператор try Программа, вычисляющая сумму двух вещественных чисел с обработкой ошибок

Оператор try

Программа, вычисляющая сумму двух вещественных чисел с обработкой ошибок ввода
var

x,y,z:real;
begin
try
x:=StrToFloat(InputBox(‘ Окно ввода', ‘Введите значение x',''));
y:=StrToFloat(InputBox(' Окно ввода ', ' Введите значение y',''));
z:=x+y;
showmessage(‘А вот и сумма: ‘ + FloatToStr(z));
except
showmessage(‘Вводите числа правильно!)
end
end; 3. Оператор try
Слайд 24

Пример программы с вводом информации с формы Ввод данных с формы

Пример программы с вводом информации с формы

Ввод данных с формы
1. Поставим

на форму два компонента класса TEdit, которые служат для ввода данных. По умолчанию
они будут иметь имена Edit1 и Edit2 (свойство Name компонента TEdit). По эти именам будем к ним обращаться.
2. Удалим из свойства Text компонентов значения, чтобы при запуске программы строки ввода были пустые.
3. Поставим на форму два компонента класса TLabel, которые служат для вывода строковых значений. Свойству Caption компонентов дадим значения ‘Значение x:’ и ‘Значение y:’ соответственно.
Слайд 25

TEdit TEdit TLabel

TEdit
TEdit
TLabel

Слайд 26

Ввод информации с формы var x,y,z: real; begin try x:=StrToFloat(Edit1.Text); y:=StrToFloat(Edit2.Text);

Ввод информации с формы

var x,y,z: real;
begin
try
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit2.Text);
z:=x+y;

showmessage(‘А вот и сумма: '+FloatToStr(z));
except
showmessage(‘Вводите числа правильно!')
end
end; 4. Ввод информации с формы
Слайд 27

Пример отчета в документе MS Word по выполнению задания Задание №.

Пример отчета в документе MS Word по выполнению задания

Задание №.
Текст задания
Алгоритм

решения
Текст процедуры
Значения входных и выходных данных для 3-4 расчетов
Слайд 28

Примеры на оператор присваивания Задание 1.1. Оператор присваивания Текст задания. Рассчитать

Примеры на оператор присваивания

Задание 1.1. Оператор присваивания
Текст задания. Рассчитать значение функции

f=(x*x+y*y)1/2 при заданных значениях входных данных x и y.
Текст процедуры.
var x,y,z: real;
begin
try
x:=StrToFloat(Edit1.Text);
y:=StrToFloat(Edit2.Text);
z:=sqrt(x*x+y*y);
showmessage(‘ Значение функции: '+FloatToStr(z));
except
showmessage(‘Вводите числа правильно!')
end
end;
Значения входных и выходных данных для 3-4 расчетов
Входные данные: x=3 y=4 Выходные данные: z=5
Слайд 29

Примеры на оператор присваивания Задание 1.2. Оператор присваивания 1.Текст задания. Даны

Примеры на оператор присваивания

Задание 1.2. Оператор присваивания
1.Текст задания. Даны длины двух

сторон треугольника и величина угла, находящегося между этими сторонами. Найти периметр этого треугольника.
2. Решение.
Пусть a и b длины сторон треугольника. По теореме косинусов длина третьей стороны определяется по формуле:
c2=a2+b2-2*a*b*cos α
Следовательно, периметр треугольника p будет определятся по формуле:
p=(a2+b2-2*a*b*cos α)1/2+a+b
Слайд 30

Прмеры на оператор присваивания Задание 1.2. Оператор присваивания Текст процедуры. var

Прмеры на оператор присваивания

Задание 1.2. Оператор присваивания
Текст процедуры.
var a,b,alfa,p:real;
begin
try

a:=StrToFloat(Edit3.Text);
b:=StrToFloat(Edit4.Text);
alfa:=StrToFloat(Edit5.Text);
p:=sqrt(a*a+b*b-2*a*b*cos(alfa))+a+b;
showmessage('Периметр треугольника: '+FloatToStr(p));
except
showmessage('Вводите числа правильно!')
end
end;
Значения: прямоугольный треугольник с катетами a=1, b=1, следовательно угол alfa=pi/2 ≈ 1,5707. Результат: 3,414 (1+1+1,414).
Слайд 31

Примеры на оператор присваивания Задание 1.3. Оператор присваивания 1.Текст задания. Дано

Примеры на оператор присваивания

Задание 1.3. Оператор присваивания
1.Текст задания. Дано трехзначное число,

вычислить сумму его цифр.
2. Решение.
Пусть a – число, которое вводится, a1a2a3 представление числа в виде последовательности цифр.
Например, если a=354, то a1=3, a2=5, a3=4.
Для нахождения младшей цифры надо найти остаток от деления числа на 10: а3=a mod 10 (a3=4).
Далее: a=a div 10 (a=35), a2=a mod 10 (a2=5);
a=a div 10 (a=3), a1=a (a1=3).