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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

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

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

Государственный горный институт

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

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

Кафедра ПЗКС

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

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

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

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

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

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

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

ВЫПОЛНИЛА:

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

Иванова Е.И.

ПРОВЕРИЛА:

помощник кафедры ПЗКС

Попова Т.С.

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

2006


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

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

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

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

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

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

, , количество положительных частей

, наибольшая отрицательная температура
и самая малая положительная температура
и – все типа Integer.

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

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. Проводим
.

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

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

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

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

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

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

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

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

Детализация псевдокода

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

Найти отрицательные элементы T12 и переписать в массив А

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

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

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

Детализация псевдокода

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

Вывести больший отрицательный элемент массива 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)

]]>