Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кочетов Дима)))))).doc
Скачиваний:
12
Добавлен:
06.07.2019
Размер:
157.18 Кб
Скачать

Федеральное агентство по образованию РФ

ГОУВПО «Воронежский государственный технический университет»

Авиационный факультет

кафедра «Нефтегазового оборудования и транспортировки»

КУРСОВАЯ РАБОТА

по дисциплине информатика

на тему: «Разработка программных средств автоматизации

технических и технологических расчетов в среде Pascal»

Выполнил: студент группы НГД-101 (б)

Кочетов Д.С.

Проверил: ст. преподаватель Огурцов П.В.

Воронеж 2011

Замечания руководителя

Содержание

Введение...................................................................................................4

1.Постановка задачи................................................................................8

2.Описание алгоритма.............................................................................8

3.Листинг программы..............................................................................10

4.Описание программы..........................................................................13

5.Структурная схема..............................................................................17

6.Входные и выходные данные...............................................................21

7.Инструкция пользователя...................................................................22

8.Текстовый пример выполнения программы.......................................23

Заключение...........................................................................................23

Список используемой литературы......................................................24

Введение

Первые сложные многоцелевые вычислительные устройства появились еще в 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. Постановка задачи

Дана таблица чисел А размером М*М. Сформировать линейный массив, элементами которого являются максимальные значения элементов каждой строки и минимальные значения элементов каждого столбца (предполагается, что в каждой строке и в каждом столбце по одному такому элементу). В сформированном линейном массиве вычислить произведение положительных элементов и найти элемент минимально удаленный по величине от этого произведения. Найденный элемент удалить из массива. Найденные значения, сформированный и преобразованный массив напечатать.

2. Описание алгоритма

1 Ввод количество элементов в массив;

2 Ввод элемента массива ,вывод элемента на экран;

3 Цикл по присвоению МАХ значения;

4 Присвоение х[i]:=МАХ;

5 Цикл по поиску Min;

6 Присвоение массиву Min значения;

7 Вывод линейного массива на экран;

8 Цикл по вычислению,поизведения в одномерном массиве;

9 Вывод произведения;

10 Вывод найденного массива на экран;

Mas- квадратичный массив ,Состоящий из m и n элементов;

х — массив, состоящий из n элементов;

Max – максимальное значение элементов по модулю;

Min – минимальное значение элементов по модулю;

n — количество элементов;

m – количество элеменов;

I,j — индексы элемента массива;

M, t , p , сh – переменные.

Расчет:

for i:=1 to M do begin

for j:=1 to M do begin

write('mas[',i,'][',j,']= ');

read(mas[i][j]);

end;

end;

for i:=1 to M do begin

for j:=1 to M do

write(mas[i][j],' ');

writeLn('');

end;

for i:=1 to M do begin

max:=mas[i][1];

for j:=1 to M do begin

if mas[i][j]>=max then

max:=mas[i][j];

end;

X[i]:=max;

end;

При помощи этого цикла находим - искомый линейный массив.

Преобразование массива.

Переменные:

Маs –квадратичный массив состоящий из [i] [j] ;

Min – минимальное значение элементов по модулю;

I, j — индексы элементa массива;

M,t – переменные.

x — линейный массив.

Расчет:

end;

t:=i+1;

for j:=1 to M do begin

min:=mas[1][j];

for i:=1 to M do begin

if mas[i][j]<=min then

min:=mas[i][j];

end;

X[t]:=min;

t:=t+1;

end;

3. Листинг программы

Program Prog41;

uses crt;

var

mas:array[1..100,1..100] of integer;

X:array[1..100] of integer;

M,i,j,max,min,t,P,Index:integer;

ch:char;

begin

clrscr;

write('Vvedite M=');

readLn(M);

for i:=1 to M do begin

for j:=1 to M do begin

write('mas[',i,'][',j,']= ');

read(mas[i][j]);

end;

end;

for i:=1 to M do begin

for j:=1 to M do

write(mas[i][j],' ');

writeLn('');

end;

for i:=1 to M do begin

max:=mas[i][1];

for j:=1 to M do begin

if mas[i][j]>=max then

max:=mas[i][j];

end;

X[i]:=max;

end;

t:=i+1;

for j:=1 to M do begin

min:=mas[1][j];

for i:=1 to M do begin

if mas[i][j]<=min then

min:=mas[i][j];

end;

X[t]:=min;

t:=t+1;

end;

write('Iskomui lineinui masiv= ');

for i:=1 to M*2 do

write(X[i],' ');

writeLn('');

P:=1;

for i:=1 to M*2 do begin

if X[i]>0 then

P:=P*X[i];

end;

writeLn('Proizvedenie= ',P);

max:=X[1];

for i:=1 to M*2 do begin

if X[i]>=max then begin

max:=X[i];

Index:=i;

end;

end;

writeLn('Minemalno ydolennoe 4islo= ',max);

write('Poly4ennui massiv= ');

for i:=1 to M*2 do begin

if i<>Index then

write(X[i],' ');

end;

readln(ch);

end.