Строковые и символьные константы




Глава 1

Основы программирования

Рис. 1.1. Основные символы, используемые для представления алгоритма в виде блок-

Листинг 1.1. Программа Стоимость покупки

unit pokupka_1;

Interface

Uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

Type

TForm1 = class(TForm)

Edit1: TEdit; Edit2: TEdit;

Label1: TLabel; Label2: TLabel; Label3: TLabel;

Button1: TButton;

procedure Button1Click(Sender: TObject);

procedure Edit2KeyPress(Sender: TObject; var Key: Char);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

private { Private declarations }

public { Public declarations }

end;

Var

Forml: TForm1;

Implementation

{$R *.dfm}

// подпрограмма

procedure Summa;

Var

cena: real; // цена

kol: integer; // количество

s: real; // сумма

mes: string[255]; // сообщение

Begin

cena:= StrToFloat(Form1.Edit1.Text);

kol:= StrToInt(Form1.Edit2.Text);

s:= cena * kol;

if s > 500 then begin

s:= s * 0.9;

mes:= 'Предоставляется скидка 10%' + #13;

end;

mes:= mes+ 'Стоимость покупки: '

+ FloatToStrF(s,ffFixed,4,2) +' руб.';

Form1.Label3.Caption:= mes;

end;

// щелчок на кнопке Стоимость

procedure TForm1.Button1Click(Sender: TObject);

Begin

Summa; // вычислить сумму покупки

end;

// нажатие клавиши в поле Количество

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

Begin

case Key of

'0'.. '9',#8:; // цифры и клавиша <Backspace>

#13: Summa; // вычислить стоимость покупки

else Key:= Chr(O); // символ не отображать

end;

end;

// нажатие клавиши в поле Цена

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

Begin

case Key of

'0'.. '9', #8:; // цифры и клавиша <Backspace>

#13: Form1.Edit2.SetFocus; // клавиша <Enter>

'.',',': begin

if Key = '.' then Key:=’,’;

if Pos(', ',Edit1.Text) <> 0 then Key:= Chr(0);

end;

else // все остальные символы запрещены

Key:= Chr(0);

end;

end;

End.

Рис. 1.2. Алгоритм программы вычисления стоимости покупки — совокупность алгоритмов обработки событий на компонентах формы

Рис. 1.3. Окно (форма) программы Стоимость покупки

Рис. 1.4. Схема работы компилятора

Язык программирования Delphi

Каждая инструкция состоит из идентификаторов. Идентификатор может обозначать:

  • Инструкцию языка (:=, if, while, for);
  • переменную;
  • константу (целое или дробное число);
  • арифметическую (+, -,*,/) или логическую (and, or, not) операцию;
  • подпрограмму (процедуру или функцию);
  • отмечать начало (procedure, function) или конец (end) подпрограммы или блока (begin, end).

Тип данных

Целый тип

Язык Delphi поддерживает семь целых типов данных: shortint, smallint, Longint, Int64, Byte, word и Longword, описание которых приведено в табл. 1.1.

Таблица 1.1. Целые типы

         
  Тип Диапазон Формат  
  Shortint -128-127 8 битов  
  Smallint -32 768 - 32 767 16 битов  
  Longint -2 147 483 648 - 2 147 483 647 32 бита  
  Int64 -263- 263 - 1 64 бита  
  Byte 0-255 8 битов, беззнаковый  
  Word 0-65 535 16 битов, беззнаковый  
  Longword 0 - 4 294 967 295 32 бита, беззнаковый  
         

Object Pascal поддерживает и наиболее универсальный целый тип - Integer, который эквивалентен Longint.

Вещественный тип

Таблица 1.2. Вещественные (дробные) типы

           
  Тип Диапазон Значащих цифр Байтов  
  Real48 2.9x 10-39-1.7x1038 11-12    
  Single 1.5 x 10-45-3.4х 1038 7-8    
  Double 5.0x10-324 -1.7x10308 15-16    
  Extended 3.6x10-4951 -1.1 х104932 19-20    
  Comp 263+1 - 263-1 19-20    
  Currency -922 337 203 685 477.5808 - +922 337 203 685 477.5807 19-20    
           

Язык Delphi поддерживает и наиболее универсальный вещественный тип - Real, который эквивалентен Double.

Символьный тип

Язык Delphi поддерживает два символьных типа: Ansichar и Widechar:

  • тип Ansichar — это символы в кодировке ANSI, которым соответствуют числа в диапазоне от 0 до 255;
  • тип widechar — это символы в кодировке Unicode, им соответствуют числа от 0 до 65 535.

Object Pascal поддерживает и наиболее универсальный символьный тип - Char, который эквивалентен Ansichar.

Строковый тип

Язык Delphi поддерживает три строковых типа: shortstring, Longstring WideString:

  • тип shortstring представляет собой статически размещаемые в памяти компьютера строки длиной от 0 до 255 символов;
  • тип Longstring представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти;
  • тип WideString представляет собой динамически размещаемые в памяти строки, длина которых ограничена только объемом свободной памяти. Каждый символ строки типа WideString является Unicode-символом.

В языке Delphi для обозначения строкового типа допускается использование идентификатора string. Тип string эквивалентен типу shortstring.

Логический тип

Логическая величина может принимать одно из двух значений True (истина) или False (ложь). В языке Delphi логические величины относят к типу Boolean.

Переменная

2 + bх + с = 0 a,d,c,x1,x2

TotalSumm и Discount или ObSumma и Skidka.

В общем виде инструкция объявления переменной выглядит так:

Имя: тип;

где:

  • имя — имя переменной;
  • тип — тип данных, для хранения которых предназначена переменная.

Пример:

а: Real; b: Real; i: Integer;

а,b,с: Real; x1,x2: Real;

Константы

В языке Delphi существует два вида констант: обычные и именованные.

Обычная константа — это целое или дробное число, строка символов или отдельный символ, логическое значение.

Числовые константы

123 0.0 -524.03 0

Таблица 1.3. Примеры записи дробных чисел

         
  Число Алгебраическая форма Форма с плавающей точкой  
  1 000 000 -123.452 0,0056712 1х106 -1,23452x102 5,6712х10-3 1.0000000000Е+06 -1.2345200000Е+02 5,6712000000Е-03  
         

 

 

Строковые и символьные константы

'Язык программирования Delphi 7' '2.4' 'Д'

Логические константы

True False.

Именованная константа

константа = значение;

где:

  • константа — имя константы;

Const Bound = 10;

Title = 'Скорость бега';

pi = 3.1415926;

В отличие от переменной, при объявлении константы тип явно не указывают. Тип константы определяется ее видом, например:

  • 125 — константа целого типа;
  • 0.0 — константа вещественного типа;
  • ' выполнить ' — строковая константа;
  • ' \' — символьная константа.

Инструкция присваивания

Имя: = Выражение;

где:

  • Имя — переменная, значение которой изменяется в результате выполнения инструкции присваивания;
  • : = — символ инструкции присваивания.
  • Выражение — выражение, значение которого присваивается переменной, имя которой указано слева от символа инструкции присваивания.

Пример:

Surama:= Сеnа * Kol; Skidka:= 10; Found:= False;

Выражение

Таблица 1.4. Алгебраические операторы

       
  Оператор Действие  
  + Сложение  
  - Вычитание  
  * Умножение  
  / Деление  
  DIV Деление нацело  
  MOD Вычисление остатка от деления  
       

123 0.001 i+1

А + В/С Summa*0.75 (В1+ВЗ+ВЗ)/3 Cena MOD100

Тип выражения

Таблица 1.5. Правила определения типа выражения

         
  Оператор Тип операндов Тип выражения  
  *, +, - Хотя бы один из операндов real real  
  *, +, - Оба операнда integer integer  
  / real или integer Всегда real  
  DIV, MOD Всегда integer Всегда integer  
         

Математические функции

Таблица 1.6. Математические функции

       
  Функция Значение  
  Аbs (n) Абсолютное значение n  
  Sqrt (n) Квадратный корень из n  
  Sqr (n) Квадрат n  
  Sin (n) Синус n  
  Cos (n) Косинус n  
  Arctan (n) Арктангенс n  
  Ехр(n) Экспонента n  
  Ln(n) Натуральный логарифм n  
  Random(n) Случайное целое число в диапазоне от 0 до n- 1  
       

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

Например, инструкция Label1.Caption:= FloatToStr(x) выводит значение переменной х в поле Label1.

Таблица 1.7. Функции преобразования

       
  Функция Значение функции  
  Chr(n) IntToStr (k) Символ, код которого равен n Строка, являющаяся изображением целого k  
       

 

       
  FloatToStr (n) Строка, являющаяся изображением вещественного n  
  FloatToStrF(n,f, k,m) Строка, являющаяся изображением вещественного п. При вызове функции указывают: f — формат (способ изображения); k — точность (нужное общее количество цифр); m — количество цифр после десятичной точки  
  StrToInt (s) Целое, изображением которого является строка s  
  StrToFloat (s) Вещественное, изображением, которого является строка s  
  Round (n) Целое, полученное путем округления n по известным правилам  
  Trunc (n) Целое, полученное путем отбрасывания дробной части n  
  Frac(n) Дробное, представляющее собой дробную часть вещественного n  
  Int (n) Дробное, представляющее собой целую часть вещественного n  
       

 

Использование функций

n:= Round((x2-x1)/dx);

x1:= (-b + Sqrt(d)) / (2*а);

m:= Random(10);

cena:= StrToInt(Edit1.Text);

Edit2.Text:= IntToStr(100);

mes:= 'x1=' + FloatToStr(xl);

Ввод данных

Наиболее просто программа может получить исходные данные

1)из окна ввода (функции inputBox) или

2) из поля редактирования (компонент Edit ).

Ввод из окна ввода

Переменная:= InputBox(Заголовок, Подсказка, Значение);

где:

  • Переменная — переменная строкового типа, значение которой должно быть получено от пользователя;
  • Заголовок — текст заголовка окна ввода;
  • Подсказка — текст поясняющего сообщения;
  • Значение — текст, который будет находиться в поле ввода, когда окно ввода появится на экране.

s:=InputBox('Фунты-килограммы','Введите вес в фунтах','0');

Рис. 1.5. Пример окна ввода

s:= InputBox('Фунты-килограммы','Введите вес в фунтах',''); funt:= StrToFloat(s);



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: