Матрица. Обработка массивов
Курсовая работа, 15 Октября 2013, автор: пользователь скрыл имя
Краткое описание
Моделирование прочно закрепилось на промышленных предприятиях, заняв почетное место важного, современного и экономичного этапа подготовки и анализа производственных процессов. Создаются отделы, набирается инженерный состав. Некоторые предприятия официально запретили внедрение технологий, не подтвержденных соответствующими расчетами, выпустив нормативные документы, регламентирующие отношения между служителями CAE и производственными службами.
Оглавление
1. Введение
2. Обработка массивов
2,1. Задание
2,2. Массивы
2,3. Сортировка массивов
2,4. Алгоритм решения задачи
2,5. Программа в паскале
2,6. Результаты вычислений
3. Заключение
4. Список литературы
Файлы: 1 файл
akmanov.docx
— 30.49 Кб (Скачать)Минобрнауки России
Федеральное государственное бюджетное образовательное
учреждение высшего
«Ижевский государственный технический университет
им. М. Т. Калашникова»
(ИжГТУ)
КУРСОВАЯ РАБОТА
по информатике
Студент: Акманов Д.С. Преподаватель: Дресвянников Д.Г.
группа Б1-712-1зШ Оценка__________________
Ижевск 2013
Содержание:
1. Введение
2. Обработка массивов
2,1. Задание
2,2. Массивы
2,3. Сортировка массивов
2,4. Алгоритм решения задачи
2,5. Программа в паскале
2,6. Результаты вычислений
3. Заключение
4. Список литературы
1. Введение
Моделирование прочно закрепилось на промышленных предприятиях, заняв почетное место важного, современного и экономичного этапа подготовки и анализа производственных процессов. Создаются отделы, набирается инженерный состав. Некоторые предприятия официально запретили внедрение технологий, не подтвержденных соответствующими расчетами, выпустив нормативные документы, регламентирующие отношения между служителями CAE и производственными службами. Но при этом у моделирования появились и некоторые обязанности, одна из которых — выполнение всех поставленных задач в заданные сроки.
А вот это не так просто. Расчеты, проводимые даже на современных компьютерах, могут длиться несколько дней и даже недель. Обратимся к примерам. Длительность расчета в системе моделирования процесса литья металлов ProCAST зависит от количества элементов в расчетной модели, качества конечно-элементной сетки и заданных параметров расчета (шаг по времени, количество расчетных полей и т.п.). Предположим, что качество сетки удовлетворяет требованиям алгоритмов и все параметры заданы правильно. Тогда при стандартном наборе решателей (моделируется заполнение формы расплавом, охлаждение и прогноз пористости) длительность расчета технологического процесса для несложной отливки составит от двух до трех дней — в зависимости от количества элементов. Если добавить к стандартному набору решателей расчет напряжений или модель микроструктуры, время расчета увеличится уже до трех-четырех дней. И это при условии, что расчет идет стабильно. Если же предположить, что расчетная сетка окажется не совсем хорошего качества, велика вероятность возникновения проблем с устойчивостью и сходимостью при работе гидродинамического модуля. Это чревато непрогнозируемым увеличением времени расчета, а то и полной остановкой процесса.
Не следует также забывать, что ситуация, при которой первый же расчет дает ответ на все вопросы, встречается на производстве крайне редко — как правило, требуется серия расчетов. Зато куда как чаще случается так, что задание, полученное сегодня, было бы лучше выполнить еще вчера. Поэтому вопрос о сокращении сроков проведения расчетов стоит достаточно остро.
2. Обработка массивов
2,1. Задание
В массиве
целых положительных и
2,2. Массивы
Массивом называется- совокупно
Одномерные массивы
Алгоритмы сортировки одномерных массивов. Сортировка - один из наиболее распространённых процессов современной обработки данных. Сортировкой называется распределение элементов массива в соответствии с определёнными правилами. Например, сортировка массива по возрастанию или убыванию его элементов. Обменная сортировка (метод "пузырька"). Алгоритм начинается со сравнения 1-го и 2-го элементов массива.
Если 2-й элемент меньше 1-го, то они меняются местами. Этот процесс повторяется для каждой пары соседних элементов массива, пока все N элементов не будут обработаны. За один "проход" массива самый большой элемент встанет на старшее (N-е) место. Далее алгоритм повторяется, причем например "проходе" первые (N-p) элементов сравниваются со своими правыми соседями. Если на очередном "проходе" перестановок не было, то алгоритм свою работу закончил. Таким образом, самые "легкие" элементы в процессе исполнения алгоритма постепенно "всплывают".
Двумерные массивы Паскаля – матрицы
Двумерный массив в Паскале
трактуется как одномерный массив,
тип элементов которого также
является массивом (массив массивов). Положение
элементов в двумерных массивах
Паскаля описывается двумя
Для работы с массивом как единым целым используется идентификатор массива без указания индекса в квадратных скобках. Массив может участвовать только в операциях отношения "равно", "не равно" и в операторе присваивания. Массивы, участвующие в этих действиях, должны быть идентичны по структуре, т. е. иметь одинаковые типы индексов и одинаковые типы компонентов. Например, если массивы А и В описаны как var А, В: array[1..20] of real; то применение к ним допустимых операций даст следующий результат: выражение результат А=В True, если значение каждого элемента массива А равно соответствующему значению элемента массива ВА<>ВTrue, если хотя бы одно значение элемента массива А не равно значению соответствующего элемента массива ВА:=В все значения элементов массива В присваиваются соответствующим элементам массива А. Значения элементов массива В остаются неизменны.
Действия над элементами массива После объявления массива каждый его элемент можно обработать, указав идентификатор (имя) массива и индекс элемента в квадратных скобках. Например, запись Mas[2], VectorZ[10] позволяет обратить- ся ко второму элементу массива Mas и десятому элементу массива VectorZ.
При работе с двумерным массивом указываются два индекса, с n-мерным массивом - n индексов. Например, запись MatrU[4,4] дела- ет доступным для обработки значение элемента, находящегося в чет- вертой строке четвертого столбца массива MatrU. Индексированные элементы массива называются индексированными пе- ременными и могут быть использованы так же, как и простые пере- менные. Например, они могут находиться в выражениях в качестве операндов, использоваться в операторах for, while, repeat, вхо- дить в качестве параметров в операторы Read, Readln, Write.
2,3. Сортировка массивов
По-видимому, самым простым методом сортировки является так называемый метод "пузырька". Чтобы уяснить его идею, представьте , что массив (таблица) расположен вертикально. Элементы с большим значением всплывают вверх наподобие больших пузырьков. При первом проходе вдоль массива, начиная проход "снизу", берется первый элемент и поочередно сравнивается с последующими. При этом:
если встречается более "легкий" (с меньшим значением) элемент, то они меняются местами;
при встрече с более "тяжелым" элементом, последний становится "эталоном" для сравнения, и все следующие сравниваются с ним .
В результате наибольший элемент оказывается в самом верху массива.
Во время второго
прохода вдоль массива
Заметим, что при втором и последующих проходах, нет необходимости рассматривать ранее "всплывшие" элементы, т.к. они заведомо больше оставшихся. Другими словами, во время j-го прохода не проверяются элементы, стоящие на позициях выше j.
Сортировка вставками
Второй метод называется метод
Сортировка посредством выбора
Идея сортировки с помощью выбора не сложнее двух предыдущих. На j-ом этапе выбирается элемент наименьший среди M[j], M[j+1],. . ., M[N](см. процедуру FindMin) и меняется местами с элементом M[j]. В результате после j-го этапа все элементы M[j],M[j+1],. . ., M[N]будут упорядочены.В программе, как уже было сказано, используется процедура FindMin, вычисляющая индекс lowindex элемента, наименьшего среди элементов массива с индексами не меньше, чем startindex:
2,5. Программа в паскале
program zadanie_vtoroe;
uses crt;
var
a : array[1..5, 1..5] of longint;
b : array[1..25] of longint;
i, j, z : integer;
S4, Sg : longint;
begin
clrscr;
randomize;
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
a[i,j]:= random(500)+(-250);
write(a[i,j]:5,' ');
end;
writeln;
end;
S4:=0;
Sg:=0;
for i:=1 to 5 do
begin
S4:=S4+a[4,i];
Sg:=Sg+a[i,i];
end;
writeln('summa4=', S4);
writeln('summa glavnoi diagonali=', Sg);
if Sg>S4
then
begin
writeln('summa glavnoi diagonali bolshe summi 4-oi stroki');
for i:=1 to 5 do
for j:=1 to 5 do
if(a[i,j] mod 2=0) and (a[i,j]>0)
then
a[i,j]:=2*a[i,j];
for i:=1 to 5 do
begin
for j:=1 to 5 do
begin
write(a[i,j]:5,' ');
end;
writeln;
end;
readln;
end
else
begin
writeln('s4>sd');
for i:=1to 5 do
for j:=1 to 5 do
if (a[i,j]<0) and (a[i,j] mod 2<>0)
then
begin
z:=z+1;
b[z]:=a[i,j];
end;
for i:=1 to z do
begin
write(b[i]:5,' ');
writeln;
end;
readln;
end;
end.
2,6. Результаты вычислений
242 95 203 -27 -19
-113 -186 184 70 -12
231 -22 121 -177 -20
137 -134 -168 -184 87
-216 -178 182 -179 -108
summa4=-262
summa glavnoi diagonali=-115
summa glavnoi diagonali bolshe summi 4-oi stroki
484 95 203 -27 -19
-113 -186 368 140 -12
231 -22 121 -177 -20
137 -134 -168 -184 87
-216 -178 364 -179 -108
232 -165 233 180 -32
-191 28 -123 -123 -80
193 -235 -194 74 -53
166 -104 190 82 -78
149 230 167 -109 -13
summa 4=256
summa glavnoi diagonali=135
s4>sd
-165
-191
-123
-235
-53
-109
-13
3. Заключение
Вычислительная техника используется сейчас не только в инженерных расчетах и экономических науках, но и таких традиционно нематематических специальностях, как медицина, лингвистика, психология. В связи с этим можно констатировать, что применение ЭВМ приобрело массовый характер. Возникла многочисленная категория специалистов - пользователей ЭВМ, которым необходимы знания по применению ЭВМ в своей отрасли - навыки работы с уже имеющимся программным обеспечением, а так же создания своего собственного ПО, приспособленного для решения конкретной задачи. И здесь на помощь пользователю приходят описания языков программирования высокого уровня и численные методы.
ЧМ разрабатывают и исследуют, как правило, высококвалифицированные специалисты-математики. Для большинства пользователей главной задачей является понимание основных идей и методов, особенностей и областей применения.
Однако, пользователи хотят работать с ЭВМ не только как с высокоинтеллектуальным калькулятором, а еще и как с помощником в повседневной работе, хранилищем информации с быстрым и упорядоченным доступом, а так же с источником и обработчиком графической информации.
4. Список литературы
1. Перминов О. Н. Язык программирования Паскаль : Справочник. — М.: Радио и связь, 1989
2. Майоров А.А. Компьютер и Интернет, Росмэн-Пресс, 2001.
3. Перевод с англ. Ли К., Основы САПР (CAD/CAM/CAE), С.-П.: Питер,
4. Хейфец А.Л., Инженерная компьютерная графика. AutoCad: Опыт преподавания и широта взгляда М.: Диалог-МИФИ