ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ АЛГОРИТМОВ
по дисциплине «Основы программирования»
Выполнил: ст-т гр. 19кп1
Блат Т.Р.
Проверил: доцент каф. ИВС
Хохлов А. Е.
1 Формулировка задачи
Заменить условным оператором логическое выражение A=B or C and D and E для всех возможных сочетаний значений B, C, D и E проверить совпадение результатов.
2 Техническое задание
2.1 Требования к программе
Программа должна проверять результаты решения логического уравнения и выводить ответ вместе с результатами условного оператора.
2.2 Порядок контроля и приёмки
Для контроля правильности работы программы нужно ввести данные переменных напрямую в коде программы.
3 Описание программы
3.1 Общие сведения
Программа разработана в среде Lazarus, её текст приведен в приложении А.
3.2 Функциональное назначение
Программа предназначена решения логического уравнения с помощью условного оператора.
![]() |
3.3 Описание логической структуры
Схема программы представлена на рисунке 1.
Решение задачи начинается с ввода исходных данных a, b, c, d, e (блок 2). Затем идёт оператор условия, где задаётся вопрос b=true? (блок 3), если да, то a=true (блок 8), если нет, задаётся следующий вопрос c=true? (блок 4), здесь же если ответ нет, то a=false(блок 7), если же ответ да, то появляется ещё один вопрос e=true? (блок 6), и теперь если ответ да, то a=true (блок 8), а если нет, то a=false (блок 7). Вывод a (блок 9).
Рисунок 1 – Схема программы
![]() |
Нет Да
![]() | |||
![]() |
Нет Да
![]() | ![]() | |||||||||||
![]() | ||||||||||||
![]() | ![]() | |||||||||||
![]() | ||||||||||||
|
|
![]() |
Нет Да
Текст программы приведен в приложении А.
На форме расположены следующие объекты:
- одно текстовое поле Label1 с вкладки Standart. В свойстве Caption этого объекта помещено пояснение для пользователя программы:
Label1.Caption – 'Результат условного оператора',
- одно поле редактирования Edit1 с вкладки Standart - для ввода исходных данных;
- кнопка Button1 с вкладки Standart для создания обработчика события, который рассчитывает количество информации. В свойстве Caption этого объекта помещено пояснение для пользователя программы: Button1.Caption - 'Проверить'.
Обработчик TForm1.Button1Click обрабатывает щелчок по кнопке «Проверить». В разделе описания переменных этого обработчика описаны:
- переменные условного типа Boolean:
- a, b, c, d, e – переменные;
Исполняемая часть обработчика начинается с ввода исходных данных b, c, d, e. Эти переменные вводится напрямую в коде программы. Затем происходит вычисление.
a=true, если b=true(b=true, если c=true(c=true, если d=true(тогда a=e), иначе a=false)), иначе a=false.
Для вывода результата используется написание на экран результат решения a через Edit1.Text
4 Программа и методика испытаний
Для проверки правильности работы программы подготовлен тестовый набор данных, представленный в таблице 1.
Таблица 1
Данные | Значение |
b | true |
c | true |
d | true |
e | true |
Вручную рассчитаем общую вероятность
a=true, если c=true(c=true), значит ответ true.
Для проверки правильности работы программы необходимо запустить ее на выполнение и ввести исходные данные из таблицы 1. После этого нажать левой кнопкой мыши на кнопку «Проверить». На форме появляется результат работы программы.
При работе программы с тестовыми данными получены результаты, приведенные в приложении Б на рисунках Б.1. Результаты приведенные в таблице 1 совпадают с результатами на рисунке Б.1. Таким образом, можно сделать вывод, что программа работает правильно
5 Описание применения
После запуска программы на выполнение на экране появляется форма с вопросом (см. Приложение Б). Пользователь должен написать в программе значение переменных и нажать левой кнопкой мыши на кнопку «Проверить». На форме появляется результат работы программы.
Вывод
В ходе выполнения лабораторной работы было сформулировано и утверждено техническое задание на разработку программы, решения логического уровнения с помощью условного оператора, разработан алгоритм решения задачи, составлена и отлажена программа, оформлена документация на программу. Проведенные испытания показали, что программа работает правильно.
![]() |
ТЕКСТ ПРОГРАММЫ
Приложение А
(обязательное)
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
Procedure TForm1.Button1Click(Sender: TObject);
var //Раздел описания переменных//
a,b,c,d,e:boolean; //Описание переменных условного типа//
begin
b:=true; //Переменные//
c:=true;
d:=true;
e:=true;
a:=b or c and d and e;
if a=true //Раздел исполняемых операторов//
then Edit1.Text:='True' //Оператор вывода данных на форму//
else Edit1.Text:='False';
if b //Решение задачи//
then a:=true
else if c
then if d
then a:=e
else a:=false
else a:=false;
end;
end.
![]() |
РЕЗУЛЬТАТЫИСПЫТАНИЙ
Приложение Б
(обязательное)
![]() |
Рисунок Б.1
1. b=true, c=true, d=true, e=true.
2. b=false, c=false, d=false, e=false.
3. b=false, c=true, d=true, e=false.
3. b=true, c=false, d=false, e=false.