Отчет о лабораторной работе №1




ПРОГРАММИРОВАНИЕ ПРОСТЫХ АЛГОРИТМОВ

по дисциплине «Основы программирования»

 

 

Выполнил: ст-т гр. 19КП1

Иванов И.И.

Проверил: доцент каф. ИВС

Дрождин В. В.

 


1 Постановка задач и

Разработать программу, которая для заданных действительные числа a, b, c, d выполняет следующие действия: если a < b < c < d, то каждое число надо заменить наибольшим из них; если a ≥ b ≥ c ≥ d, то числа оставить без изменения; в противном случае все числа заменяются их квадратами.

 

 

2 Техническое задание

2.1 Требования к программе

Программа должна выполнять следующие функции:

1. при a < b < c < d каждое число заменить наибольшим из них;

2. при a ≥ b ≥ c ≥ d оставить все значения без изменения;

3. в противном случае все числа заменить их квадратами.

 

2.2 Порядок контроля и приёмки

Для контроля правильности работы программы должны быть разработаны тестовые наборы данных, содержащие значения a, b, c, d и результаты решения задачи. Тестовые примеры должны обеспечивать проверку всех возможных вариантов решения задачи. Если для всех тестовых заданий результаты выполнения программы совпадут с тестовыми, то программа работает правильно.

 

3 Описание программы

3.1 Общие сведения

Программа Laba 1 разработана в среде Lazarus на языке Object Pascal. Текст программы приведен в приложении А.

3.2 Функциональное назначение

Программа выполняет следующие функции:

1. осуществляет ввод значений a, b, c, d;

2. производит вычисления:

- при a < b < c < d заменяет каждое число наибольшим из них;

- при a ≥ b ≥ c ≥ d оставляет все значения без изменений;

- в противном случае заменяет все числа их квадратами;

3. осуществляет вывод результирующих значений a, b, c, d;

 

3.3 Описание логической структуры

Схема программы представлена на рисунке 1.

Рисунок 1 – Схема программы

Решение задачи начинается с ввода исходных данных a,b,c,d (блок 2). Затем проверяет, если a < b < c < d (блок 3), то заменяет каждое число наибольшим из них (блок 5), если a ≥ b ≥ c ≥ d (блок 4), оставляет все значения без изменений; в противном случае все числа заменяются их квадратами (блок 6). После выполнения вычислений осуществляется вывод результата (блок 7).

Исходные данные:

a – Edit1.Text;

b – Edit2.Text;

c – Edit3.Text;

d – Edit4.Text.

Результат вычислений:

a – Edit5.Text;

b – Edit6.Text;

c – Edit7.Text;

d – Edit8.Text.

 

4 Программа и методика испытаний

Для проверки правильности работы программы подготовлены тестовые наборы данных, представленные в таблице 1.

Таблица 1

№ п/п Исходные данные a, b, c, d Результат a, b, c, d
  1, 2, 3, 4 4, 4, 4, 4
  5, 2, 3, 4 25, 4, 9, 16
  4, 4, 3, 1 4, 4, 3, 1

 

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

 

5 Описание применения

После запуска программы на выполнение на экране появляется незаполненная форма для решения задачи (Приложение Б). Необходимо заполнить поля a,b,c,d и нажать левой кнопкой мыши на кнопку «Вычислить». На форме в полях вывода появится результат работы программы: результирующие значения a,b,c,d (рисунки Б.1 – Б.3).

 

Заключение

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

 

 


 

 

 


ТЕКСТ ПРОГРАММЫ

Приложение А

(обязательное)


unit Unit1;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;

type

{ Ta }

Ta = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private

public

end;

var
a: Ta;

implementation

{$R *.lfm}

{ Ta }

procedure Ta.FormCreate(Sender: TObject);
begin

end;

procedure Ta.Button1Click(Sender: TObject);

Var
a,b,c,d:real;
begin
a:=strtofloat(Edit1.Text);
b:=strtofloat(Edit2.Text);
c:=strtofloat(Edit3.Text);
d:=strtofloat(Edit4.Text);
if(a<b)and(b<c)and(c<d)then
begin
a:=d;
b:=d;
c:=d;
end
else
if not((a>=b)and(b>=c)and(c>=d)) then
begin
a:=a*a;
b:=b*b;
c:=c*c;
d:=d*d;
end;
Edit5.Text:=floattostr(a);
Edit6.Text:=floattostr(b);
Edit7.Text:=floattostr(c);
Edit8.Text:=floattostr(d);

end;

end.


 
 

 

 


РЕЗУЛЬТАТЫИСПЫТАНИЙ

Приложение Б

(обязательное)


Вычислить

Рисунок Б.1

 
 
 
 
Вычислить

Рисунок Б.2

Вычислить

Рисунок Б.3



Поделиться:




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

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


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