Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

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

Работа добавлена на сайт samzan.net:


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

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

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

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

Кафедра ПЗКС

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

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

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

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

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

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

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

ВЫПОЛНИЛА:

студент группы КС-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-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)




1. Objects. nuc explosion is ccompnied lso by tremendous output of initil nucler rdition
2. это всего лишь пока нежизнеспособный обрубок разваленного СССР
3. тема екх поглядів ~ сукупність економічних ідей що роз~ясняють сутність певного кола явищ взаємопов~язани
4. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата медичних наук Київ ~ Дисертаці
5. Тема 14- Анализ отчетность аудит в сфере труда 1237141822 1
6. Действие которое происходит с некоторой регулярностью
7. тема на титульном листе указывается точно так же как и в приказе вместе со и с на материалах Задани.html
8. темам регламентированы ГОСТ 2289577 и международными правилами Правила ’ 13 ЕЭК ООН
9. НА ДНЕ Пьеса МГорького
10. Большое ухо Парижа выпущенной издательством Юридическая литература
11. Занятость и безработица
12. Однако и в этом заключалась их определенная заслуга поскольку многие шедевры греческого искусства дошли до
13. Навіщо мені новий планшет Я одразу зацікавився можливістю виграти планшет коли почув у школі про конк
14. Региональная инфраструктура
15.  Общие положения 15
16. Шпаргалка- Построение циклических кодов
17. Речной флот СССР в 60-80е годы ХХ века
18. педагогічний факультет Кафедра культурології та методики викладання культурологічних дисциплін
19. тема сбора регистрации и обобщения информации в денежном выражении об имуществе и обязательствах предприят
20. практиканта Обучающийся ся