Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Рудник_Э-11_Лабораторная_работа_7

.docx
Скачиваний:
9
Добавлен:
15.04.2015
Размер:
223.69 Кб
Скачать

Учреждение образования

Гомельский государственный технический университет имени П.О. Сухого

Кафедра «Информатика»

Лабораторная работа № 7

по дисциплине: “Информатика”

Обработка одномерных массивов

Дата сдачи отчета Выполнил студент группы Э-11

Рудник Роман

Допуск к защите

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

Дата защиты Богданова Н.С.

Цель работы: Получить навыки разработки и реализации на языке Delphi типовых алгоритмов обработки одномерных массивов. Научиться вводить и выводить элементы массива, используя визуальный компонент StringGrid; вычислять сумму, произведение, количество, среднее арифметическое элементов массива, удовлетворяющих заданному условию, и находящихся на разных местах в массиве.

19

Вычислить сумму неотрицательных чисел, стоящих на местах, кратных 3, и количество чисел равных заданному T.

Вид окна проекта

Таблица используемых ВК

Элемент интерфейса

Компонент

Свойство

Значение свойства

Заголовок окна

Form1

Caption

Лабораторная работа 7

Число элементов массива

Label1

Caption

Число элементов массива

T

Label2

Caption

T

Кнопка решить

Button1

Caption

Решить

Поле ввода числа элементов массива

Edit1

Text

Поле ввода Т

Edit2

Text

Условие задачи

Memo1

lines

Вычислить сумму

неотрицательных чисел,

стоящих на местах, кратных 3, и

количество чисел равных

заданному T.

Таблица для ввода массива

Stringgrid1

Colcount

Rowcount

Fixsedcols

Fixsedrows

Options.goediting

Options.gotabs

9

1

0

0

True

true

Таблица для вывода массива

Stringgrid2

Colcount

Rowcount

Fixsedcols

Fixsedrows

Options.goediting

Options.gotabs

9

1

0

0

True

true

Место для вывода результата

Memo2

lines

Таблица используемых событий

Компонент

Событие

Имя процедуры обработки события

Реализуемый алгоритм

Button1

OnClick

Tform1.Button1Click

Расчёт массива

Таблица используемых переменных

Имя переменной в задаче

Имя переменной в программе

Тип переменной

Комментарий

i

i

byte

Номер элемента

n

n

byte

Кол-во элементов

k

k

real

Кол-во элементов суммы

s

S

real

сумма

t

T

real

переменная

kv

kv

real

Кол-во элементов ранных Т

x[i]

x[i]

real

Элемент массива

Схема олгаритма

Рукописные тесты

Тест1

Исходные данные: Число элементов массива=6

Т=4

массив: 1, 4, -1, 4, 5, 6

Ожидаемый результат : Сумма=6

Количество=2

Тест2

Исходные данные: Число элементов массива=6

Т=-1

массив: -1, -1, -1, -1, -1, -1

Ожидаемый результат : “Нет элементов”

Количество=6

Тест3

Исходные данные: Число элементов массива=6

Т=2

массив: -1, -1, 3, -1, -1, 3

Ожидаемый результат : Сумма=6

“Ошибка”

Распечатка текста процедуры

procedure TForm1.Button1Click(Sender: TObject);

var x:array[1..100] of real;

i,n:byte;

k, s, t, kv:real;

begin

n:=strtoint(edit1.Text);

t:=strtofloat(edit2.Text);

stringgrid1.colcount:=n;

for i:=1 to n do

x[i]:=strtofloat(stringgrid1.cells[i-1,0]);

with stringgrid2 do

begin

colcount:=n;

visible:=true;

for i:=1 to n do

cells[i-1,0]:=floattostr(x[i]);

end;

s:=0;

kv:=0;

i:=3;

while i<=n do

begin

if x[i]>=0 then

begin

s:=s+x[i];

kv:=kv+1;

end;

i:=i+3;

end;

if kv=0 then

showmessage('нет элементов')

else

memo1.Lines.ADD('сумма'+floattostr(s));

k:=0;

i:=1;

while i<=n do

begin

if x[i]=t then

begin

k:=k+1;

end;

i:=i+1;

end;

if k=0 then

showmessage('ошибка')

else

memo1.Lines.ADD('количество'+floattostr(k));

end;

Распечатка формы с результатами работы

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