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

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

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

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

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

КафедраПЗКС

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

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

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

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

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

 

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

 

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

 

ВЫПОЛНИЛА:

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

Иванова Е.И.

ПРОВЕРИЛА:

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

                                                                                            Попова Т.С.

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

2006


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

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

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

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

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

Понятно, что все имена массивовс их типами, входящие в условие задачи, нужно описать в программе.Крометого, нам понадобятся: переменная цикла i, количество отрицательных элементов KolOtric,, количество положительныхэлементов KolPolozh, самая большая отрицательнаятемпература 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-goelementa}

        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-goelementa}

        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)

еще рефераты
Еще работы по информатике, программированию