Урок
8
Тема: Интегрированная
среда разработки приложений.
Типы
данных. Преобразование типов.
Цель
урока:
Образовательная:
познакомить учащихся с типами данных, их основными свойствами и методами;
Развивающая: развивать умения
выполнять действия с типами данных и умение преобразовать типы;
Воспитательная: воспитывать
эстетические навыки при оформлении формы и компонентов.
Тип урока: урок усвоения новых знаний
Методы
обучения:
· словесные, наглядные, практические
· частично-поисковые.
Форма
обучения: индивидуальная,
групповая.
Оснащение: компьютерный
класс
(наличие
локальной сети).
Ход урока.
1. Организационный
момент.
Приветствие.
Настрой учащихся на урок.
2. Постановка
целей и задач урока.
3. Проверка
домашнего задания.
В предыдущем уроке мы рассматривали об
этапах создания приложения в среде Lazarus на примере вашей первой программы.
В этом уроке Вы познакомитесь с основными
элементами языка программирования: переменными, их типами, основными операциями
и функциями.
Создадите простейший калькулятор, который
будет выполнять сложение целых чисел, введенных с клавиатуры.
Данные в языке Free Pascal
Для решения задач в любой программе
выполняется обработка каких-либо данных. Данные хранятся в памяти компьютера и
могут быть самых различных типов: целые и вещественные числа, символы, строки,
массивы.
Типы данных определяют способ хранения
чисел или символов в памяти компьютера. Они задают размеры ячейки, в которую
будет записано то или иное значение, определяя тем самым его максимальную
величину или точность задания.
Участок памяти (ячейка), в которой
хранится значение определенного типа, называется переменной. У переменной есть
имя (идентификатор), тип и значение.
Имя служит для обращения к области памяти,
в которой хранится значение.
Во время выполнения программы значение переменной
можно изменить.
В Lazarus каждая переменная перед
использованием должна быть описана (объявлена). При объявлении переменной
задается ее имя и тип. В оперативной памяти выделяется место для хранения
переменной.
Для описание переменных используется
служебного слова var.
Общий вид оператора:
Var имя_переменной: тип_переменной;
Например:
Var
a: integer; //Объявлена целочисленная
переменная
b, c: real; //Объявлены две вещественные
переменные.
Целочисленный тип данных
Целочисленные типы данных могут занимать в
памяти компьютера один, два, четыре или 8 байтов.
Тип
|
Диапазон
|
Размер (байт)
|
Shortint
|
-128 .. 127
|
1
|
Integer
|
-32768 .. 32767
|
4
|
Longint
|
-2147483648 .. 2147483647
|
4
|
Byte
|
0 .. 255
|
1
|
Word
|
0 .. 65535
|
2
|
Вещественный тип данных
Внутренне представление вещественного
числа в памяти компьютера отличается от представления целого числа.
Вещественное число представлено в экспоненциальной форме mE±p, где m
– мантисса (целое или дробное число с десятичной точкой), p – порядок (целое число).Чтобы
перейти от экспоненциальной формы к обычному представлению числа, необходимо
мантиссу умножить на десять в степени порядок.
Вещественное число может занимать от 4 до
10 байтов.
Вещественные типы
|
Диапазон
|
Кол-во значащих цифр
|
Размер, байт
|
Real
|
2.9e-39
.. 1.7e+38
|
11-12
|
8
|
Single
|
1.5-e45
.. 3.4e+38
|
7-8
|
4
|
Double
|
5.0e-324 ..
1.7e308
|
15-16
|
8
|
Extended
|
3.4e-4932
..1.1e4932
|
19-20
|
8
|
Пример описания
вещественных переменных:
Var
r1, r2: real; d: double;
Операции и выражения
Выражение задает порядок выполнения
действий над данными и состоит из операндов (констант, переменных, обращений к
функциям), круглых скобок и знаков операций.
Например a + b*sin(x).
В таблице представлены основные
алгебраические операторы языка программирования Free Pascal.
Оператор
|
Действие
|
+
|
Сложение
|
-
|
Вычитание
|
*
|
Умножение
|
/
|
Деление
|
DIV
|
Целочисленное деление
|
MOD
|
Вычисление остатка от деления
|
Операторы целочисленной арифметики DIV и
MOD применяются только к целочисленным операндам.
DIV позволяет получать целую часть
результата деления одного числа на другое.
Например, 15 DIV 7 = 2.
Оператор MOD получает остаток
от деления одного числа на другое.
Например, 15 MOD 7 = 1, Для задания
нужного порядка выполнения операций в выражении можно использовать скобки.
Стандартные функции
В языке определены стандартные функции.
Некоторые арифметические функции представлены в таблице ниже.
Обозначение
|
Действие
|
Abs(n)
|
Абсолютное значение n.
|
Sqrt(n)
|
Квадратный корень из n.
|
Sqr(n)
|
Квадрат n.
|
Exp(n)
|
Экспонента n.
|
Ln(n)
|
Натуральный логарифм n.
|
Random(n)
|
Случайное целое число в диапазоне
от 0 до n-1. (перед первым обращением к функции необходимо вызвать
функцию Randomize, которая выполнит
инициализацию программного генератора случайных чисел)
|
Sin()
|
Синус выраженного в радианах угла
|
Cos()
|
Косинус выраженного в радианах угла
|
Arctan()
|
Арктангенс выраженного в радианах угла
|
Величина угла тригонометрических функций
должна быть выражена в радианах. Для преобразования величины угла из градусов в
радианы используется формула:
(α * 3.1415256 ) / 180,
где α – величина угла в градусах,
3.1415256 –число π.
Вместо константы 3.1415256 можно
использовать стандартную именованную константу PI.
Функции преобразования
Функции преобразования типов часто
используются при вводе и выводе информации
Например, для того чтобы вывести в поле
вывода (компонент Label) диалогового окна значение переменной Real, необходимо
преобразовать число в строку символов, изображающую данное число. Это можно
сделать при помощи функции FloatToStr, которая возвращает строковое
представление значения выражения, указанного в качестве параметра функции.
Основные функции преобразования типов
Свойство
|
Описание
|
Chr(n)
|
Символ, код которого равен n.
|
IntToStr(k)
|
Строка, являющаяся изображением целого k.
|
FloatToStr(n)
|
Строка, являющаяся изображением вещественного n.
|
FloatToStrF(n,f,k,m)
|
Строка, являющаяся изображением вещественного n. При вызове
функции указывают: f - формат; k –
точностью (общее количество цифр); m - количество цифр после
десятичной точки.Возможны следующие значения параметра Format:
ffGeneral – общий числовой формат;
ffFixed – фиксированный формат;
ffCurrency – денежный формат.
|
StrToInt(s)
|
Целое, изображением которого является строка s.
|
StrToFloat(s)
|
Вещественное, изображением, которого является строка s.
|
Round(n)
|
Целое, полученное путем округления n по известным правилам.
|
Trunc(n)
|
Целое, полученное путем отбрасывания дробной части n.
|
Frac(n)
|
Дробное, представляющее собой дробную часть вещественного n.
|
Int(n)
|
Дробное, представляющее собой целую часть вещественного n.
|
Наиболее часто программа может получать
исходные данные из окна ввода или из поля редактирования (компонент Edit). Для
преобразования данных в числовой тип используют соответствующую функцию.
Например, для преобразования в вещественный
тип используется оператор:
Funt:= StrToFloat(Edit1.Text);
Основные сведения об переменных,
числовых типах данных и функциях преобразования типов мы повторили. Теперь
переходим к практической части нашего занятия.
Проект «Калькулятор»
Задание. Создать
приложение для вычисления суммы двух чисел. Окно программы должно выглядеть
так, как показано на рисунке.
Ход выполнения
1.
Создайте приложение. Сохраните проект в папке Калькулятор.
2.
Создайте интерфейс по образцу.
3.
Настройте свойства объектов в соответствии с таблицей.
Компонент
|
Свойство
|
Значение
|
Form1
|
Caption
|
Калькулятор
|
Label1
|
Caption
Name
|
Первое
число
EditNum1
|
Label2
|
Caption
Name
|
Второе
число
EditNum2
|
Label3
|
Caption
Name
|
Результат
EditResult
|
Edit1
|
Text
|
Пусто
|
Edit2
|
Text
|
Пусто
|
Edit3
|
Text
|
Пусто
|
Button1
|
Coption
|
Вычислить
|
4.
Написать процедуру обработки щелчка на кнопке Вычислить (btnMath).
Для
этого выполните двойной щелчок на кнопке Вычислить. Это приведет к
созданию процедуры TForm1.Button1Clic в разделе implementation:
procedure
TForm1.Button1Click(Sender: TObject);
begin
end;
Понятно,
что созданная процедура не содержит ни одной команды. Ваша задача – заполнить
шаблон операторами. Все команды, указанные в процедуре между begin и end, будут
выполнены при щелчке на кнопке Выполнить.
В
нашем случае процедура TForm1. Button1Click будет иметь вид:
procedure
TForm1.Button1Click(Sender: TObject);
var
num1, num2, result: integer;
begin
num1:=StrToInt(editNum1.text);
num2:=StrToInt(editNum2.text);
result:=num1+num2;
edit3.text:=IntToStr(result);
end;
Обратите
внимание, что были написаны всего 5 команд, предназначенных для решения
поставленной задачи. Остальной текст в окне редактора создается автоматически
Сохранить
проект. Проверьте работу приложения. Введите в первые два поля целые
числа, нажмите кнопку Вычислить. В поле результат должна отобразиться сумма
этих чисел.
В этом уроке мы повторили основными
элементы языка программирования: переменные, числовые типы, основные
арифметические операции и функции. Создали простейший калькулятор.
В следующем уроке рассказывается о вводе и
выводе данных.
4. Подведение
итогов работы.
5.
Домашнее задание. §9 стр.54-60
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.