Реферат по предмету "Разное"


«Разработка программных средств автоматизации технических и технологических расчетов в среде Pascal»

Федеральное агентство по образованию РФ ГОУВПО «Воронежский государственный технический университет»Авиационный факультет кафедра «Нефтегазового оборудования и транспортировки»КУРСОВАЯ РАБОТА по дисциплине информатика на тему: «Разработка программных средств автоматизации технических и технологических расчетов в среде Pascal»Выполнил: студент группы НГД-091 Шайдоров М.А. Проверил: ассистент Огурцов П.В.Воронеж 2010 Замечания руководителяСодержание Введение...................................................................................................4 1.Постановка задачи................................................................................8 2.Описание алгоритма.............................................................................8 3.Листинг программы..............................................................................9 4.Описание программы..........................................................................13 5.Структурная схема..............................................................................17 6.Входные и выходные данные...............................................................20 7.Инструкция пользователя...................................................................21 8.Текстовый пример выполнения программы.......................................22 Заключение...........................................................................................22 Список используемой литературы......................................................23Введение Первые сложные многоцелевые вычислительные устройства появились еще в XIX веке. Тогда же возникла необходимость в разработки программ для них, и впервые с такой задачей столкнулась легендарная Ада Лавлейс, работавшая с вычислительной машиной Чарльза Бэббиджа, которая называлась «Машина для исчисления разностей» («Difference Engine»). Но настоящие языки программирования появились все-таки в эпоху электронных вычислительных машин (ЭВМ). Считают, что первый язык программирования – это язык Short Code, появившийся в 1949 году. Программисты, работавшие на первых моделях ЭВМ, вынуждены были программировать в машинных кодах. Для того чтобы представить, насколько это было «удобно», приведу фрагмент (примерно одну десятую часть!) программы, которая выводит на экран приветствие «Hello, world!»: 457f464c010100010000000000000000200000300010000003d008000340000069800000000000000003400200050000280000160013000600000340000034080000000a0000a0000005000000040000000003000000d400000000d4000080000000000001300000000001300000004000000010000000001000000000000000080000000000000000004f50000000000000000004f50000000000050000010000000000000100000004f8000000014f808000000000000c40000000c800000060000001000000000000000020000000052c00000015200080000000000090000000090000000060000004000006c2f62696c2f2d64696c756e2e786f73312e0000000011000000000011000000000000000000000000000e0000000a00000000000000… Первыми языками программирования высокого уровня были Фортран, Кобол и Алгол, появившиеся в 50-е годы XX века. Первые два из них «здравствуют» и по ныне – это языки-долгожители, а Алгол стал родоначальником целого семейства языков, в числе которых и Паскаль. В настоящее время на-считывается несколько тысяч языков программирования, большая часть из которых имеет довольно узкую специализацию. Говорят, что, как только появился второй язык программирования, начались бурные споры о том, ка-кой язык лучше! Эти споры идут и поныне, принимая иного характера религиозных войн древности. На рис.1 схематически представлена история создания языков программирования. Рис.1 - История создания языков программирования Особое место среди языков программирования занимает АЛГОЛ, первая версия которого явилась в 1958 году. Одним из разработчиков АЛГОЛа был «отец» ФОРТРАНа Джон Бэкус. Название языка ALGorithmic Language подчёркивает то обстоятельство, что он предназначен для записи алгоритмов. Благодаря четкой логической структуре АЛГОЛ стал стандартным средством записи алгоритмов в научной и технической литературе. Последующими версиями языка стали АЛГОЛ 60 и АЛГОЛ 68. АЛГОЛ 68 оказался излишне громоздким, что создавало большие трудности в его реализации. Один из членов комитета, занимавшегося разработкой спецификации, - швейцарский ученый Никлаус Вирт – протестовал против ее принятия. Он оказался прав – АЛГОЛ 68 стал «лебединой песней» некогда самого популярного языка программирования, однако АЛГОЛ дал начало целой ветви языков (рис.0.2). В 1967 году Вирт создал свою версию – АЛГОЛ W. Это было связано с необходимостью найти такой язык программирования, который можно было бы использовать для обучения студентов методам разработки программ, таким как «программирование сверху вниз», «структурное программирование» и т.д. Вирту не понравился ни один из существовавших в то время языков, и в 1968 году он приступил к разработке своего собственного. В 1970 году в мире программирования произошли по крайней мере два великих события – появилась операционная система UNIX и новый язык программирования. Вирт назвал его в честь великого французского математика и религиозного философа XVII века Блеза Паскаля. Паскаль изобрел вычислительное устройство, именно поэтому новому языку было присвоено его имя. Вирт настаивал впоследствии, что название языка должно начинаться с заглавной буквы – как фамилия. Первая версия языка была создана для компьютера CDC 6000. Благодаря своей честности, логичности и другим особенностями Паскаль надолго занял свою нишу, являясь прекрасным языком для обучения программированию. Паскаль использовался и для разработки серьезных программ-приложений. Шутили, что Вирт разработал игрушку, но многие отнеслись к ней слишком серьезно. В 1975 году вновь два события стали вехами в истории программирования – Билл Гейтс и Пол Ален заявили о себе, разработав свою версию бейсика, а Вирт и Йенсен выпустили классическое описание языка «Pascal User Manual and Report». Впоследствии появились различные версии языка и его расширения. Наиболее известным расширением стал пакет Турбо Паскаль фирмы Borland, появившейся в 1983 году и сразу ставший событием в мире компьютерных технологий. Первое упоминание о нем содержалось в рекламе, опубликованный в журнале BYTE, а сам пакет предназначался для операционной системы CD/M. В начале 1984 года он был перенесён в сферу MS-DOS и приобрел огромную популярность. С тех пор появилось несколько версий Турбо Паскаля. Рис.2 — Развитие языков программирования Фирма Borland/ Inprise завершила линию продуктов Турбо Паскаль и перешла к выпуску системы визуальной разработки для Windows – Delphi. Не смотря на это, Турбо паскаль сохраняет свое значение отличного языка для первого знакомства с миром «серьезного» программирования. Это связано как с его четкой логической структурой, так и с теми возможностями, которые позволяют использовать Турбо Паскаль для решения разнообразных задач. Среди них вычисления и обработка данных, компьютерная графика, работа со звуком, системное программирование. Турбо Паскаль позволяет применять приемы объектно-ориентированного программирования, которое стало одной из ведущих современных технологий программирования.1. Постановка задачи Дана последовательность чисел a из n элементов. Составить программу поиска двух наибольших по модулю значений элементов. Элементы, расположенные между двумя найденными максимальными, разделить на найденный элемент с большим номером, если он находится в первой половине последовательности. В противном случае оставить последовательность без изменения. Начальные, найденные значения элементов, их индексы и преобразованную последовательность напечатать в строку. 2. Описание алгоритма Алгоритм решения задачи состоит из двух частей: поиск двух наибольших по модулю значений элементов; преобразование массива путем деления элементов, находящихся между элементами с наибольшим значением, на найденный элемент с большим номером, если он находится в первой половине последовательности, в противном случае последовательность остается без изменения.^ Поиск двух наибольших по модулю значений элементов. На первом этапе находим максимальный по значению элемент массива, используя цикл с предусловием, и запоминаем индекс этого элемента. На втором этапе находим второй максимальный по значению элемент, используя цикл с предусловием, при этом исключая с помощью условия уже найденный элемент, и запоминаем его индекс. Нахождение 2 наибольших по значению элементов массива. Переменные: а — массив, состоящий из n элементов; Max1 - первый из 2 наибольших по значению элементов; Max2 – второй из 2 наибольших по значению элементов; n — количество элементов; i — индексы элементов массива; t,j – переменные, используемые для запоминания индексов максимальных элементов массива. Расчет: ...Max1:=-1; For i:=1 to n do begin If a[i]>Max1 then begin Max1:=a[i]; t:=i end end; Max2:=-1; For i:=1 to n do begin If (a[i]>Max2) and (it) then begin Max2:=a[i]; j:=i; end end;...Преобразование массива путем деления элементов, находящихся между элементами с наибольшим значением, на найденный элемент с большим номером, если он находится в первой половине последовательности, противном случае оставить последовательность без изменения. Для преобразования массива используем 2 условия, с помощью которых определим, какой из двух наибольших по значению элементов находится правее в линейном массиве. После выполнения одного из условий, используя цикл, ограничим элементы, находящиеся между 2 наибольшими, и разделим все из них на найденный элемент с большим номером, если он находится в первой половине последовательности, в противном случае оставим последовательность без изменения. Преобразование массива. Переменные: Max1 - первый из 2 наибольших по значению элементов; Max2 – второй из 2 наибольших по значению элементов; n — количество элементов; i — индексы элементов массива; t, j – переменные, используемые для запоминания индексов максимальных элементов массива; а — массив, состоящий из n элементов. Расчет: ...If (t>j) and (t begin For i:=j+1 to t-1 do a[i]:=a[i]/a[t] end; If (t begin for i:=t+1 to j-1 do a[i]:=a[i]/a[j] end;...3. Листинг программы Program Massiv; Label F; Const k=50; var i,j,n,t: integer; Max1, Max2: real; a: array [1..k] of real; begin Max1:=0; Max2:=0; F: writeln ('Vvedite kollichestvo elementov posledovatelnosti'); readln (n); If n>50 then goto F; For i:=1 to n do begin writeln ('Vvedite ',i,' element massiva'); readln (a[i]); a[i]:=abs(a[i]); end; For i:=1 to n do begin write ('a[',i,']=',a[i]:2:2,' '); end; writeln; Max1:=-1; For i:=1 to n do begin If a[i]>Max1 then begin Max1:=a[i]; t:=i end end; Max2:=-1; For i:=1 to n do begin If (a[i]>Max2) and (it) then begin Max2:=a[i]; j:=i; end end; If (t>j) and (t begin For i:=j+1 to t-1 do a[i]:=a[i]/a[t] end; If (t begin for i:=t+1 to j-1 do a[i]:=a[i]/a[j] end; For i:=1 to n do begin write ('a[',i,']=',a[i]:2:2,' '); end; writeln; writeln ('a[',t,'] = Max1=',Max1:2:2); writeln ('a[',j,'] = Max2=',Max2:2:2); writeln; readln; end.4. Описание программы Program Massiv; (имя программы) Label F; (раздел описания меток) Const k=50; (раздел описания констант) var (раздел описания переменных) i,j,n,t: integer; (описание целочисленных переменных) Max1, Max2: real; (описание дробных переменных) a: array [1..k] of real; (описание дробных переменных типа массив) begin (начало раздела операторов) Max1:=0; (операция присваивания значения переменной) Max2:=0; (операция присваивания значения переменной) F: writeln ('Vvedite kollichestvo elementov posledovatelnosti'); (начало метки, вывод сообщения на экран) readln (n); (считывание размерности массива)If n>50 then goto F; (условие, при котором массив с заданным пользователем количеством элементов будет создан) For i:=1 to n do (цикл по заполнению массива) begin (начало цикла) writeln ('Vvedite ',i,' element massiva'); (заполнение массива вручную) readln (a[i]); (обработка введенных данных) a[i]:=abs(a[i]); (вычисление модуля каждого элемента) end; (конец цикла) For i:=1 to n do (цикл по выводу массива на экран) begin (начало цикла) write ('a[',i,']=',a[i]:2:2,' '); (вывод массива на экран) end; (конец цикла) writeln; (оператор переноса курсора на следующую строку) Max1:=-1; (операция присваивания значения переменной) For i:=1 to n do (цикл поиска Max1) begin (начало цикла с предусловием) If a[i]>Max1 then (условие поиска Max1) begin (начало цикла в цикле) Max1:=a[i]; (присваивание переменной значения максимального элемента массива)t:=i (присваивание переменной индекса максимального элемента массива) end (конец цикла в цикле) end; (конец цикла) Max2:=-1; (операция присваивания значения переменной) For i:=1 to n do (цикл поиска Max2) begin (начало цикла с предусловием) If (a[i]>Max2) and (it) then (условие поиска Max2) begin (начало цикла в цикле) Max2:=a[i]; (присваивание переменной значения 2 максимального элемента массива) j:=i; (присваивание переменной индекса максимального элемента массива) end (конец цикла в цикле) end; (конец цикла) If (t>j) and (t цикла) begin (начало цикла) For i:=j+1 to t-1 do (цикл с предусловием по преобразованию массива) a[i]:=a[i]/a[t] (преобразование элементов массива в зависимости от условия) end; (конец цикла) If (t цикла) begin (начало цикла) for i:=t+1 to j-1 do (цикл с предусловием по преобразованию массива) a[i]:=a[i]/a[j] (преобразование элементов массива в зависимости от условия) end; (конец цикла) For i:=1 to n do (цикл по выводу массива на экран) begin (начало цикла) write ('a[',i,']=',a[i]:2:2,' '); (вывод массива на экран) end; (конец цикла) writeln; (оператор переноса курсора на следующую строку) writeln ('a[',t,'] = Max1=', Max1:2:2); (вывод значения элемента на экран) writeln ('a[',j,'] = Max2=', Max2:2:2); (вывод значения элемента на экран) writeln; (оператор переноса курсора на следующую строку) readln; (обработка данных) end. (конец раздела операторов)5. Структурная схема 6. Входные и выходные данные К входным данным программы относятся: k — максимальное количество элементов массива; n - количество элементов массива; а — массив, заполняемый вручную. Выходные данные: а — преобразованный массив; Max1, Max2 – значения максимальных элементов.Вид рабочего листа представлен на рис.3 Рис.3 - Вид рабочего листа7. Инструкция пользователя Открыв файл с программой, перед нами появляется сама программа, интерфейс которой состоит из нескольких частей ( рабочая панель, главное меню, меню сочетания клавиш - основных команд языка Турбо Паскаль). Для запуска программы будем использовать сочетание клавиш: Ctrl+F9 или в главном меню выбираем команду Run- run. Если программа запустилась, убеждаемся в ее правильности. Для просмотра результатов набираем Alt+F5. Выход из окна просмотра результатов осуществляется с помощью клавишей Esс.8. Текстовый примерРис.4 - Вид рабочего листаЗаключение В результате работы над курсовым проектом мною была разработана программа позволяющая искать 2 наибольших по значению элемента в массиве, в зависимости от полученных результатов преобразовывать массив. Прогонка программы на различных исходных данных показала её полную работоспособность. Результаты работы выводятся в окно просмотра результатов программы. Кроме полученных практических результатов при выполнении курсовой работы были освоены некоторые приемы программирования на языке Turbo Pascal: работа с одномерными массивами, вывод одномерных массивов.Список использованной литературы 1.Алексеев А.П. Информатика 2007. - М.: СОЛОН-ПРЕСС, 2007. - 608с. 2. Бородкин К.В. Информатика. Индивидуальный практикум и курсовое проектирование: Учебное пособие / К.В. Бородкин, А.И. Болдырев, В.В. Бородкин - Воронеж: Воронежский государственный технический университет, 2002. - 76с.


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.