Алгоритмы преобразования одномерных массивов
Ознакомление с особенностями программной реализации алгоритмов преобразования одномерных массивов. Исследование развития вычислительной техники, которое подразумевает использование компьютерных и информационных технологий. Изучение интерфейса программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 02.06.2017 |
Размер файла | 1,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение высшего образования
«Самарский государственный социально-педагогический университет»
Факультет математики, физики и информатики
Кафедра информатики, прикладной математики и методики их преподавания
Курсовая работа
«Алгоритмы преобразования одномерных массивов»
Содержание
Введение
1. Структуры данных и алгоритмы обработки
2. Программная реализация алгоритмов преобразования одномерных массивов средствами среды программирования Pascal.ABC.Net
Заключение
Библиография
Приложения
Введение
Современные электронные вычислительные машины были изобретены как некоторые устройства, которые облегчают и ускоряют проведение сложных математических расчетов. Подобные расчеты требовали для своего выполнения достаточно много времени, а главной целью электронных вычислительных машин было ускорение этих процессов.
Развитие вычислительной техники подразумевает широкое использование компьютерных и информационных технологий, на основе которых создаются различные информационные системы. В основе информационных систем лежат данные. Разработка типов данных является не менее важной частью решения задачи, чем разработка алгоритма. Созданные программы получают определенные результаты, обрабатывая данные. Простота, с которой происходит данный процесс, зависит от того, насколько точно типы данных соответствуют реальной задаче. Поэтому для корректного выполнения поставленной задачи важно, чтобы в языке программирования была предусмотрена поддержка соответствующего разнообразия типов и структур данных.
Современные концепции типов и структур данных развиваются на протяжении последних 45 лет. На устаревших языках программирования все структуры данных, соответствующие конкретным задачам, моделировались небольшим количеством основных структур данных, поддерживаемых этими языками. Например, в первой версии языка FORTRAN, разработанной до языка FORTRAN 90, связные списки и двоичные деревья обычно моделировались с помощью массивов.
Идеи создания типов данных, появившиеся в конце 1970-х годов в результате естественного обобщения идеи типов, определяемых пользователем, были воплощены в языке Ada 83. Основная мысль, лежащая в основе определяемых пользователем типов данных, состоит в том, что программисту следует позволить создавать отдельный тип для каждого отдельного класса переменных, определяемых предметной областью задачи.
Объект исследования - одномерные массивы и способы их преобразования.
Предмет исследования - реализация алгоритмы преобразования одномерных массивов средствами языка программирования Pascal.ABC.
Цель исследования - разработать программы на языке программирования Pascal.ABC, реализующие некоторые алгоритмы преобразования одномерных массивов.
Задачи исследования:
1. Провести анализ учебно-методической и технической литературы по проблеме исследования.
2. Разработать некоторые алгоритмы преобразования одномерных массивов.
3. Реализовать алгоритмы преобразования одномерных массивов средствами языка программирования Pascal.ABC.
Практическая значимость: результаты курсовой работы могут быть использованы в качестве дидактического материала на уроках математики и информатики.
1. Структуры данных и алгоритмы обработки
Типами данных называются именованные множества значений, задаваемые различными способами. Эти типы данных делятся на несколько групп: простые, структурированные, процедурный тип и указатели. К простым относятся числовые, логический, строковый типы. Массивы, классы, записи, файлы и множества - это структурированные типы данных.
Рассмотрим такой структурированный тип данных как массив. При обращении к множеству однородных данных нецелесообразно объявлять каждую переменную отдельно. Гораздо удобнее обратиться к массиву, вызвав который, мы обратимся ко всем однородным переменным. Массив - это совокупность данных (элементов) одного типа с общим для всех элементов именем.
Существуют несколько видов массивов: одномерный, двумерный и многомерный (рис.1).
Рисунок 1. Упрощенная схема представления массивов
Одномерный массив - это массив, элементы которого нумеруются одним индексом (линейный массив). Двумерный массив - это массив, элементы которого нумеруются двумя индексами: строкой и столбцом (табличный массив). Каждый элемент массива пронумерован. Можно обратиться целиком к массиву, а можно обратиться к нужной переменной, указав её индекс.
Полностью с массивом можно выполнить всего лишь одно действие - присваивание. Но присваивать можно только массивы с одинаковым типом. Других операций целиком с массивами произвести нельзя, но с элементами массивов можно работать точно также, как с простыми переменными такого же типа.
Описание типа линейного массива выглядит следующим образом:
type<имятипа> = array [<диапазониндексов>] of<типэлементов>
В роли индексов могут выступать переменные любых порядковых типов. Начальный индекс не должен превышать конечный, при задании диапазона. Тип элементов массива может быть любым (стандартным или описанным ранее).
Одномерный массив можно задать (объявить) несколькими способами:
1.C помощью служебного слова type описывается тип массива, а затем с помощью var вводится переменная этого типа:
type<тип массива> = array [тип индекса] of<тип компонент>
var<переменная>: <тип массива>
2.С помощью слова var сразу описывается переменная типа массив:
var<переменная>: array [тип индекса] of<тип компонент>
Примеры описания массивов:
var
A, BB : array [1..40] of real;
C : array ['A'..'Z'] of integer;
D : array [-20..20] of word;
E : array [1..40] of real;
Теперь переменные A, BB и E представляют собой массивы из сорока вещественных чисел; массив C имеет индексы символьного типа и целочисленные элементы; массив D может хранить в себе 41 число типа word.
Основное отличие элемента массива от простой переменной состоит в том, что для элемента массива в квадратных скобках может стоять не только соответствующее значение индекса, но и выражение, приводящее к значению индексного типа. То есть реализуется косвенная адресация: BB[15] - прямая адресация;
BB[m] - косвенная адресация через переменную m, значение которой будет использовано в качестве индекса элемента массива BB.
Чтобы определить позицию элемента в двумерном массиве, необходимо задать два индекса. Каждый двумерный массив - матрица (прямоугольная таблица, набор векторов).Исходя из этого, удобно описывать двумерные массивы путем указания границ изменения индексов (номеров) строк и столбцов.
Например, таблица символов a Ч b, где a - число строк и b - число столбцов, может быть описана:
vartab : array [1..a, 1..b] ofchar;
Общая форма записи:
var<имя> : array [тип индекса строки, тип индекса столбца]
of<тип компонент>;
Но двумерный массив можно интерпретировать как вектор-столбец, каждый элемент которого является одномерным массивом (вектор-строка). Такой подход к определению двумерного массива влечет его описание с помощью двух строк, где первая содержит описание строки, а вторая - описание столбца:
type
line = array [1..b] of char;
stolb = array [1..a] of line;
vartab : stolb.
Здесьtab [i] - переменнаятипаline, аtab [i][j] - переменнаятипаchar.
Описание двумерного массива:
Способ 1. В разделе описания переменных.
Имя Массива:array [Верх.Гр.1..Ниж.Гр.1,Верх.Гр.2..Ниж.Гр.2] of тип элементов;
Способ 2. В разделе описания типов.
massive: array [Верх.Гр.1..Ниж.Гр.1,Верх.Гр.2..Ниж.Гр.2] of тип элементов;
Способ 3. В разделе описания констант.
const
massive: array[1..3,1..3] of real=((1.2,2.4,0.4),(0.045,-0.47,0.003),(1.24,1,-7.4));
Таким образом, такой структурированный тип данных, как массив, позволяет при необходимости обращаться не к каждому элементу множества, а ко всему множеству сразу. Но это возможно при одном условии - это множество должно быть однородным. При соблюдении этого условия, применение массивов значительно упрощает действия над множествами однотипных данных путём задания циклов. Можно так же выполнять действия с каждым элементом массива по отдельности, например для редактирования значений.
2. Программная реализация алгоритмов преобразования одномерных массивов средствами среды программирования Pascal.ABC.Net
При изучении различных языков программирования наибольшие затруднения у начинающих пользователей вызывают задачи в области алгоритмов работы со сложными типами данных, такими как массивы, записи и множества. Решения этих задач простроены на основных алгоритмах работы с представленными типами. Следовательно, от того, насколько хорошо усвоены начальные знания о работе с определенным типом данных, зависит успех решения поставленной задачи.
Массивы применяются в большинстве языков программирования, а в некоторых из них являются основной операцией. Язык программирования «Паскаль» позволит максимально оценить возможности работы с массивами, как с типом однородных данных. Швейцарским учёным, специалистом в области информатики Никлаусом Виртом, после участия в разработке стандартов языка Алгол-68, в 1970 году впервые были опубликованы сведения о новом языке программирования - Паскаль. Язык был назван в честь французского математика Блеза Паскаля и представлял собой, по словам автора, эффективный, простой язык, использующий структурное программирование (разработка программ в виде иерархической структуры) и структурированные данные. Текст программы, написанной на языке программирования Паскаль имеет жесткую структуру, нарушать которую нельзя. В простейшем случае программа на языке Паскаль имеет следующий вид:
Program<имя программы>; (заголовок программы, имя программы выбирается составителем программы самостоятельно)
Const<имя константы>=<значение константы>;
(раздел описания констант)
Var
<имя переменной1, имя переменной2, … >: <тип1 переменных>;
<имя переменной1, имя переменной2, … >: <тип2 переменных>;
(раздел описания переменных, этот раздел необязателен в случае, если программа не использует никаких переменных)
Begin (начало программы)
<тело программы> (последовательность команд (операторов), разделенных знаком “;”)
End. (конец программы)
В разделе описания переменных перечисляются все переменные, используемые в программе, и их тип (целочисленные, дробные, символьные и тд). Имена переменных ни в коем случае не должны совпадать с названиями операторов, типов переменных, именем программы.
В 2002 году Станиславом Михалковичем был создан язык программирования PascalABC.NET. По содержанию это классический Паскаль с некоторыми возможностями языка Delphiи рядом собственных расширений. Достоинством PascalABC.NETявляется современный, дружественный интерфейс (рис. 2)
Рисунок 2. Интерфейс программного продукта PascalABC.Net
Именно PascalABC.NET, как программный продукт, был нами выбран для исследования алгоритмов работы с одномерными массивами.
Основные приёмы преобразования одномерных массивов:
1. Нахождение суммы всех элементов массива;
2. Нахождение произведения всех элементов массива;
3. Нахождение максимального элемента массива;
4. Сортировка массива по возрастанию/убыванию элементов;
Алгоритм решения задачи на нахождение суммы всех элементов массива
Задача: найти сумму всех элементов массива;
Входными данными для решения этой задачи будет одномерный массив чисел, введённых с клавиатуры. Размер этого массива будет произвольным, но определённым. Элементы массива будут целочисленными.
Ход решения задачи:
Так как PascalABC.NETпозволяет работать в графическом режиме (в более приемлемом зрителю окне) то после объявления программы ProgramCнужно включить соответствующий модуль - GraphAbc. Теперь запуск программы будет осуществляться не как консольное приложение, а в простом окне Windowsразмером 640 Ч 480 точек.
В разделе описания переменных varмы прописываем все, нами используемые, переменные:
1. Массив a;
2. Переменная i, отвечающая за цикл ввода массива;
3. Переменная s, принимающая значение искомой в задаче суммы всех элементов массива;
4. Переменная n, принимающая значение количества элементов массива;
И массив, и все переменные будут целочисленными, то есть мы им зададим тип данных integer. Таким образом, блок описания переменных будет выглядеть следующим образом (рис. 3).
Рисунок 3. Описание переменных в программе
Затем, в основной части программы (после служебного слова begin)для лучшего восприятия и наглядности с помощью оператора вывода на экран write (writeln) опишем цель нашей программы (рис. 4).
Рисунок 4. Добавление текста для вывода на экран
Окончание «ln»в операторе writeпозволяет вывести на экран текст, написанный в кавычках, с переключением курсора на строку вниз, то есть текст будет находиться на следующей строке, так как по умолчанию, оператором writeПаскаль выводит на экран символы в одну строку друг за другом. программный интерфейс компьютерный
Оператор setfontstyle (fsBold) служит для включения «жирности» шрифта.
Далее, пропустив строку написанием оператора writeln, с помощью того же оператора вывода на экран зададим просьбу ввести количество элементов массива, так как наш одномерный массив по величине может быть любым, но определенным. Сразу же введенное с клавиатуры значение присвоим переменной n (при помощи оператора read/readln) и выведем его на экран в следующей строке (рис. 5).
Рисунок 5. Добавление текста для вывода на экран
Теперь нам нужно ввести с клавиатуры значение каждого из n элементов массива с помощью цикла for. Цикл forназывается циклом со счетчиком и в общем виде имеет следующую структуру:
for (счетчик):=(значение) to (конечное_значение) do
тело_цикла;
Счетчик - это переменная любого из типов (целого, диапазонного). Конечные и начальные значения могут быть представлены не только значениями, но и выражениями, возвращающими совместимые с типом счетчика типы данных. Если между конечным и начальным выражением указано служебное слово to, то на каждом шаге цикла значение параметра будет увеличиваться на единицу.
Таким образом, в нашей задаче цикл записи введенных с клавиатуры значений элементов массива будет выглядеть следующим образом (рис. 6).
Рисунок 6. Добавление цикла для ввода элементов массива
В нашем случае i - это счетчик цикла. Эту запись словами можно представить следующим образом: «для каждого i, принимающего значения от 1 до n, нужно осуществить вывод значения этого элемента на экран, записать это значение в массив a».
Массив заполнен, но для наглядности, с помощью оператора вывода на экран, сделаем так, чтобы его элементы были нам видны (рис. 7).
Рисунок 7. Добавление текста для вывода на экран
Этот цикл для всех элементов массива определяет условия вывода их значений на экран. Оператор write (a[i]:4) отводит для каждого элемента 4 знака (то есть целые числа до 9999).
Из математики, сумма нескольких величин - это результат операции последовательного прибавления всех этих величин. Следовательно, первоначальная сумма, не учитывая элементы нашего одномерного массива, равно нулю.
Наконец, с помощью еще одного цикла, мы пропишем процесс суммирования всех элементов массива (рис. 8). Для улучшения внешнего вида программы, между некоторыми операторами или блоками программы можно вставлять один или пару операторов writeln, которые переносят курсор на одну или две строки соответственно.
Рисунок 8. Запись суммирования всех элементов массива
То есть, значение переменной s, согласно циклу, начинается с нуля и поочередно увеличивается на значение каждого элемента массива. Затем, на следующей строке с помощью оператора вывода на экран мы выводим конечную сумму всех элементов массива.
Полный текст программы представлен в приложении 1.
Работоспособность программы (рис. 9, 10, 11):
Рисунок 9. Окно программы при запуске
Рисунок 10. Окно программы после ввода количества элементов массива
Рисунок 11. Окно программы после выполнения задачи и вывода ответа на экран
Алгоритм решения задачи на нахождение произведения всех элементов массива
Задача: найти произведение всех элементов одномерного массива.
Входными данными для решения этой задачи будет одномерный массив чисел, введённых с клавиатуры. Размер этого массива будет произвольным, но определённым. Элементы массива будут целочисленными.
Ход решения задачи: мы будем выполнять эту задачу так же, как и прошлую, в графическом режиме GraphAbc. Следовательно, после Programмы должны включить соответствующий модуль.
Необходимые для решения этой задачи переменные занесём в раздел описания переменных и укажем их тип:
1. Массив a;
2. Переменная i, отвечающая за цикл ввода массива;
3. Переменная s1, принимающая значение искомого в задаче произведения всех элементов массива;
4. Переменная n, принимающая значение количества элементов массива;
И массив, и все переменные будут целочисленными, то есть мы им зададим тип данных integer.
В основной части программы для лучшего восприятия и наглядности, по аналогии с предыдущей задачей, с помощью оператора вывода на экран write (writeln) опишем цель нашей программы: «Программа вычисляет произведение элементов заданного массива».
Ввод количества элементов осуществляется аналогично предыдущей задаче (рис.4).
Далее, по аналогии с прошлой задачей, с помощью цикла со счетчиком, мы должны ввести с клавиатуры значения элементов и запомнить их в наш массив.Для наглядности, с помощью оператора вывода на экран, сделаем так, чтобы его элементы были нам видны.
Теперь нужно присвоить переменной s1(конечное искомое произведение) начальное значение. Если по аналогии с прошлой задачей s1:=0, то перемножение всех элементов массива и начального значения даст результат, равный нулю. В данной задаче начальное значение искомого произведение будет равно единице (рис.12).
Рисунок 12. Присвоение начального значение искомого произведения
Наконец, с помощью цикла запишем саму операцию перемножения (рис.13).
Полный текст программы представлен в приложении 2.
Рисунок 13. Запись операции перемножения
Работоспособность программы (рис. 14, 15, 16):
Рисунок 14. Окно программы при запуске
Рисунок 15. Окно программы после ввода количества элементов массива
Рисунок 16. Окно программы после выполнения задачи и вывода ответа на экран
Алгоритм решения задачи на нахождение максимальногоэлемента массива
Задача: найти максимальный элемент заданного с клавиатуры одномерного массива.
Как и в предыдущих задачах, входными данными для решения этой задачи будет одномерный массив чисел, введённых с клавиатуры. Размер этого массива будет произвольным, но определённым. Элементы массива будут целочисленными.
Ход решения задачи: мы выполнили эту задачу так же, как и прошлую, в графическом режиме GraphAbc. Следовательно, после Programмы должны включить соответствующий модуль.
Необходимые для решения этой задачи переменные занесём в раздел описания переменных и укажем их тип:
1. Массив mas;
2. Переменная i - счетчик цикла;
3. Переменная max, принимающая значение искомого в задаче максимального из всех элементов массива;
4. Переменная n, принимающая значение количества элементов массива;
И массив, и все переменные будут целочисленными, то есть мы им зададим тип данных integer.
В основной части программы (после служебного слова begin) для лучшего восприятия и наглядности, по аналогии с предыдущими задачами, с помощью оператора вывода на экран write (writeln) опишем цель нашей программы: «Программа находит максимальный элемент заданного с клавиатуры одномерного массива».
Ввод количества элементов осуществляется аналогично предыдущей задаче (рис.4).
Далее, по аналогии с прошлой задачей, с помощью цикла со счетчиком, мы должны ввести с клавиатуры значения элементов и запомнить их в наш массив. Для наглядности, с помощью оператора вывода на экран, сделаем так, чтобы его элементы были нам видны.
Принцип нахождения максимального элемента из данных заключается в том, что нужно задать цикл, который будет по очереди, попарно сравнивать все элементы друг с другом и принимать максимальное значение за переменную max (рис.17).
Рисунок 17. Запись цикла для подсчета максимального элемента массива
То есть, переменной max присваивается i-тый элемент массива mas. Начиная со второго элемента, цикл начинает сравнивать: присвоенное переменной maxзначение больше i-го элемента массива или меньше. Если больше, то переменной maxприсваивается значение этого элемента.
Полный текст программы представлен в приложении 3.
Работоспособность программы (рис. 18, 19, 20):
Рисунок 18. Окно программы при запуске
Рисунок 19. Окно программы после ввода количества элементов массива
Рисунок 20. Окно программы после выполнения задачи и вывода ответа на экран
Алгоритм решения задачи на сортировку элементов массива по возрастанию/убыванию методом «пузырька»
Задача: отсортировать массив по возрастанию или убыванию значений его элементов.
Как и в предыдущих задачах, входными данными для решения этой задачи будет одномерный массив чисел, введённых с клавиатуры. Размер этого массива будет произвольным, но определённым. Элементы массива будут целочисленными.
Ход решения задачи: мы выполнили эту задачу так же, как и прошлую, в графическом режиме GraphAbc. Следовательно, после Programмы должны включить соответствующий модуль.
Необходимые для решения этой задачи переменные занесём в раздел описания переменных и укажем их тип:
1. Массив b;
2. Переменная i, отвечающая за цикл ввода массива;
3. Переменная j, отвечающая за цикл сравнивания элементов массива;
4. Переменная k, принимающая значение большего или меньшего элемента массива в цикле их сравнения;
5. Переменная n, принимающая значение количества элементов массива;
6. Переменная r, принимающая значение ответа на вопрос о порядке сортировки (по возрастанию или по убыванию).
И массив, и все переменные будут целочисленными, то есть мы им зададим тип данных integer.
В основной части программы (после служебного слова begin) для лучшего восприятия и наглядности, по аналогии с предыдущими задачами, с помощью оператора вывода на экран write (writeln) опишем цель нашей программы: «Программа показывает работу метода сортировки "Пузырёк"».
Ввод количества элементов осуществляется аналогично предыдущей задаче (рис.4).
Далее, по аналогии с прошлой задачей, с помощью цикла со счетчиком, мы должны ввести с клавиатуры значения элементов и запомнить их в наш массив. Для наглядности, с помощью оператора вывода на экран, сделаем так, чтобы его элементы были нам видны.
Затем, с помощью оператора вывода на экран write (writeln) зададим для пользователя нашей программы вопрос о способе сортировки: «Выберите сортировку: 1 - по возрастанию; 2 - по убыванию». И с помощью оператораread (readln) присвоим переменной rответ на этот вопрос. Если пользователь отвечает цифрой 1, то программа начинает сортировку по возрастанию, если 2 - по убыванию (рис.21).
Рисунок 21. Выбор сортировки
Далее, нужно задать цикл попарного сравнения элементов массива. Цикл начнёт сравнивать, начиная с первого введенного с клавиатуры элемента, и , таким образом, сравнит все элементы массива.
Если пользователь выбрал сортировку по возрастанию, то используем оператор условия if…then (рис. 22).
Рисунок 22. Задание цикла на выполнение сортировки по возрастанию
То есть, заданный нами цикл, сравнивает первый элемент массива с последующим. Так как выбрана сортировка по возрастанию, то больший элемент отодвигается в конец массива, а меньший в его начало. Аналогично напишем цикл для сортировки по убыванию (рис. 23).
Рисунок 23. Задание цикла на выполнения сортировки по убыванию
В данном случае, больший элемент ставится в начало массива, а меньший в его конец.
Наконец, выведем полученный после сортировки массив на экран (рис.24).
Полный текст программы представлен в приложении 4.
Рисунок 24. Вывод отсортированного массива на экран
Работоспособность программы (рис. 25, 26, 27, 28):
Рисунок 25. Окно программы при запуске
Рисунок 26. Окно программы при запросе выбора сортировки
Рисунок 27. Окно программы при выполнении сортировки по возрастанию
Рисунок 28. Окно программы при выполнении сортировки по убыванию
Заключение
В ходе выполнения данной курсовой работы были изучены основные приемы и алгоритмы работы с одномерными массивами в среде программирования PascalABC.Net, что поспособствовало закреплению теоретического материала на практике.
Данная курсовая работа помогла прояснить некоторые теоретические и практические вопросы, которые связаны с использованием массивов в программировании.
Проведенное в рамках данной курсовой работы исследование позволяет сформулировать следующие результаты:
1. Провели анализ учебно-методической и технической литературы по проблеме исследования.
2. Разработали некоторые алгоритмы преобразования одномерных массивов.
3. Реализовали алгоритмы преобразования одномерных массивов средствами языка программирования Pascal.ABC.
Все задачи, поставленные в данном исследовании, были выполнены в полном объеме.
Библиография
1. Бежанова, М.М. Москвина Л.А. Практическое программирование. Приемы создания программ на языке Паскаль. - М.: Научный Мир, 2000.
2. Вирт, Н. Алгоритмы и структуры данных: Пер. с англ. - М.: Мир, 1989.
3. Вирт, Н. Алгоритмы + структуры данных = программы: Пер. с англ. - М.: Мир, 1985.
4. Вирт, Н. Систематическое программирование. Введение: Пер. с англ. - М.: Мир, 1977.
5. Демидов, Д.В. Основы программирования в примерах на языке Паскаль: Учебное пособие. - М.: НИЯУ МИФИ, 2010.
6. Павловская, Т.А. Паскаль. Программирование на языке высокого уровня: Учебник для вузов. - СПб.: Питер, 2007.
7. Рапаков, Г.Г.Программирование на языке Pascal. - СПб.: БХВ-Петербург, 2004.
8. Ускова, О.Ф. Программирование на языке Паскаль: задачник. - СПб.: Питер, 2003.
9. Ушаков, Д.М. Паскаль для школьников. - СПб.: Питер, 2010.
10. Фаронов, В.В. TurboPascal 7.0. Учебный курс: учебное пособие. - М.: КНОРУС, 2011.
11. Федоренко, Ю. Алгоритмы и программы на TurboPascal. Учебный курс. - СПб.: Питер, 2001.
Приложения
Приложение 1
Program C;
usesGraphAbc;
var a: array [1..10] of integer;
s,i,n: integer;
begin
setfontstyle(fsBold);
Writeln ('Программа вычисляет сумму элементов заданного массива');
setfontstyle(fsNormal);
writeln;
Writeln (' Введи количество элементов: ');
Readln (n); writeln(n,' ');
For i:=1 to n do begin write (i, ' элемент = ');
Readln (a[i]); writeln(a[i],' ');
end;
writeln;
writeln;
Writeln (' Полученныеэлементы: ');
for i:=1 to n do
write (a[i]:4);
s:=0;
For i:=1 to n do
s:=s+a[i];
writeln;
setfontstyle(fsBold);
writeln('Суммаэлементов = ',s);
end.
Приложение 2
Program B;
usesGraphAbc;
var a: array [1..10] of integer;
s1,i,n: integer;
begin
setfontstyle(fsBold);
Writeln ('Программа вычисляет произведение элементов заданного массива');
setfontstyle(fsNormal);
writeln;
Writeln (' Введи количество элементов: ');
Readln (n); writeln(n,' ');
For i:=1 to n do begin write (i, ' элемент = ');
Readln (a[i]); writeln(a[i],' ');
end;
writeln;
writeln;
Writeln (' Полученныеэлементы: ');
for i:=1 to n do
write (a[i]:4);
s1:=1;
For i:=1 to n do
s1:=s1*a[i];
writeln;
setfontstyle(fsBold);
writeln('Произведениеэлементов = ',s1);
end.
Приложение 3
Program A;
usesGraphAbc;
Varmas:array [1..100] of integer;
max,i,n:integer;
begin
setfontstyle(fsBold);
Writeln ('Программа находит максимальный элемент заданного массива');
setfontstyle(fsNormal);
writeln;
Writeln (' Введи количество элементов: ');
Readln (n); writeln(n,' ');
For i:=1 to n do begin write (i, ' элемент = ');
Readln (mas[i]); writeln(mas[i],' ');
end;
writeln;
writeln;
Writeln (' Полученныеэлементы: ');
for i:=1 to n do
write (mas[i]:4);
Max:=mas[i];
For i:=2 to n do
if mas[i]>max then max:=mas[i];
Writeln;
setfontstyle(fsBold);
writeln ('Из них максимальным является элемент: ',max);
Readln
end.
Приложение 4
Program D;
uses GraphAbc;
var b: array[1..100] of integer;
i,j,k,n,r: integer;
begin
setfontstyle(fsBold);
Writeln ('Программа показывает работу метода сортировки "Пузырёк" и сортирует таким образом за - данный с клавиатуры массив по возрастанию номинала элементов');
setfontstyle(fsNormal);
writeln;
Writeln (' Введи количество элементов: ');
Readln (n); writeln(n,' ');
For i:=1 to n do begin write (i, ' элемент = ');
Readln (b[i]); writeln(b[i],' ');
end;
writeln;
writeln;
Writeln (' Полученныеэлементы: ');
for i:=1 to n do
write (b[i]:4);
writeln;
writeln ('Выберите сортировку: 1 - по возрастанию; 2 - по убыванию');
readln(r);
if r=1 then
for i:=1 to n-1 do
for j:=i+1 to n do
if b[i]>b[j] then
begin
k:=b[i];
b[i]:=b[j];
b[j]:=k;
end;
if r=2 then
for i:=1 to n-1 do
for j:=i+1 to n do
if b[i]<b[j] then
begin
k:=b[i];
b[i]:=b[j];
b[j]:=k;
end;
writeln;
setfontstyle(fsBold);
writeln('Массив после сортировки пузырьковым методом: ');
for i:=1 to n do
write(b[i],' ');
end.
Размещено на Allbest.ru
Подобные документы
Понятие массива и правила описания массивов в программах на языке С. Рассмотрение основных алгоритмов обработки одномерных массивов. Примеры программ на языке С для всех рассмотренных алгоритмов. Примеры решения задач по обработке одномерных массивов.
учебное пособие [1,1 M], добавлен 22.02.2011Широкое использование компьютерных и информационных технологий. Концепции типов данных. Алгоритмы сортировки одномерных массивов. Описание двумерного массива Паскаля. Методы доступа к элементам массивов. Индексные, динамические и гетерогенные массивы.
курсовая работа [66,3 K], добавлен 07.12.2010Разработка и реализация типовых алгоритмов обработки одномерных массивов на языке Delphi. Максимальный и минимальный элемент массива. Значение и расположение элементов массива. Элементы массива, находящиеся перед максимальным или минимальным элементом.
лабораторная работа [12,8 K], добавлен 02.12.2014Работа с массивами, их ввод и вывод, организация программ циклической структуры. Способы описания и использования массивов, алгоритмы их сортировки, сортировка выбором и вставками. Алгоритмы поиска элемента в неупорядоченном и упорядоченном массивах.
лабораторная работа [14,2 K], добавлен 03.10.2010Ознакомление с основными понятиями и организацией ввода-вывода, обработкой массивов. Описание одномерных и двумерных массивов. Описание строк и операции с ними. Комбинированный тип данных - записи. Характеристика записей, использующих вариантную часть.
реферат [84,6 K], добавлен 09.02.2011Разработка программ на языке Turbo Pascal на основе использования массивов данных. Особенности хранения данных, способы объявления переменных, действия над элементами массивов, их ввод и вывод. Практическое применение одномерных и многомерных массивов.
методичка [17,8 K], добавлен 25.11.2010Разработка программы, реализующей алгоритм обработки двухмерных и одномерных массивов. Область применения, требования к программным средствам. Язык программирования Turbo Pascal. Арифметические операции и выражения. Используемые модули и операторы.
курсовая работа [439,3 K], добавлен 21.12.2015Составление программы разветвляющейся структуры для вычисления заданной функции. Нахождение произведения чётных и нечётных первых чисел натурального ряда. Приёмы программирования обработки одномерных массивов. Расчет суммы положительных элементов массива.
контрольная работа [1,3 M], добавлен 20.12.2012Форма программы для ввода и вывода массива в программной среде Lazarus. Характеристика главных недостатков Lazarus. Цикл для пропуска пробелов между словами. Результат обработки текстового редактора memo.text. Листинг и экранные формы заданной программы.
контрольная работа [799,2 K], добавлен 15.01.2011Реализация различных методов сортировки. Алгоритмические языки программирования. Обработка большого числа единообразно организованных данных. Алгоритмы сортировки массивов. Анализ проблем реализации и использования различных видов сортировок массивов.
курсовая работа [640,3 K], добавлен 07.07.2011