Инструкционные карты занятий
  • Регистрация
1 1 1 1 1 1 1 1 1 1 Рейтинг 0.00 (0 Голоса)

ИНСТРУКЦИОННАЯ КАРТА № 6

На выполнение практического занятия по учебной практике

«Программирование»

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

Цель работы

Ø  уметь проектировать сложный разветвляющийся вычислительный процесс.

Ø  создать приложение, включающего ввод исходных данных, расчет и вывод результатов расчета на экран в среде Delphi.

Норма времени: 2 часа.

Оснащение рабочего места: инструкционные карты, конспект, ПК.

ХОД РАБОТЫ

I.  Теоретические сведения

Для выполнения расчетов необходимо задать исходные данные: значение параметра А И значение переменной х. Эти данные будут вводиться с клавиатуры с помощью компонента «однострочный редактор класса ТЕDit». Свойство этого компонента, в которое помещается результат ввода, имеет текстовый тип, т. е. допускает ввод любых символов. Таким образом, в процессе ввода пользователь может ввести (случайно или преднамеренно) недопустимые (нечисловые) символы. Такую ситуацию допустить нельзя, т. к. при вводе недопустимых символов произойдет сбой (аварийное завершение) программы во время преобразования неверных данных к вещественному типу. Необходимо на этапе ввода данных выявить и запретить ввод недопустимых символов, т. е. выполнить контроль вводимых данных Text. Можно предложить несколько способов решения такой задачи.

Один из методов контроля заключается в использовании обработчика события OnExit, Которое возникает при переходе к новому компоненту, т. е. когда компонент (в данном случае принимающий ввод с клавиатуры — TEdit) Теряет фокус. Поскольку ввод данных завершен, их следует прове­рить. Для этого делается попытка преобразовать введенные данные (в свойстве Text) К числовому виду с помощью функции StrToFloat. В случае, когда данные введены неверно (содержат недопустимые символы) при выполнении этой функции происходит сбой, т. е. возникает Исключительная ситуация. Эту ситуацию необходимо выявить и обработать. Перехват исключения осуществляется с помощью механизма защищенного блока Try...Except. Команда проверки (вызов функции StrToFloat) Защищается. Если при ее выполнении происходит сбой (возникает исключительная ситуация), выполняются команды между Except и EndБлок обработки исключения. Здесь с помощью функции ShowMessage выводится сообщение о неверном вводе, и переход к другому компоненту блокируется путем возврата фокуса компоненту ввода TEdit для исправления ошибок. Если данные введены верно, исключение (сбой) не фиксируется, и блок обработки исключения пропускается. Обработчик завершает работу, и компонент теряет фокус.

Возможны и другие подходы к решению задачи контроля входных данных. Например, можно использовать обработчик OnKeyPres для немедленной проверки каждого отдельного символа при его вводе (предыдущим способом проверяется весь введенный текст после завершения его ввода). Еще один способ контроля — это использование вместо компонента TEditКомпонента TMaskEdit (специализированного редактора) из страницы Additional. Этот компонент отличается от TEdit наличием свойства EditMask. Если это свойство не задано, TmaskEdit работает как обычный редактор TEdit. Свойство EditMask содержит шаблон редактирования. Шаблон состоит из трех частей, отделяемых друг от друга точкой с запятой. Первая часть Задает маску ввода. Вторая Содержит символ «О» — если в свойство Text заносится исходный текст и «1» - если результат наложения маски. В Третьей части Указывается символ, который появится в окне редактора в позициях, предназначенных для ввода символов. Маска ввода определяет, какие символы допустимы в каждой позиции ввода:

L — должна быть буква (т. е. обязательно); 1 — может быть буква (т. е. может и отсутствовать); А — должна быть буква или цифра;

А — может быть буква, может быть цифра или позиция может не заполняться;

С - должен быть любой символ;

С - может быть любой символ или не заполненная позиция;

О - должна быть цифра;

9 - может быть цифра; допускается не заполнять позицию;

# - может быть цифра или знак; позицию можно не заполнять.

Недопустимые символы просто отвергаются (не принимаются).

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

Решение практически любой задачи можно запрограммировать самостоятельно от начала до конца. Однако при составлении программ очень часто возникает потребность выполнить какие-либо действия, которые уже использовались в различных программах. Например, при математических расчетах нужно вычисление тригонометрических функций, а программи­рованием этих вычислений уже не раз занималось множество программистов. Поэтому в DelphiВходит обширный набор стандартных модулей, содержащих стандартные функции. Такие модули представляют собой готовый откомпилированный и оптимизированный код, предназначенный для решения самых разных задач. Чтобы вычислить значение синуса х, не надо реализовывать алгоритм вычисления синуса заново, достаточно просто написать

Sin (x)

Встроенные математические функции DelphiОписаны в модуле Math. Поэтому, чтобы иметь возможность использовать их, необходимо подключить модуль Math к Приложению оператором Uses.

Все функции Pascal (не только стандартные) записываются так: сначала следует название функции, потом в круглых скобках - список параметров через запятую (если параметров несколько).

II.  Задания для самостоятельного выполнения

Рабочее задание: Создать приложение для вычисления и вывода на экран значения функции:

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

Создать приложение для вычисления значения функции:

1 В личной папке создать вложенную папку для разработки проекта практической работы - папку размещения проекта. Присвоить этой папке имя ПР6.

2 Войти в среду Delphi. Создать новый проект. Присвоить ему имя.

3 Используя палитру компонентов (элементов управления), спроектировать форму Forml, Изменить значение свойства Name. Для свойства BorderStyle лучше установить BsSingle. Это значение запре­щает изменять с помощью мыши размеры формы в процессе выполнения приложения. Для сложного свойства Borderlcons его подсвойству BiSysteraMenu присвоить значение True, А для остальных трех его под-свойств установить False. Такие установки оставляют в заголовке окна приложения только кнопку закрытия, убирая остальные, не позволяя тем самым изменять размеры формы с помощью кнопок в заголовке окна. Таким образом, во время работы приложения размеры формы изменить нельзя никаким способом. Примерный вид формы показан на

Рисунке. Сохранить форму и проект.

.

4 Поместить на форму компонент типа TLabel, Присвоив ему имя (свойство Name) LabelO. В свойство Caption занести текст «Вычисление Значения функции».

5 Поместить на форму компонент Image 1 Из палитры Additional и загрузить в него заранее подготовленный рисунок, отображающий функцию. Загрузка рисунка производится с помощью стандартного окна диалога, открываемого при щелчке на кнопке с многоточием в свойстве Picture. Подготовить такой рисунок можно, используя редактор формул Microsoft Equation из состава Microsoft Word и любой графический редактор (например, Paint). Вначале набирается формула в редакторе формул, а затем при помощи буфера обмена она помещается в графический редактор, после чего файл рисунка необходимо сохранить в папку, отведенную для текущего проекта.

6 Поместить на форму три компонента типа TEdit. Editl, Edit2, Edit3. Первые два предназначены для ввода, соответственно, значения параметра А И значения переменной X. В свойства Text этих компонентов ввести какие-либо значения - значения по умолчанию. Эти значения будут показываться при запуске приложения на выполнение. При выполнении приложения их можно будет заменить другими. Компонент Edit3 Будет использован для вывода результата вычисления функции. Поэтому необходимо запретить ввод в него данных пользователем. Для этого свойству ReadOnly (только чтение) Присвоить значение True, Запрещающее поль­зователю заносить в компонент какие-либо данные. Можно поступить дру­гим способом: свойству Enabled этого компонента присвоить значение False, Что сделает компонент недоступным для пользователя. При этом, правда, значение будет показываться более бледным цветом.7 Поместить на форму три компонента типа TLabel: Labell, Label2, LabeB для подписей к полям ввода. В поле свойства Caption написать «Введите значение А», «Введите значение X» И «Значение функции У», Соответственно. При этом свойство Color лучше установить таким же, как и у формы. Параметры шрифта (сложное свойство Font) Установить по своему усмотрению.

8 Включить в форму две командные кнопки: элемент управления типа TButtonС именем Buttonl (свойство Name) И кнопку типа TBitBtnИз палитры Additional с именем BitBtnl. Написать (в свойстве Caption) На первой Кнопке «Расчет», А на второй «Выход». Для свойства Kind второй кнопки в окне ObjectInspectorУстановить значение BkClose. Подобрать удобный для просмотра размер шрифта (свойство Font => Size).

9 Щелчком на кнопке Toggle Form/Unit (F12) На панели инструментов главного окна интегрированной среды перейти к окну для набора программного кода модуля Unitl. В разделе реализации модуля Implementation сразу после директивы {$R *.DFM} задать свою функцию, например:

10 С событиями OnEnter (Получение фокуса) Для однострочных окон редактирования Editl и Edit2 Связать программные коды:

11 Добавить код, обрабатывающий события OnExit(Потеря фокуса) Для однострочных окон редактирования Editl и Edit2

12 С событием OnClick кнопки Button 1 связать программный код:

13 Нажав клавишу F9, запустить приложение на выполнение. В случае необходимости выполнить отладку.

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

15 По результатам работы составить отчет.

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

1.  Для чего предназначен условный оператор?

2.  Каковы две формы записи условного оператора?

3.  Может ли условный оператор содержать в себе другие условные операторы?

4.  Когда и как применяется составной оператор?

5.  Перечислите функции для величин порядкового типа.

6.  Из каких разделов состоит программа, написанная на языке программирования Object Pascal?

7.  Какие разделы в программе обязательны?

Согласовано

На заседании цикловой комиссии общеобразовательных дисциплин

Протокол №___ от «__» ________

Председатель _________________

Добавить комментарий


Защитный код
Обновить

По темам:

История Украины

Культурология

Высшая математика

Информатика

Охотоведение

Статистика

География

Военная наука

Английский язык

Генетика

Разное

Технологиеские темы

Украинский язык

Филология

Философия

Химия

Экология

Социология

Физическое воспитание

Растениевосдство

Педагогика

История

Психология

Религиоведение

Плодоводство

Экономические темы

Бухгалтерские темы

Маркетинг

Иностранные языки

Ветеринарная медицина

Технические темы

Землеустройство

Медицинские темы

Творчество

Лесное и парковое хозяйство