Кнопки. Какие они бывают и зачем они?

Занятие 1. Введение

Почему именно Delphi?

Delphi это современное и очень популярное средство для разработки широкого класса Windows-приложений. Программу под Windows принято называть приложение. Мы собираемся использовать программное средство Delphi для обучения основам разработки программ.

Почему программный продукт Delphi получил такое название? Дельфы – это древне­греческий город на берегу Коринфского залива. Название города связано с именем бога мудрости и покровителя искусств Аполлона. Согласно мифу, главное святилище Аполлона находилось в Дельфах. Его жрицы-севиллы изрекали тем, кто к ним обращался, пророчества – оракулы. Руководитель исследовательской группы по разработке системы Delphi Чак Язджевски вспоминает: «Имя Delphi было предложено Денни Торпом во время одной мозговой атаки. Мы хотели, чтобы в имени отражались уникальные способности продукта к работе с базами данных, и Delphi как нельзя лучше перекликалось с таким за­слу­­жен­ным именем в этой области, как Oracle, по крайней мере, для тех, кому соче­тание: «дельфийский оракул» о чем-то говорит…»

Почему мы выбираем Delphi?

Во-первых, Delphi располагает простой и удобной средой для разработки приложений, которая включает текстовый редактор, компилятор, отладчик, т.е. традиционный набор инструментов для разработки, а также содержит так называемую визуальную среду разработки программ. Визуальная среда разработки позволяет наглядно строить приложение, как бы собирать его из кубиков, готовых программных блоков, кроме того, внешний вид приложения уже определяется на этапе разработки, что очень ускоряет сам процесс разработки. И вы увидите это!

Во-вторых, в Delphi используется довольно простой для начинающих язык програм­мирования Pascal, который был создан Никласом Виртом для целей обучения программированию. Но следует отметить, что в Delphi используется объектно-ориентированный Pascal, так называемый Object Pascal. Что такое объекты, классы и объектно-ориентированный язык программирования мы узнаем несколько позже, когда освоимся с основами работы на Pascal.

В третьих, Delphi это среда компилирующего типа, т.е. в результате компиляции приложения создается выполнимый файл, который можно легко распространять на другие компьютеры, даже такие, где не установлена система Delphi.

В четвертых, Delphi предоставляет готовые компоненты для разработки приложений, например, такие как кнопки, списки, поля редактирования и т.д. Достаточно хорошо изучить готовые компоненты, научиться их использовать и разработка приложений приобретет скорость ракеты.

И наконец, следует сказать о том, что Delphi предоставляет набор готовых блоков (компонент) для работы с базами данных, что очень важно для быстрой разработки такого распространенного класса приложений какими являются информационные системы.

Что мы видим на экране

Прежде чем приступать к разработке приложений с использованием Delphi, давайте познакомимся со средой разработки Delphi.

Что понимается под средой разработки? Как правило, это набор инструментов, облегчающих программисту работу по созданию программы. К таким инструментам, как правило, относятся:

1. текстовый редактор, именно в нем мы будем писать программу, изменять ее, сохранять в файле, возможно, составлять ее из готовых фрагментов программного кода.

2. компилятор, это встроенная в среду разработки программа, которая переводит текст программы с языка понятного человеку на язык понятный компьютеру.

3. отладчик, это также встроенная в среду разработки программа, которая помогает искать ошибки в программе. Дело в том, что человеку свойственно ошибаться, особенно когда речь идет о программе большого объема. Писать программу без ошибок не может никто, да в этом и нет необходимости. Так вот отладчик позволяет, например, приостановить выполнение программы и проверить содержимое переменных памяти, таким образом можно выявить ошибку. С помощью отладчика можно проследить последовательность выполнения операторов программы и таким образом также выявить ошибку.

Но среда разработки Delphi предоставляет пользователю еще большие возможности. Давайте посмотрим на экран:

 
  Кнопки. Какие они бывают и зачем они? - student2.ru

Кнопки. Какие они бывают и зачем они? - student2.ru

Главное окно приложения
Окно TreeView
Инспектор объектов
Кнопки. Какие они бывают и зачем они? - student2.ru Кнопки. Какие они бывают и зачем они? - student2.ru Кнопки. Какие они бывают и зачем они? - student2.ru

Среда разработки Delphi называется интегрированной (Integrated Development Environment – IDE), т.к. состоит из нескольких взаимосвязанных элементов. На экране мы видим несколько независимо перемещаемых окон. Давайте рассмотрим назначение этих окон.

В верхней части окна располагается главное окно. Главное окно включает горизонтальную линейку меню с выпадающими подменю, кнопочную панель быстрого доступа, палитру компонентов. Через главное меню и выпадающие подменю реализованы все функции Delphi.

Кнопочная панель располагается слева непосредственно под линейкой меню и обеспечивает быстрый доступ к основным функциям Delphi. Кнопочную панель можно настраивать, т.е. менять набор кнопок по своему усмотрению.

Палитра компонентов располагается справа от кнопочной панели и содержит компоненты, это основные «строительные блоки», используя которые можно быстро создавать приложения. Так как компонентов много, они объединены в группы по функциям, каждая группа располагается на своей вкладке. Например, на вкладке Standart располагаются стандартные интерфейсные компоненты Windows, т.е. элементы, используемые для организации взаимодействия (интерфейса) с пользователем, такие как кнопка, список, меню, радиокнопка и т.д. А на вкладке Data Control располагаются компоненты для работы с базами данных.

В левом нижнем углу экрана располагается Инспектор объектов(Object Inspector). Как следует из названия, Инспектор позволяет работать с объектами. Мы пока еще не знаем что такое объект, но пока что можно определить объект как нечто, что доступно нам через набор свойств и набор событий. Свойства можно очень просто изменять с помощью Инспектора объектов. Также объект имеет набор готовых событий, которые позволяют нам задать его реакцию на то или иное происшествие в системе, например, нажатие кнопки, открытие окна, потерю фокуса ввода и т.д. Именно с помощью Инспектора объектов можно быстро настраивать свойства (состояние) компонентов приложения и определять поведение объекта при наступлении определенных событий.

Кнопки. Какие они бывают и зачем они? - student2.ru

Окно Инспектора объектов содержит две вкладки: Property и Events. Вкладка Property позволяет задавать свойства (состояние) объекта, для этого вкладка поделена на две части, слева имя свойства, справа его значение.

Вкладка Events также поделена на две части: слева названия событий, справа можно задать так называемый обработчик события, это программный код, который будет выполняться при наступлении события.

Кнопки. Какие они бывают и зачем они? - student2.ru

На экране также появляется окно Object TreeView, которое содержит иерархию компонент текущего окна. Пока это не очень понятно. Но в дальнейшем мы, возможно, воспользуемся этим окном.

Кнопки. Какие они бывают и зачем они? - student2.ru

Справа от Инспектора объектов располагается главное окно приложения, это так называемая форма. Именно форма используется для организации взаимодействия с пользователем, именно на форме будут располагаться интерфейсные компоненты, с помощью которых ведется диалог с пользователем. Приложение может состоять из нескольких форм. На самом деле с формой связаны два окна. Первое это графическое представление формы, изображено на рис. В этом окне будут располагаться интерфейсные компоненты.

Кнопки. Какие они бывают и зачем они? - student2.ru

С каждой формой связан модуль на Pascal, который содержит программный код приложения. Это второе окно. Именно там будут находиться так называемые обработчики событий, т.е. реакция приложения на события в системе.

Кнопки. Какие они бывают и зачем они? - student2.ru

Мы перечислили далеко не все компоненты, которые входят в состав интегри­рованной среды разработки. Мы будем осваивать компоненты среды по мере нашего дальнейшего продвижения.

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

  1. Что такое приложение?
  2. Перечислите основные особенности Delphi как среды быстрой разработки приложений.
  3. Что такое среда разработки? Из каких основных элементов она состоит?
  4. Как среда разработки помогает нам при создании приложений?
  5. Перечислите основные компоненты среды разработки Delphi.
  6. Что такое Инспектор объектов?
  7. Что такое форма?

Занятие 2. Мое первое приложение в Delphi

Вывести текст в окне

После краткого знакомства со средой разработки Delphi давайте попытаемся создать несложное приложение в Delphi. Традиционным для новичков является прило­жение «Здравствуй, мир!». Поясню, что будет уметь наше приложение. На экран будет выведено окно (форма), в котором будет выведен текст: «Здравствуй, мир!». Пока все.

Но этот несложный пример позволит нам поработать с компонентами, к тому же именно с помощью этого примера мы увидим достоинства Delphi как среды быстрой разработки. Нам не потребуется писать ни строчки кода. Итак, начнем.

Для вывода текста в окне будем использовать компонент Delphi с именем Label, который располагается на вкладке: Standart.

Пока что мы не знаем, что такое компонент, но для разработки нашего приложения нам достаточно понимать, что компонент это некий шаблон в соответствии с которым можно создавать разные экземпляры однотипных объектов с одинаковым набором свойств. Свойства объекта можно легко менять либо с помощью Инспектора объектов, либо программным путем. Компоненты бывают двух видов: визуальные (т.е. видимые) и не визуальные ( т.е. невидимые). Для работы с объектами нужно уметь:

- размещать их в форме;

- перемещать их;

- изменять размер;

- изменять свойства с помощью Инспектора объектов;

- удалять из окна.

Для того, чтобы решить нашу задачу разместим компонент Label на форме. Для этого выделим компонент в палитре компонентов и щелкнем в области формы, в том месте, где хотим его разместить, как это показано на рисунке:

Кнопки. Какие они бывают и зачем они? - student2.ru Кнопки. Какие они бывают и зачем они? - student2.ru

 
 
Label

Рисунок . Палитра компонентов.

Кнопки. Какие они бывают и зачем они? - student2.ru

Рисунок. Форма.

Можно создать несколько экземпляров типа TLabel, например, объекты с именами: Label1, Label2, Label3 и т.д. Для решения нашей задачи достаточно разместить один объект: Label1.

Для перемещения объекта в другое место текущего окна (формы), нужно зацепить объект левой кнопкой мыши, перетащить его в новое место и бросить.

Для изменения параметров объекта, т.е. либо изменения размера, либо изменения свойств объекта, нужно его выделить. Для этого щелкнуть мышкой на объекте до появления размерных маркеров. Размерные маркеры позволяют изменять размер объекта.

Кнопки. Какие они бывают и зачем они? - student2.ru Кнопки. Какие они бывают и зачем они? - student2.ru

При выделении объекта Инспектор объектов отображает свойства выделенного объек­та формы. Для работы с объектами достаточно хорошо изучить их свойства. Давайте рассмотрим основные свойства объекта Label1.

Кнопки. Какие они бывают и зачем они? - student2.ru

Свойства объекта располагаются на вкладке «Properties» и, как вы, должно быть, заме­ти­ли, свойств довольно много. Свойства упорядочены в алфавитном порядке, это облегчит нашу жизнь, кроме того, нет необходимости знать все свойства, можно для начала изучить только основные. Названия свойств настолько хорошо продуманы, что при минимальном знании английского языка нетрудно догадаться какую функцио­нальную нагрузку несет то или иное свойство. Самым важным свойством, которое имеют все объекты, является свойство Name, именно это свойство позволяет ссылаться на объект в программе. Так как это свойство присуще всем объектам, при рассмотрении свойств больше не будем его упоминать.

В следующей таблице приведены наиболее часто используемые свойства объекта типа TLabel.

Свойство Описание
Caption Задает текст, отображаемый объектом.
Align Задает выравнивание объекта относительно формы (окна), может принимать следующие значения: alBottom – объект заполняет нижнюю часть окна, независимо от размера окна; alLeft – объект заполняет левую часть окна; alNone – нет выравнивания; alClient – объект заполняет все окно; alRight – заполняет правую часть окна; alTop – заполняет верхнюю часть окна.
Alignment Задает выравнивание текста относительно рамки объекта, может при- нимать следующие значения: taCenter – текст выровнен по центру; taLeftJustufy - текст выровнен по левому краю; taRightJustify - текст выровнен по правому краю.
AutoSize Объект(рамка) автоматически растягивается по размеру текста.
Layout Задает как текст выравнивается по вертикали. Может принимать сдедующие значения: tlTop – прижат к верхнему краю tlCenter – выровнен по центру tlBottom – прижат к нижнему краю
Font Задает тип шрифта, размер шрифта и цвет символов.
Color Задает цвет фона
Transparent Если равен True, то фон прозрачен.
WordWrap Позволяет получить многострочный текст. Если значение свойства равно true, текст, который не помещается в рамку объекта будет переносится на другую строку по пробелам.
Visible В случае False объект невидим.

Теперь нетрудно выполнить нашу задачу, для этого достаточно с помощью Инспектора объектов задать свойство Caption, которое будет содержать текст, выводимый в окне. Можно так же задать свойства Font и Color. Итак, приложение создано.

Теперь можно запустить его на выполнение. Для этого нужно либо выполнить меню Run, подменю Run ( в дальнейшем будем этого обозначать таким образом: Run|Run), либо нажать горячую клавишу: F9. Также можно воспользоваться быстрой кнопкой Run(F9) кнопочной панели.

Вы, наверное, обратили внимание на то, что при создании этого приложения мы не написали ни строчки программного кода. Это произошло потому, что мы использовали готовую компоненту, которая все за нас сделала. Мы только научились манипулировать ею через набор ее свойств. Также вы не могли не заметить, что внешний вид приложения на этапе разработки мало чем отличается от внешнего вида приложения на этапе выполнения. Вот в этом как раз и состоит визуальность разработки: уже на этапе разработки многое можно увидеть.

Созданное приложение следует сохранить. Как вы вскоре увидите, исходный код приложения хранится в нескольких файлах, поэтому для сохранения следует использовать меню «File|Save all…», чтобы не потерять файлы. Рекомендуется исходный код каждого приложения хранить в отдельной папке.

А теперь, когда мы научились основным приемам работы с компонентами, попробуйте выполнить несколько простых упражнений, используя свойства компонента TLabel.

Задания для самостоятельной работы

1. В верхней части формы вывести текст «Моя первая программа на Delphi», этот текст заполняет верхнюю часть окна, выводится крупным шрифтом, красными буквами на белом фоне, выровнен по центру окна по горизонтали и вертикали.

2. Вывести текст стихотворения и красиво его оформить:

«Буря мглою небо кроет

Вихри снежные крутя,

То как зверь она завоет,

То заплачет как дитя»

3. Создать многострочный текст с помощью одного элемента типа Label и красиво его оформить. Текст:

БУЯН — райский остров в Восточном море, подобен Атлантиде, Макарийскому острову. На острове Буяне сосредоточены все могучие силы весенних гроз, все мифические олицетворения громов, ветров и бури; на этом же острове восседают и дева Зоря, и Перун.

Поле редактирования

Если пользователю вашей программы потребуется ввести информацию, то как он сможет это сделать? Для этого используется компонент TEdit панели инструментов, который располагается на вкладке Standart. Поместите компонент TEdit в область формы. Давайте рассмотрим его самые важные свойства, которые приведены в таблице.

Свойство Описание
Name Имя объекта
Text Символьная строка, содержащая то, что ввел пользователь
AutoSelect Если True, то автоматически выделять поле контрастным цветом при получении им фокуса ввода
AutoSize True, при изменении шрифта объект растягивается по размеру текста
BorderStyle Стиль границы.
Color Задает цвет фона.
Font Задает цвет символов и шрифт
Enable Если False, то недоступен для ввода
PasswordChar Задает символ, маскирующий ввод
ReadOnly Если True, то ввод рапрещен, если False – ввод разрешен
Visible Если true, то объект видим, если false, то объект невидим

Выполним простое упражнение: то, что пользователь вводит в поле TEdit, отобра­жается в форме с помощью компонента TLabel. Для этого поместим компоненты TEdit и TLabel и TButton в область формы, как на рисунке.

Кнопки. Какие они бывают и зачем они? - student2.ru Кнопки. Какие они бывают и зачем они? - student2.ru

Компонент Label2 будет отображать то, что введено в поле Edit1. Для этого нужно выбрать событие, по которому будет выполняться программный код:

Label2.Caption:=Edit1.Text;

Кроме того, результат ввода можно отобразить с помощью функции ShowMessage:

ShowMessage(‘ Вы ввели ‘+Edit1.Text);

Для запуска обоих видов программного кода можно выбрать любое из следующих событий:

· событие OnExit(На выходе) объекта Edit1

  • событие OnClick (щелчок) объекта Button1.

Итак, подведем итог проделанной работы. Мы познакомились с навыками работы в среде Delphi, создали несколько простых приложений, познакомились с компонентами, их свойствами, событиями. Теперь пора заняться языком программирования.

Задания для самостоятельной работы

Модифицировать предыдущее задание следующим образом:

1. Замаскировать ввод в поле Edit1 с помощью *(звездочки), используя свойство PasswordChar.

2. Запретить ввод в поле Edit1.

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

  1. Что такое компонент? Что такое объект?
  2. Как создать новое приложение?
  3. Как написать текст в окне?
  4. С помощью какого компонента можно ввести информацию с клавиатуры?
  5. Для чего используются кнопки?
  6. С какими типами кнопок вы познакомились? Чем они отличаются?
  7. Как задать подпись на кнопке?
  8. Как задать картинку для кнопки с картинкой?
  9. Что такое событие?
  10. Что такое обработчик события?
  11. Какие события кнопки вам известны?
  12. Как выполнить приложение?
  13. Как сохранить приложение?

Понятие алгоритма

Hазначение ЭВМ это хранение и обработка информации. В процессе обработки данные преобразуются в соответствии с алгоритмом.

Алгоритм- это упорядоченная последовательность действий, которые должна выполнить ЭВМ для достижения определенных целей, в данном случае для решения какой-то задачи. В качестве примера простого алгоритма приведем задачу сложения двух чисел. Итак, чтобы сложить два числа нужно:

1. Ввести эти числа с клавиатуры

2. Выполнить операцию сложения

3. Вывести результат на экран для сведения пользователя.

Существует несколько способов описания алгоритма:

1) словесный - с помощью последовательности шагов, описанных обычными русскими предложениями.

2) графическое описание с помощью блок-схем.

3) запись на языке программирования в виде программы.

Значит программа это просто способ описания алгоритма на языке програм­мирования.

Существует три основных вида алгоритмов: линейный, разветвляющийся, цикли­ческий. Самым простым типом алгоритма является линейный алгоритм. Линейный алгоритм задает строго последовательное выполнение команд языка, без ветвлений и повторов. Разветвляющийся алгоритм позволяет изменять порядок выполнения команд в зависимости от условий. Циклический алгоритм позволяет задать многократное повторение группы операторов.

Основной структурной единицей программы в Delphi является процедура, в виде процедуры оформляется обработка события.

Структура процедуры

Давайте познакомимся более подробно со структурой процедуры.

procedure <имя процедуры>;

[раздел описаний]

begin

<тело процедуры>

end;

Здесь служебное (ключевое) слово procedure – задает имя процедуры, в необяза­тельном разделе описаний описываются данные, с которыми работает процедура. Служебное слово begin – задает начало операторов тела процедуры, слово end – задает конец процедуры.

Данные

Вся информация, с которой работает компьютер, называется данные. Каждый элемент данных является либо переменной, либо константой. Переменные – это данные, которые можно изменять в процессе выполнения программы. Константы – это данные, которые изменять нельзя.

 
  Кнопки. Какие они бывают и зачем они? - student2.ru

Элементы языка, такие как процедуры, переменные, константы и другие элементы языка, должны иметь имя, для того, чтобы можно было их различать. Имена в языках программирования называются идентификаторы, от английского слова identify, что озна­ча­ет определять, обозначать. В языке Pascal существуют определенные правила задания имен (идентификаторов).

Правила задания имен языка Pascal

· имя состоит из латинских букв, цифр и специальных символов таких, например, как подчерк(_)

· имя должно начинаться с буквы

· не может совпадать со служебным словом

· не должно содержать пробелов

· длина имени не более 63 символов

· имя не чувствительно к регистру букв, т.е. AB и ab – это одно и тоже имя.

В разных языках программирования разные правила задания имен.

Задания для самостоятельной работы

1. Почему следующие имена: 1asd, Чаща, for, program, err type - являются неправиль­ными идентификаторами?

2. Почему следующие имена: Prog1, abc, ABC, pr1 - правильные идентификаторы?

Следующим важным понятием, с которым мы познакомимся, является понятие типа данных.

Тип данных

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

В Pascal определены следующие основные типы данных:

· Числовые

· Логические

· Строки

· Символьные.

Описание данных

Перед использованием данные, как переменные, так и константы необходимо описать. Данные описываются в разделе описаний. Для описания переменной исполь­зуется следующий синтаксис:

var

<список переменных>:<тип>;

Где ключевое слово var (от variable, что означает переменная) – задает описание переменных.

Например:

Var

i, j, k : integer;

adc,nk : real;

str1 : string;

Для описания константы используется следующий синтаксис:

const

<имя константы>=<значение>

где ключевое слово const задает описание констант.

Обратите внимание, при описании константы не требуется задавать тип, тип констан­ты определяется типом присваемого значения. Например:

const

pi=3.141592;

yes=true; no=false;

Задания для самостоятельной работы

Опишите следующие переменные:

1. В 2-х переменных требуется хранить 3-х значные числа.

2. В переменной требуется хранить количество лет человека.

3. В трех переменных будет храниться зарплата человека, стоимость 1 булки хлеба, 1 брикета мороженого.

4. В переменной будет храниться результат деления 2-х целых чисел.

5. В переменной будет храниться 5-тизначное число.

Операции

На числовом типе данных определены следующие основные операторы:

Оператор Описание
+ Сложение
- Вычитание
* Умножение
/ Деление
div Целая часть от деления
mod Остаток от деления

Из констант, переменных, обращений к функциям, операций и скобок можно строить выражения. Примеры выражений:

(a+b)*c , a*2.2, (a+b+c)/3, a div b, c mod 10.

Последовательность действий при вычислении выражений определяется обычными прави­лами, принятыми в математике.

Решение

1. Создадим новое приложение.

2. Разработаем форму для удобного ввода чисел. Для ввода чисел будем использовать интерфейсные компоненты типа TEdit, для отображения информации пользо­вателю - будем использовать компоненты типа TLabel. Создадим кнопку, по которой будет запускаться программный код, обеспечивающий решение задачи. Внешний вид формы может быть, например, следующий:

Кнопки. Какие они бывают и зачем они? - student2.ru

Где объекты Edit1 и Edit2 используются для ввода чисел, объекты Label3, Label4, Label5 используются для отображения результата. Единственной проблемой, с которой мы столкнемся при использовании интерфейсных компонентов, Delphi будет – преобразование строк в числа и наоборот. Дело в том, что свойство Text объекта Edit строкового типа, свойство Caption объекта Label – также строкового типа. Т.е. для выполнения вычислений и отображения результатов необходимо выполнять преобразования.

Нам понадобятся следующие функции преобразования:

Функция преобразования Тип аргумента Тип результата Описание
IntToStr Integer String (строка) Преобразует целое число в строку
StrToInt String (строка) Integer Преобразует строку целое в целое число
FloatToStr real String (строка) Преобразует дробное число в строку
StrToFloat String (строка) real Преобразует строку в дробное число

3. Осталось написать обработчик события OnClick на кнопку «Вычислить»:

procedure TForm1.Button1Click(Sender: TObject);

var a,b:real;

begin

a:=StrToFloat(Edit1.Text);

b:=StrToFloat(Edit2.Text);

{ сумма }

Label3.Caption:=' сумма '+FloatToStr(a+b);

{ разность }

Label4.Caption:=' разность '+FloatToStr(a-b);

{ произведение }

Label5.Caption:=' произведение '+FloatToStr(a*b);

end;

4. Выполнить приложение. Обратите внимание, при вводе дробных чисел в форму разделителем дробной и целой части является запятая.

5. Сохранить приложение в отдельной папке.

6. Задание: добавить в приложение возможность расчета целой части и остатка от деления первого числа на второе. (Операции div и mod).

Встроенные функции

Встроенные функции это предопределенные функции, которые поставляются вместе с Delphi. Набор встроенных функций очень обширен. Существуют матема­тические функции, которые реализуют математические операции, например синус, косинус, функции для работы со строками, функции преобразования и т.д. Функция в языках программирования очень напоминает понятие функции, принятое в математике, т.е. функция имеет имя и список аргументов, независимых переменных. Функция может возвращать значение. Например, функция sin(x) вернет значение синуса, соответ­ствующее значению переменной x. Информацию по функциям в Delphi можно получить в Help’е, достаточно в программе ввести имя функции и нажать клавишу F1.

Вызов функции происходит по имени, в скобках указываются значения аргу­ментов. Функция всегда возвращает значение. Список функций, которые наиболее часто используются, приведен в таблице:

Функция Тип аргумента Тип результата
sin(X) real real
cos(x) real real
sqr(X) (возведение в квадрат) real real
sqrt(x) (корень квадратный) real real
abs(x) (абсолютная величина) real/integer real/integer
round(x) (округление) real integer
int(x) (целая часть) real real
frac(x) (дробная часть) real real
random(x) ( случайное число) word word(0..x)

Задания для самостоятельной работы

Используя материал предыдущих занятий решить следующие задачи. Каждую задачу оформлять в виде отдельного приложения. Рекомендуется каждое приложение сохранять в отдельной папке. Продумывать интерфейс с пользователем, чтобы пользо­вателю было удобно работать с вашим приложением. Для разработки интерфейса использовать интерфейсные компоненты : Label, Edit, Bitton.

1. Ввести радиус круга. Вывести длину и площадь круга.

2. Ввести длины сторон прямоугольного треугольника. Вывести длину гипотенузы.

3. Ввести 5 вещественных чисел. Вывести значение среднего ариф­мети­­ческого этих чисел.

4. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например: 23,7 это 23 руб. 70 копеек(функция frac).

5. Ввести длины сторон прямоугольного треугольника. Вывести длину гипотенузы. (функции sqr, sqrt).

6. Ввести 2 вещественных числа, округлить их до целых (функция round).

7. Ввести значение аргумента, вывести значение функции sin для этого аргумента. Следует иметь ввиду, что аргумент задается в радианах. То же самое проделать с функцией cos.

8. Ввести значение текущего курса доллара. Ввести сумму в долларах. Выполнить пересчет введенного количества долларов в рубли и вывести результат. Ввести сумму в рублях. Вывести результат в долларах по текущему курсу.

9. Написать программу вычисления стоимости покупки яблок и апель­синов, при этом требуется вводить стоимость 1 кг яблок и апельсинов, а также количество купленных яблок и апельсинов. Рекомендуемый вид экрана:

Вычисление стоимости покупки

Стоимость 1 кг яблок:

Куплено яблок (кг):

Стоимость 1 кг апельсинов:

Куплено апельсинов (кг):

Всего стоимость покупки:

10. Написать программу расчета стоимости поездки на дачу на автомобиле (туда и обратно). Исходными данными являются: рас­сто­я­­ние до дачи(км), количество бензина, которое потребляет авто­мо­биль на 100 км пробега, цена 1 литра бензина. Рекомендуемый вид экрана:

Вычисление стоимости поездки на дачу

Расстояние до дачи (км):

Расход бензина ( литров на 100 км пробега):

Цена литра бензина:

Поездка на дачу и обратно обойдется в руб.

11. Написать программу пересчета величины временного интервала, заданного в минутах, в величину, выраженную в часах и минутах. Рекомендуемый вид экрана:

Введите временной интервал ( в минутах): 150

150 минут это 2 ч. 30 минут.

12. Написать программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например: 23.7 это 23 руб. 70 копеек.

13. Ввести 3-х значное число. Выделить цифры сотен, десятков и единиц этого числа. Вывести результат. Какое число получится, если поменять местами цифру сотен и единиц. Вывести результат.

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

  1. Что такое алгоритм?
  2. Какие способы описания алгоритма Вы знаете?
  3. Какие виды алгоритмов Вам известны?
  4. Что такое переменная?
  5. Что такое константа?
  6. Что такое идентификатор? Какие правила используются в языке Pascal для задания идентификаторов?
  7. Что задает тип данных? Как и в каком разделе процедуры описываются данные: переменные и константы?
  8. Какие числовые типы данных Вам известны?
  9. Какие операции определены на числовом типе данных?
  10. С помощью какого оператора можно изменить значение переменной?
  11. Какие функции преобразования типов Вам известны?
  12. Что такое встроенная функция? Какие встроенные функции Вам мзвестны?

Логический тип данных

К логическому типу данных относятся данные, которые могут иметь одно из двух значений – true (истина) и false (ложь). True и false это константы, значение первой равно 1, значение второй - 0. На множестве логических данных опреде­лены следующие основные операции:

NOT - логическое отрицание

AND - логическое умножение (и)

OR - логическое сложение (или)

XOR - логическое сложение ( исключающее или)

Результаты выполнения логических операций приведены в таблице:

Операция: Операнд 1 Операнд 2 Результат
NOT true false   false true
AND true false true false true false false true true false false true
OR true false true false true false false true true false true true
XOR true false true false true true false false false true true false

Из этой таблицы следует, что:

- операция NOT определена для одного операнда

- для операции AND результат будет истиной только в том случае, если оба операнда истина

- для операции OR результат будет истиной только в том случае, если хотя бы один из операндов истина.

- для операции XOR результат будет истиной, если операнды имеют разные значения.

Логические выражения

Для задания условий используются логические выражения. Логическое выражение может принимать два значения: true(истина) или false(ложь). Для составления логических выра­жений используются логические операции (NOT, AND, OR, XOR) и операции сравнения:

Операция Описание
= равно
<> не равно
> больше
< меньше
>= больше или равно
<= меньше или равно

Например:

1. a>b – выражение оценивается как истина, если a=3 и b=5

2. a>b and b>c – выражение оценивается как истина, если a=15, b=10, c=3.

3. b>99 and b<1000 - выражение оценивается как истина, если b – трехзначное число.

4. c<99 or c>1000 - выражение оценивается как истина, если c – не трехзначное число.

Разветвляющийся алгоритм

Разветвляющийся алгоритм позволяет организовать ветвления в программе. Блок-схема разветвляющего алгоритма выглядит следующим образом:

Кнопки. Какие они бывают и зачем они? - student2.ru

Проверяется условие, в случае, если оно равно истине выполняется Ветка 1(набор операторов), иначе выполняется Ветка 2(другой набор операторов).

Для реализации такой схемы действий в языке Pascal имеется оператор if.

Оператор if

Синтаксис:

IF<условие> THEN<оператор1> [ ELSE<оператор2>];

Где

If, then, else - зарезервированные слова; (if – если, then – тогда, else – иначе ). Если перевести на русский, звучит примерно так:

Если условие=истина тогда оператор 1 иначе оператор 2;

<условие> - произвольное выражение логического типа;

<оператор1> - операторы языка Pascal, реализующие ветвь1.

<оператор2> - операторы языка Pascal, реализующие ветвь2.

В <

Наши рекомендации