Автор: Пользователь скрыл имя, 15 Октября 2013 в 17:31, курсовая работа
Моделирование прочно закрепилось на промышленных предприятиях, заняв почетное место важного, современного и экономичного этапа подготовки и анализа производственных процессов. Создаются отделы, набирается инженерный состав. Некоторые предприятия официально запретили внедрение технологий, не подтвержденных соответствующими расчетами, выпустив нормативные документы, регламентирующие отношения между служителями CAE и производственными службами.
1. Введение
2. Обработка массивов
2,1. Задание
2,2. Массивы
2,3. Сортировка массивов
2,4. Алгоритм решения задачи
2,5. Программа в паскале
2,6. Результаты вычислений
3. Заключение
4. Список литературы
Минобрнауки России
Федеральное государственное бюджетное образовательное
учреждение высшего
«Ижевский государственный технический университет
им. М. Т. Калашникова»
(ИжГТУ)
КУРСОВАЯ РАБОТА
по информатике
Студент: Акманов Д.С. Преподаватель: Дресвянников Д.Г.
группа Б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: Опыт преподавания и широта взгляда М.: Диалог-МИФИ