Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Результаты тестирования

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


 

Программа 1

 

С помощью рекурсии вычислить выражение: ;

 

Программа 2

 

Ввести массив А, состоящий из n целых чисел. Вывести на экран минимальное число в массиве, больше 20.

 

Программа 3

 

Ввести массив А, состоящий из n целых чисел. Вывести на экран элементы массива, состоящие из одной цифры или цифры и знака.

 

Анализ технического задания

 

Программа 1


 

Написать программу, которая будет вычислять значение по заданной формуле с учётом вводимого n.

 

Программа 2

 

Написать программу, которая будет находить число в массиве больше число, которое больше 20, но минимальное из них.

 

Программа 3

 

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

 


Спецификация на программные модули

 

Программа 1

 


1. Имя модуля: Unit1;

2. Имя вызываемого модуля - Project1;

3. Выполнение функции: находит значение по формуле;

4. Входные данные – n типа integer;


5. Выходные данные – f типа real;

6. Особенности, ограничения - нет.

 

Программа 2

 

1. Имя модуля: Unit1;

2. Имя вызываемого модуля - Project1;

3. Выполнение функции: нахождение минимальных элементов;

4. Входные данные – n,a[i] типа integer;


5. Выходные данные – massiv типа integer;

6. Особенности, ограничения - нет.

Программа 3

 

1. Имя модуля: Unit1;

2. Имя вызываемого модуля - Project1;

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

4. Входные данные – n,a[i] типа integer;


5. Выходные данные – a[i] типа integer;

6. Особенности, ограничения - нет.

 

Блок-схема алгоритма

 

Программа 1

начало
n=1

 


нет да

 

f = 3
f = sqrt(3*n)*f(n-1)
конец

 


Рисунок 1 – Блок - схема function f(n:integer):real;

начало
n = edit1.text
Выводим ответ в edit2
конец

 

 


Рисунок 2 – Блок - схема procedure TForm1.Button1Click(Sender: TObject);

 

 

Программа 2

 

начало
n = edit2  

 


 

i: n-1


i = i+1  
>

 


Edit1 = inttostr(massiv(0,100))

конец
a[i] = random(100) заполнение stringgrid1

 


Рисунок 3 – Блок - схема procedure TForm1.Button1Click(Sender: TObject);

 

начало

 

 


i<=n  
нет

 

 

да

(a[i]>20) and (a[i]<min)  
да

min = a[i]    

 


 

конец
result = massiv(i+1,min)  

 


Рисунок 4 – Блок - схема function TForm1.massiv(i, min: integer): integer;

 

Программа 3

начало
Memo1.Clear  

 

 


n = edit1  

 


i = i+1  
i: n-1

 

massiv(0)  

a[i] = -15+random(49); заполнение stringgrid1

конец

 

 


Рисунок 5 – Блок - схема procedure TForm1.Button1Click(Sender: TObject);

начало
i<=n-1  

 

 


 

abs(a[i])<10

 


 

Memo1.Lines.Add(IntToStr(a[i]))  

 

 


 

конец
massiv(i+1)

 


Рисунок 6 – Блок - схема function TForm1.massiv(i: integer): integer;

Модульная структура программ

 

Программа состоит из одного модуля – самой программы.

 

Текст программы

 

Программа 1


unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

 

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Edit2: TEdit;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

function f(n:integer):real;

begin

if n=1 then f:=3 else f:=sqrt(3*n)*f(n-1);

end;

 

procedure TForm1.Button1Click(Sender: TObject);

var n:integer;

begin

n:=strtoint(edit1.text);

edit2.text:=floattostr(f(n));

end;

 

end.

 

Программа 2

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls;

 

type

TForm1 = class(TForm)

Button1: TButton;

StringGrid1: TStringGrid;

Edit1: TEdit;

Edit2: TEdit;

Label1: TLabel;

procedure Button1Click(Sender: TObject);

function massiv(i,min:integer):integer;

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

a:array[0..7] of integer;

n:integer;

 

implementation

 

{$R *.dfm}

 

 

procedure TForm1.Button1Click(Sender: TObject);

var

i:integer;

begin

n:=strtoint(edit2.Text);

for i:=0 to n-1 do

begin

a[i]:=random(100);

stringgrid1.Cells[i,0]:=inttostr(a[i]);

end;

Edit1.Text:=inttostr(massiv(0,100));

end;

 

 

function TForm1.massiv(i, min: integer): integer;

begin

if i<=n then

begin

if (a[i]>20) and (a[i]<min) then min:=a[i];

result:=massiv(i+1,min);

end else result:=min;

end;

 

end.

 

 

Программа 3

 

unit Unit1;

 

interface

 

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids;

 

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

Label1: TLabel;

Button1: TButton;

Edit1: TEdit;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

function massiv(i:integer):integer;

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

a:array[0..7] of integer;

n:integer;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

var

i:integer;

begin

Memo1.Clear;

n:=strtoint(edit1.Text);

for i:=0 to n-1 do

begin

a[i]:=-15+random(49);

stringgrid1.Cells[i,0]:=inttostr(a[i]);

end;

massiv(0);

end;

 

function TForm1.massiv(i: integer): integer;

begin

if i<=n-1 then

begin

if abs(a[i])<10 then

Memo1.Lines.Add(IntToStr(a[i]));

massiv(i+1);

end;

end;

end.

 

Результаты тестирования

 

 

Рисунок 4 – Результат тестирования программы 1.

 

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

 

 

Рисунок 6 – Результат тестирования программы 3.

 

Заключение

В ходе лабораторной работы, ознакомился и научился работать с рекурсией в Borland Delphi7.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...