Отчет о индивидуальном проекте




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

 

 

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

Пучков Дмитрий

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

Хохлов А. Е.

 


1 Формулировка задачи

 

Сгенерируйте последовательность А из n (3 ≤ n ≤ 10000) случайных веще-ственных чисел со значениями в интервале [-n..n] и выдайте числа большие их среднего значения, упорядочив их по убыванию.

 

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

 

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

 

Необходимо сгенерировать последовательность А из n (3 ≤ n ≤ 10000) случайных вещественных чисел со значениями в интервале [-n..n] и выдать числа большие их среднего значения, упорядочив их по убыванию.

 

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

 

Для контроля правильности работы программы нужно ввести данные в заданной форме.

 

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

 

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

 

Программа разработана в среде Lazarus, её текст приведен в приложении А.

 

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

 

Программа предназначена для генерации последовательности А из n (3 ≤ n ≤ 10000) случайных веще-ственных чисел со значениями в интервале [-n..n] и выдайте числа большие их среднего значения, упорядочив их по убыванию.

 
 

 

 


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

 

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

Решение задачи начинается с ввода переменных (m,n,i,j,k,jmx:integer; x,srznach:real;) (блок 2). Оператор присваивания (блок 3). Условие (блок 4). Вывод (блок 5).

 


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

 

       
   
 
 
 

 


 

 
 
fori:=1 tom do begin a[i]:=9*random; write(a[i]:5:2); end; whilei<m do begin jmx:=1; forj:=1 tom-n do ifa[j]>a[jmx] thenjmx:=j; x:=a[jmx]; fork:=jmx tom-n-1 do a[k]:=a[k+1]; a[m-n]:=x; n:=n+1; i:=i+1; end; fori:=1 tom do write(a[i]:5:2); writeln('Вывод среднего значения:'); fori:=1 tom dosrznach:=(a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]+a[10])/10; writeln(srznach:5:2); fori:=1 tom do writeln(a[10],a[9],a[8],a[7],a[6]);


 

       
   
 
 
   
 
 
 
 

 


 

 

 
 
 

 


srznach:=0; randomize;

 

     
 
 
   

 


Вывод:a[10],a[9],a[8],a[7],a[6]
5

 

 

Текст программы приведен в приложении А.

На форме расположены следующие объекты:

- одно текстовое поле Label1 с вкладки Standart. В свойстве Caption этого объекта помещено пояснение для пользователя программы:

Label1.Caption – 'Введите M '

- одно поле редактирования Edit1 с вкладки Standart - для ввода исходных данных;

- кнопка Button1 с вкладки Standart для создания обработчика события, который вычисляет ответ. В свойстве Caption этого объекта помещено пояснение для пользователя программы: Button1.Caption - 'Вычислить'.

Обработчик TForm1.Button1Click обрабатывает щелчок по кнопке «Вычислить». В разделе описания переменных этого обработчика описаны:

- переменные типа integer

- m,n,i,j,k,jmx– переменные;

- переменные типа real

- x,srznach:real

Исполняемая часть обработчика начинается с выполнения цикла (for i:=1 to m do). Затем происходит вычисление.

Для вывода результата используется написание на экран значения переменных a[10,9,8,7,6] которая переведена в вещественном значении.

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

Для проверки правильности работы программы необходимо запустить ее на выполнение. После этого нажать левой кнопкой мыши на кнопку «Вычислить сумму». На форме появляется результат работы программы.

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

 

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

 

После запуска программы на выполнение на экране появляется форма с вопросом (см. Приложение Б). Пользователь должен нажать левой кнопкой мыши на кнопку «Вычислить». На форме появляется результат работы программы.

 
 


Вывод

 

В ходе выполнения лабораторной работы было сформулировано и утверждено техническое задание на разработку программы, генерацию последовательности А из n (3 ≤ n ≤ 10000) случайных вещественных чисел со значениями в интервале [-n..n] и выдайте числа большие их среднего значения, упорядочив их по убыванию.

 


 
 

 


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

Приложение А

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


const nmax=10000;

var a: array [1..nmax] of real;

m,n,i,j,k,jmx:integer;

x,srznach:real;

Begin

srznach:=0;

randomize;

Repeat

write('Размер массива от 3 до ',nmax,' m = ');

readln(m);

until m in [3..nmax];

writeln('Исходный массив A:');

for i:=1 to m do

Begin

a[i]:=9*random;

write(a[i]:5:2);

end;

writeln;

n:=0;

i:=1;

while i<m do

Begin

jmx:=1;

for j:=1 to m-n do

if a[j]>a[jmx] then jmx:=j;

x:=a[jmx];

for k:=jmx to m-n-1 do

a[k]:=a[k+1];

a[m-n]:=x;

n:=n+1;

i:=i+1;

end;

writeln('Отсортированный массив:');

for i:=1 to m do

write(a[i]:5:2);

writeln;

writeln('Вывод среднего значения:');

for i:=1 to m do

srznach:=(a[1]+a[2]+a[3]+a[4]+a[5]+a[6]+a[7]+a[8]+a[9]+a[10])/10;

writeln(srznach:5:2);

writeln;

writeln('Вывод чисел больших среднего значения:');

for i:=1 to m do

Begin

if (a[1]<srznach) and (a[2]<srznach) and (a[3]<srznach) and (a[4]<srznach) and (a[5]<srznach) then

end;

writeln(a[10]:5:2);

writeln(a[9]:5:2);

writeln(a[8]:5:2);

writeln(a[7]:5:2);

writeln(a[6]:5:2);

writeln;

end.

 
 

 
 

 

 


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

Приложение Б

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


 
 


Рисунок Б.1



Поделиться:




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

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


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