Заполнение матрицы и вычисление минимального элемента на языке Pascal
Понятие массива, индекса и матрицы. Виды массивов и их элементы. Вычисление минимального элемента матрицы. Использование языка программирования Pascal для вывода, ввода и заполнения матрицы построчно. Операторы присваивания, организации ветвления, цикла.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 15.02.2014 |
Размер файла | 210,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Введение
С понятием "массив" приходится сталкиваться при решении научно-технических и экономических задач обработки совокупностей большого количества значений.
Массив - это упорядоченная совокупность однотипных данных. Каждому элементу массива соответствует один или несколько индексов определяющих положение элемента в массиве. Индексы образуют упорядоченные последовательности.
Тип индекса определяет его допустимые значения. В качестве типа индекса может быть указан любой порядковый тип (boolean, char, integer, перечисляемый тип, а также диапазоны этих типов), кроме типа longint и его производных.
В зависимости от количества типов индексов различают: одномерные, двумерные, трехмерные и n-мерные массивы. Двумерные массивы обычно называют матрицами, считая первый индекс - номером строки, а второй - номером столбца.
Элементами массива могут быть данные любого типа, включая структурированные.
Тип элементов массива называется базовым. Особенностью языка Паскаль является то, что число элементов массива фиксируется при описании и в процессе выполнения программы не меняется.
Элементы, образующие массив, упорядочены таким образом, что каждому элементу соответствует совокупность номеров (индексов), определяющих его местоположение в общей последовательности. Доступ к каждому отдельному элементу осуществляется путем индексирования элементов массива. Индексы представляют собой выражения любого скалярного типа (чаще целого), кроме вещественного.
Тип индекса определяет границы изменения значений индекса. Для описания массива предназначено словосочетание array of (массив из).
Двумерным называется массив, элемент которого зависит от его местоположения в строке и в столбце. В общем виде элемент матрицы обозначается как A(I,J), где А -- имя массива, I -- индекс (номер) строки, J -- индекс (номер) столбца.[1]
массив матрица элемент минимальный
1. Теоритическая часть
1.1 Обоснование выбора языка программирования
Pascal можно эффективно реализовать на обычном аппаратном компьютере. Идеология языка включает только те языковые свойства, для которых существуют хорошо изученные и эффективные методики реализации. Во время трансляции почти для всех операций возможен статический контроль типов, так что необходимость в динамическом контроле минимальна, но при этом обеспечивается полная безопасность выполнения. Обычно программа транслируется в выполняемый машинный код, но в некоторых реализациях Pascal результатом трансляции является виртуальный машинный код, который затем интерпретируется и выполняется при помощи некоторого программно-моделируемого интерпретатора. Во время выполнения программ на Pascal центральный стек используется для записей активации подпрограмм, область динамически распределяемой памяти отводится под объекты данных, созданных для прямого манипулирования с помощью переменных-указателей, а область статически распределяемой памяти используется для хранения сегментов кода подпрограмм и вспомогательных подпрограмм из библиотеки поддержки выполнения.[2]
1.2 Детальная постановка задачи
Сущность задачи заключается в составлении нового массива на основании исходного, в котором элементы обратной диагонали будут заполняться нулями, а остальные - 1. С помощью циклов мы должны описать новый массив, который будет использовать данные, введенные с клавиатуры для исходного массива. Результатом реализация программы будет являться вывод на экран квадратной матрицы, с 0 обратной диагонали, а остальные -1.
2 Анализ и проектирование
2.1 Структурная схема программы
2.2 Описание программы
В самом начале была подключена библиотека Crt, так как в ней содержится важная для удобной работы с программой процедура ClrScr.
Program lab2;
uses crt;
Вводятся следующие переменные: i,j -параметры цикла,n,m-размерность матрицы, дополнительная переменная а,b - исходный и искомый массивы.
var a:array[1..100,1..100] of integer;
b:array[1..100] of integer;
n,i,j:integer;
Далее, в разделе операторов, осуществляется ввод размерности матрицы через переменную n.
begin
clrscr;
writeln('dana celochislennaya kvadratnaya matrica, poluchit matricu
elementi obratnoi diagonali ravnie 1, ostalnie 0');
writeln('vvedite razmernost matricy');
readln(n);
writeln('razmernost matricy',n,'x',n);
writeln('vvedite elementi massiva snachala stroki');
Далее осуществляем ввод и вывод на экран исходного массива. Для этого используем циклы for..to, требующихся для заполнения и вывода массива поэлементно. Дополнительно для ввода и вывода используем новый раздел операторов для того чтобы заполнение осуществлялось построчно.
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]);
writeln('ishodnii massiv');
writeln;
for i:=1 to n do
В следующем разделе осуществляем непосредственно сами вычисления.
С помощью цикла for to, для начала мы задаем задачу о поиске нужных элементов в столбце. Также мы указали, что поиск элементов будет осуществляться с 3 элемента массива. Цикл if ..then выполняет условие, по которому будет происходить заполнение нулями обратной диагонали, если она ей является и дальнейшее заполнение остальных единицами.
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin
if i+j=n+1 then a[i,j]:=1 else a[i,j]:=0;
write(a[i,j]:3);
end;
writeln;
end;
После этого используется оператор readkey, для того чтобы не происходил моментальный выход из диалогового окна.
readkey;
После чего, программа завершается. Для выхода из диалогового окна нужно нажать любую клавишу.
Заключение
В данной работе я освоила навыки вычисления минимального элемента матрицы. Изучила вывод, ввод матрицы и заполнение матрицы построчно. Что позволило удобно пользоваться ими в последующем.
Также в этой работе я повторила основы синтаксиса языка Pascal- применение операторов присваивания, операторов организации ветвления, операторов цикла, работа с одномерными массивами, я узнала, что такое массив.
Список литературы
1. Аляев Ю.А., Козлов О.А. Алгоритмизация и языки программирования Pascal, C++ , Visual Basic: Учебно - справочное пособие. - М.: Финансы и статистика, 2004.
2. Вирт Н. Алгоритмы + структуры данных = программы. -- М.: Мир, 1985.
Приложение А
Исходный текст программы
Program lab2;
uses crt;
var a:array[1..100,1..100] of integer;
b:array[1..100] of integer;
n,i,j:integer;
begin
clrscr;
writeln('dana celochislennaya kvadratnaya matrica, poluchit matricu
elementi obratnoi diagonali ravnie 1, ostalnie 0');
writeln('vvedite razmernost matricy');
readln(n);
writeln('razmernost matricy',n,'x',n);
writeln('vvedite elementi massiva snachala stroki');
for i:=1 to n do
for j:=1 to n do
readln(a[i,j]);
writeln('ishodnii massiv');
writeln;
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:3);
writeln;
end;
writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin
if i+j=n+1 then a[i,j]:=1 else a[i,j]:=0;
write(a[i,j]:3);
end;
writeln;
end;
readln;
end.
Приложение Б
Скриншот выполнения программы
Рисунок Б.1 Скриншот выполнения программы для матрицы размерностью 3*3
Размещено на Allbest.ru
...Подобные документы
Описание методов вычисления определителя матрицы. Математическое решение задачи с применением метода исключения Гаусса с выбором главного элемента. Схема алгоритма программы, описание переменных и структур данных, текст программы на языке Pascal.
курсовая работа [438,8 K], добавлен 16.02.2011Основные операции над матрицами. Формирование матрицы из файла. Ввод матрицы с клавиатуры. Заполнение матрицы случайными числами. Способы формирования двухмерных массивов в среде программирования С++. Произведение определенных элементов матрицы.
курсовая работа [537,0 K], добавлен 02.06.2015GetMatrDop как процедура определяет значение элемента транспонированной матрицы дополнений. Знакомство с этапами разработки в среде Turbo Pascal программы сортировки элементов, находящихся на главной диагонали матрицы. Особенности тестирования программы.
курсовая работа [780,4 K], добавлен 20.11.2014Основные сведения о языке программирования Pascal. Листинг программы с комментариями. Диагональ элементов вектора и матрицы. Использование команд ввода-вывода информации. Быстродействие выполнения программы при компиляции. Отражение процессов вычисления.
курсовая работа [1,9 M], добавлен 05.05.2009Составление процедуры для матрицы, разложения матрицы на множители, решения системы линейных уравнений, нахождения определителя матрицы и матрицы с транспонированием. Суть метода квадратного корня. Разложение матрицы на множители. Листинг программы.
лабораторная работа [39,4 K], добавлен 18.09.2012Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.
курсовая работа [115,5 K], добавлен 22.05.2010Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.
контрольная работа [360,4 K], добавлен 13.06.2012Методы языка программирования C#. Алгоритмизация и программирование задач на языке высокого уровня C#. Внутренний цикл, ветвление, внешний цикл, вложенные друг в друга структуры ветвления. Вывод элементов массива на экран. Остальные элементы матрицы.
курсовая работа [250,2 K], добавлен 27.02.2015Поиск коэффициентов кубического уравнения. Расчет количества итераций для заданной погрешности по реккурентному соотношению. Заполнение матрицы по условию. Поиск наибольшего целочисленного элемента массива, не имеющего себе равных в другом массиве.
контрольная работа [52,7 K], добавлен 20.12.2012Краткое описание языка программирования С++. Алгоритм линейного выбора элемента, методов минимального (максимального) элемента и челночной сортировки. Анализ и разработка приложения, организующего сортировку массива данных пятью методами сортировки.
реферат [614,8 K], добавлен 12.04.2014Вычисление приближённых значений функций, представленных бесконечными рядами. Определение максимального элемента матрицы. Сортировка символов в порядке неубывания. Определение разности между первым и вторым значениями и вывод ее на экран как погрешность.
контрольная работа [20,9 K], добавлен 17.04.2014Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.
курсовая работа [336,2 K], добавлен 27.06.2015Общие сведения о языке С++. Операции и выражения, стандартные функции и структура программы. Использование функций при программировании на С++. Основные алгоритмы обработки массивов. Статические и динамические матрицы. Организация ввода-вывода в C++.
учебное пособие [6,7 M], добавлен 28.03.2014Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.
курсовая работа [446,0 K], добавлен 19.06.2014История языка Pascal, его основные концепции. Линейный и циклический алгоритмы, типы данных. Условные операторы, операторы цикла. Программа вычисления суммы n первых членов геометрической прогрессии по любым двум ее членам, номера которых известны.
отчет по практике [421,8 K], добавлен 07.06.2010Характеристика и основные особенности языка Pascal. Создание числового массива с использованием встроенной функции. Использование записей, массивов и файлов. Обработка и графическая визуализация данных средствами табличного процессора и пакета MathCAD.
курсовая работа [1,0 M], добавлен 22.08.2012Свободная среда разработки программного обеспечения для компилятора Free Pascal. Библиотека визуальных компонентов. Перенос Delphi-программ с графическим интерфейсом в различные операционные системы. Ввод размерности матрицы и умножение ее на вектор.
контрольная работа [16,9 K], добавлен 09.10.2013Разработка эскизного и технического проектов программы преобразования заданной матрицы в ортогональную матрицу. Сравнивание транспонированной матрицы с обратной с целью проверки ортогональности. Выбор состава технических и программных средств реализации.
курсовая работа [52,1 K], добавлен 09.12.2014Строгая типизация и наличие средств структурного (процедурного) программирования императивного языка Pascal. Структура программы, выражения, строки. Правила и описание типов, процедур и функций, операторов ввода - вывода, модулей и подпрограмм.
курсовая работа [37,3 K], добавлен 28.06.2008Теория графов и её применения. Разработка программного продукта для решения задач нахождения минимального пути. Анализ надежности и качества ПП "метода Дейкстры". Математическая модель задачи. Алгоритмы Дейкстры на языке программирования Turbo Pascal.
курсовая работа [1,6 M], добавлен 26.03.2013