РефератыИнформатикаОсОсновы программирования и алгоритмические языки

Основы программирования и алгоритмические языки

Министерство образования и науки Украины


Национальный горный университет


Институт электроэнергетики


Факультет информационных технологий


Кафедра ПЗКС


Реферат по теме:


«Освоение технологии структурного программирования


и применения стандартных методов работы


с одномерными массивами


при разработке и создании программы на языке Турбо Паскаль»


по дисциплине


“Основы программирования и алгоритмические языки”


ВЫПОЛНИЛА:


студент группы КС-06-2


Иванова Е.И.


ПРОВЕРИЛА:


ассистент кафедры ПЗКС


Попова Т.С.


Днепропетровск


2006


1.Условие задачи:


В массиве T(12) хранится среднемесячная температура для каждого из 12 месяцев в г. Днепропетровске. Определить самую большую отрицательную и самую маленькую положительную температуры.


2. Решение задачи в ее предметной области:


Создадим массив T12, где хранится среднемесячная температура для каждого из 12 месяцев в г. Днепропетровске. Создадим массивы А и В. Из массива Т12 перенесем все отрицательные элементы в массив А, а все положительные элементы в массив В. В массиве А найдем самую большую отрицательную температуру, а в массиве В - самую большую положительную температуру.


3. Проектируем структуры данных (их имена и типы).


Понятно, что все имена массивов с их типами, входящие в условие задачи, нужно описать в программе.Кроме того, нам понадобятся: переменная цикла i
, количество отрицательных элементов K
olOtric
, , количество положительных элементов K
olPolozh
, самая большая отрицательная температураMax
и самая маленькая положительная температура Min
и – все типа Integer.


Значит в разделе описаний программы, назовем ее ALENA5
, с учетом требований о необходимости обеспечения легкочитаемости программы и размещения необходимых комментариев, поместим следующие описания:


Type


VectorType= Array[1..12] of integer;


Var


A, {massiv dlya hranenija otric. chisel}


B, {massiv dlya hranenija polozh. chisel}


T12:VectorType; {massiv dlya hraneniya vektora}


i, {parametr cikla}


kolOtric, {kolichestvo otric. elementov}


kolPolozh, {kolichestvo polozhitelnih elementov}


Max, {samaya bol'shaya otric. temper.}


Min:integer; {samaya mal. polozhit. temper}


4. Проводим нисходящую разработку (проектирование) программы методом пошаговой детализации с помощью псевдокода
.

Воспользуемся результатами для получения первой версии алгоритма:


Ввести данные ALENA5


Выполнить вычисления ALENA5


Вывести результаты ALENA5


С учетом требований к «дружественности» интерфейса, детализация псевдокода Ввести данные
ALENA5
дает следующее:


Вывести на экран приглашение для ввода массива T12


Ввести массив T12


Детализация псевдокода Выполнить вычисления
ALENA5


дает следующее:


Определить отрицательные элементы T12 и переписать в массив

А


Определить положительные элементы T12 и переписать в массив В


Найти наибольший отрицательный элемент массива А или доказать, что его не существует


Найти наименьший положительный элемент массива В или доказать, что его не существует


Детализация псевдокода Вывести результаты
ALENA5
дает следующее:


Вывести наибольший отрицательный элемент массива T12


Вывести наименьший положительный элемент массива T12


5. Выполняем структурное программирование
с использованием стандартных приемов:


BEGIN


CLRSCR; {ochicshaem ekran}


Writeln('Vvedite 12 elementov vectora T12: ');


for i:=1 to 12 do {organizovivaem cikl po kolichestvu elementov}


begin


Write ( ' T12 [ ' , i , ' ] = ') ; {Udobno videt' nomera elementov}


Readln (T12[i])


end;


Writeln; {Ustanavlivaem kursor na novuju stroku}


{perenosim otric. elementi iz T12 v A }


KolOtric:=0;


for i:=1 to 12 do


If T12[i]<0 then


begin


KolOtric := kolOtric + 1;


A[KolOtric] := T12[i];{zanosim po etomu nomeru}


end;


{perenosim polozhitelnie elementi iz T12 v B}


KolPolozh :=0;


fOR I:=1 TO 12 DO


If T12[i]>0 then


begin


KolPolozh := KolPolozh + 1;


B[KolPolozh] := T12[i];{zanosim po etomu nomeru}


end;


{opredelyaem samuju bol'shuju otric. temperaturu}


if ( KolOtric >= 1 ) then


begin


Max:= A[1]; {Chitaem, chto eto pervij element massiva}


if ( KolOtric > 1 ) then


for i:=2 to KolOtric do {poetomu nachinaem obrabotku so 2-go elementa}


If A[i] > Max then {sravnivaem s tekush. max otric. znach}


Max := A[i]; {zapominaem samoe bol'shoe otric. znach}


Writeln ('samaja bolshuju otric. temperatura Max= ', Max);


end


else


Writeln('Otricatelnyh znacheniy net');


{opredelyaem samuju malen'kuju polozhit. temperaturu}


if ( KolPolozh >= 1 ) then


begin


Min:= B[1]; {Chitaem, chto eto pervij element massiva}


if ( KolPolozh > 1 ) then


for i:=2 to KolPolozh do {poetomu nachinaem obrabotku so 2-go elementa}


If B[i] < Min then {sravnivaem s tekush. min.polozh. znach}


Min := B[i]; {zapominaem samoe maloe polozh. znach}


Writeln ('samaja malaja polozh. temperatura Min= ', Min);


end


else


Writeln('Polozhitelnyh znacheniy net');


{Vividim rezultat}


Readln


End.


6.
Отладка программы.



Рис. 1. Результат работы программы



Рис. 2. Результат работы программы


7. Тестирование программы.


Тестовый пример для нашей задачи будет включать два варианта:


Пример1:


При


T12[1] = 1, T12[2]=-2, T12[3]=3, T12[4]=-4, T12[5]=5, T12[6]=-6, T12[7]=7, T12[8]=-8, T12[9]=9, T12[10]=-10, T12[11]=11, T12[12]=-12.


Как мы видим, самая большая отрицательная температура у нас T12[2]=-2, а самая малая положительная T12[1] = 1.



Рис. 3. Результат тестирования программы( пример 1)


Пример

2:


При


T12[1] = -1, T12[2]=2, T12[3]=-3, T12[4]=4, T12[5]=-5, T12[6]=6, T12[7]=-7, T12[8]=8, T12[9]=-9, T12[10]=10, T12[11]=-11, T12[12]=12.


Как мы видим, самая большая отрицательная температура у нас T12[1]=-1, а самая малая положительная T12[2]=2.



Рис. 4. Результат тестирования программы( пример 2)

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Основы программирования и алгоритмические языки

Слов:857
Символов:8264
Размер:16.14 Кб.