Сортировка строк матрицы в программе Pascal

Разработка программы на языке Pascal. Описание переменных. Действия, которые должна выполнить программа согласно выбранного алгоритма. Детализация графической части программы. Листинг и тестирование программы. Вывод массива данных на экран монитора.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 13.06.2012
Размер файла 360,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

Алгоритмический язык Паскаль был создан в конце 60-х годов профессором Н. Виртом (Швейцария) как специальный язык для обучения программированию. В настоящее время он реализован практически на всех ПЭВМ. Международный стандарт языка Паскаль утвержден в 1982 году.

Pascal - один из лучших реальных «учебных» языков программирования - недаром его изучают во многих школах и на начальных курсах большинства технических вузов. Для начала работы с языком программирования нужно уяснить для себя что такое алгоритм, язык программирования, программа; научиться алгоритмическому мышлению и научиться писать свои программы. Особое место в языке Паскаль занимают массивы. Массивом называется совокупность данных, выполняющих аналогичные функции, и обозначаемая одним именем. Если за каждым элементом массива закреплен только один его порядковый номер, то такой массив называется линейным, или одномерным.

В данной курсовой работе разработана программа, реализующая сортировку строк матрицы.

Турбо Паскаль - это система программирования, созданная для повышения качества и скорости разработки программ (80-е гг.). Слово Турбо в названии системы программирования - это отражение торговой марки фирмы-разработчика Borland International (США).

Систему программирования Турбо Паскаль называют интегрированной (integration - объединение отдельных элементов в единое целое) средой программирования, т.к. она включает в себя редактор, компилятор, отладчик, имеет сервисные возможности.

Цель работы заключается в том, чтобы написать, проанализировать работу и программы в среде Turbo Pascal, реализующей сортировку строк матрицы.

Для достижения цели поставим следующие задачи:

Изучить язык программирования Turbo Pascal.

Решить контрольные задачи.

Предоставить листинг, алгоритмы и анализ программ.

Проанализировать контрольную программу, реализующую сортировку строк матрицы.

1. Разработка программы на языке Pascal

Любая программа состоит из заголовка программы, блока подключаемых модулей, блока описания констант и переменных, и тела программы, в котором используются различные операторы.

В модуле CRT реализованы специальные процедуры и функции для работы с текстовой информацией на дисплее, позволяющие: управлять текстовыми режимами, организовывать окна вывода на экран, настраивать цвета символов на экране, управлять курсором.

Для подключения модуля достаточно указать зарезервированное слово USES и список подключаемых модулей в самом начале программы:

USES CRT;

USES CRT используем для подключения процедуры

Procedure ClrScr;

Которая, позволяет очистить экран от всей ненужной информации и поместить курсор в левый верхний угол.

Описание констант.

В разделе описаний программы должны быть описаны не только переменные, но и константы, в данной программе константы описаны следующим образом:

Const

N=30;

Где, N=имя константы, 30=ее значение.

Описание переменных.

Все переменные используемые в программе должны быть перечислены в разделе описания переменных VAR. Этот раздел состоит из предложений описания переменных. Размещается он между заголовком программы, подпрограммы или модуля и зарезервированным словом BEGIN, открывающим раздел операторов программы, подпрограммы или модуля.

Пример описания переменных:

A:ARRAY [1N] OF INTEGER;

I, J:INTEGER; P, K:REAL;

где A - целочисленный одномерный массив состоящий из N элементов. I, J - целочисленные переменные, P, K - вещественные переменные.

В разделе операторов опишем действия, которые должна выполнить программа согласно выбранного алгоритма. Этот раздел заключен между словами begin и end. В программе может использоваться составной оператор begin end;.

Формирование массива осуществим с помощью генератора случайных чисел randomize и цикла с параметром.

Массив - структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.

Если в форме описания массива задан один индекс, массив называется одномерным, если два индекса - двумерным, если n индексов - n-мерным. Одномерный массив соответствует понятию линейной таблицы, двумерный - понятию прямоугольной таблицы. В нашем случае массивы являются одномерными.

Оператор повтора, одно из ключевых слов которого является FOR часто называют оператором цикла с параметром, т.к. число повторений задается переменной, которая на каждом шаге цикла автоматически изменяет свое значение ровно на единицу - поэтому ее называют счетчиком. Оператор повтора FOR применяется в случаях, когда число повторений заранее известно, он состоит из заголовка и тела цикла.

В записи цикла присутствует оператор присваивания (:=), который предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор которой расположен в левой части. Переменные и выражение должны быть совместимы по типу.

С помощью процедуры writeln описываем выводящееся на экран. Write - оператор, который используется для вывода информации на экран. Оператор WriteLn выполняет то же самое действие, но так как у него есть еще окончание Ln, то после вывода на экран нужного сообщения, он дополнительно переводит курсор на следующую строчку.

Условный оператор позволяет проверить некоторое условие и в зависимости от результата выполнить тот или иной оператор или группу операторов. С помощью условных операторов программируются алгоритмы разветвляющейся структуры.

Оператор повтора одно из ключевых слов которого является While часто называют оператором повтора с предусловием, т.к. условие выполнения цикла проверяется в самом начале. Его чаще всего используют, когда число повторений цикла заранее не известно. Переменная цикла всегда должна изменяться в теле цикла, иначе он никогда не завершится.

2. Детализация графической части программы

2.1 Задача 1

Дана последовательность чисел, так называемых чисел Фибоначчи. 1,2,3,5,8,12… Вывести все числа Фибоначчи до заданного числа N, вводимого пользователем.

Начало

Ввод N

I=1

J=I

I<=N

I

K=I

I=J

J=K+I

Конец

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

uses crt;

var i, j, k, n:integer;

begin

write ('N=');

read(n);

i:=1; j:=i;

while i<= n do begin

write (i:3); k:=i; i:=j; j:=k+i; end; readln; readln; end.

Тестирование программы

2.2 Задача 2

pascal программа листинг тестирование

По условию элементы массива должны быть заполнены случайными числами, затем выведены на экран. Для вывода массива на экран воспользуемся циклом с параметром.

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

uses crt;

const n=11;

var i, j, k, min, max:integer;

a:array [1..n] of integer;

begin

clrscr;

randomize;

for i:=1 to n do

a[i]:=random(30);

writeln ('Данные о количестве учеников в классах');

for i:=1 to n do

write (a[i]:3); k:=0;

for i:=1 to n do

k:=k+a[i];

writeln;

write ('Среднее количество учеников', k/n:3:0); min:=0;

for i:=1 to n do

if a[i]>k/n then inc(min); writeln; writeln ('Количество классов: ', min);

min:=a[1]; max:=a[1];

k:=1; j:=1;

for i:=1 to n do begin

if a[i]>max then begin max:=a[i]; k:=i; end;

if a[i]<min then begin min:=a[i]; j:=i; end; end;

writeln ('Максимальное количество ', max, ' в ', k, ' классе');

writeln ('Минимальное количество ', min, ' в ', j, ' классе'); min:=0;

for i:=1 to n do

min:=min+a[i];

max:=max*n;

writeln ('Процент увеличения ', max*100/min:3:1,' % '); end.

Тестирование программы

2.3 Задача 3

Определим сумму положительных и количество отрицательных элементов среди элементов, расположенных между первым максимальным и последним по порядку минимальным элементом.

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

uses crt;

const n=15;

var

i, j, k, min, max:integer; a:array [1..n] of integer;

begin

clrscr;

randomize;

writeln ('Исходный вектор');

for i:=1 to n do

a[i]:=random (25+25) - 25;

for i:=1 to n do

write (a[i]:3); writeln;

max:=a[1]; min:=a[1]; k:=1; j:=1;

for i:=1 to n do begin

if a[i]>max then begin max:=a[i]; j:=i; end;

if a[i]<=min then begin min:=a[i]; k:=i; end; end;

writeln ('Мин элемент', min:3,' адрес', k:3,' Макс Элемент', max:3,' адрес', j:3);

max:=0; min:=0;

if j<k then

for i:=j to k do

if a[i]>0 then max:=max+a[i] else inc(min)

else

for i:=k to j do

if a[i]>0 then max:=max+a[i] else inc(min);

writeln ('сумма', max:3,' количество', min:3); end.

Тестирование программы

2.4 Задача 4

Дана последовательность ненулевых чисел, проверить чередуются ли в нем положительные и отрицательные элементы. Если чередуются, то вывести 0, иначе номер элемента нарушающего закономерность.

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

uses crt;

const n=20;

var i, j, k:integer;

a:array [1..n] of integer;

begin

clrscr; randomize;

for i:=1 to n do

repeat

a[i]:=random (5+5) - 5;

until (a[i]>0) or (a[i]<0);

writeln('Вектор');

for i:=1 to n do write (a[i]:3); writeln; i:=1; k:=1;

if a[k]>0 then begin repeat

if (a[i]>0) and (a[i+1]<0) then k:=i+1 else begin k:=k+1;

break; end; i:=i+2; until i>=n;

if k=n then write(0) else write(k); end else write(1); end.

Тестирование программы

Заключение

Решение контрольных задач показало, что массивы и способы их обработки - это удобный инструмент, который можно использовать как для хранения данных на время работы программы, так и для решения конкретных, более сложных задач.

Достоинства:

- Лёгкость вычисления адреса элемента по его индексу (поскольку элементы массива располагаются один за другим);

- Одинаковое время доступа ко всем элементам;

- Малый размер элементов: они состоят только из информационного поля;

Выполняя данную работу, убеждаешься, что программирование и математика стоят не так уж далеко друг от друга. Программирование в Паскале развивает алгоритмическое мышление. Также данная работа позволила овладеть основными навыками работы в MS Word, что в наше время очень актуально.

Выполняя данную работу, убеждаешься, что программирование и математика стоят не так уж далеко друг от друга. Программирование в Паскале развивает алгоритмическое мышление. Также данная работа позволила овладеть основными навыками работы в MS Word, что в наше время очень актуально.

Список литературы

1. Немнюгин С.А. TURBO PASCAL. Учебник. - СПб.: «Питер», 2000.

2. Иванов А. Ф, Потапова О. Н, Салихова Г.Л., Основы алгоритмического языка Pascal. Учебное пособие. - Альметьевск: типография АГНИ, 2007.

3. Иванов А.Ф, Потапова О.Н, Салихова Г.Л., Информатика Раздел: Word для начинающих. Учебно-методическое пособие-Альметьевск.: типография АГНИ, 2003.

4. Зеленяк О.П., Практикум программирования на Turbo Pascal. Задачи, алгоритмы и решения - СПб.: «ДиаСофтЮП, ДМК Пресс», 2007.

5. Марченко А. И, Марченко Л. А, Программирование в среде Turbo Pascal 7.0. Базовый курс: М.: «Век+», 2003.

Размещено на Allbest.ru


Подобные документы

  • Решения задачи графическим и программным способами. Описание алгоритма решения графическим способом, укрупненная схема алгоритма. Ввод элементов двумерного массива, вывод преобразованного массива, разработка программы на языке pascal, листинг программы.

    курсовая работа [115,5 K], добавлен 22.05.2010

  • Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.

    контрольная работа [150,4 K], добавлен 03.05.2014

  • Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.

    курсовая работа [446,0 K], добавлен 19.06.2014

  • Анализ эффективности методов сортировки данных в языке Turbo Pascal. Разработка эскизного и технического проекта программы. Сортировка без и с использованием дополнительной памяти, за исключением небольшого стека (массива). Сортировка связанных списков.

    курсовая работа [359,0 K], добавлен 23.05.2012

  • Описание методов вычисления определителя матрицы. Математическое решение задачи с применением метода исключения Гаусса с выбором главного элемента. Схема алгоритма программы, описание переменных и структур данных, текст программы на языке Pascal.

    курсовая работа [438,8 K], добавлен 16.02.2011

  • Разработка и тестирование программы на языке Pascal для поиска, вывода на экран и сохранения в файл списка книг с фамилиями авторов в алфавитном порядке, изданных после 2012 года. Разработка алгоритма и его описание. Инструкции по эксплуатации приложения.

    курсовая работа [903,0 K], добавлен 13.06.2013

  • Разработка программы на языке Turbo Pascal, обеспечивающей работу пользователя в диалоговом режиме с возможностью выбора функций с помощью одноуровневого меню вертикального типа. Блок-схема и листинг программы, описание руководства пользователя.

    курсовая работа [1,5 M], добавлен 17.03.2014

  • Переменные типа integer, real, их функции. Общее понятие о массиве, файлы для Pascal. Информационный и информанизационный набор списка. Реализация и тестирование программы. Выбор базы данных, внесение имени, меню. Блок-схема алгоритма, листинг программы.

    курсовая работа [306,0 K], добавлен 04.02.2013

  • Описание алгоритма решения задачи графическим способом. Ввод элементов исходного массива в цикле. Нахождение определённых элементов. Сортировка элементов с помощью пузырькового метода. Разработка программы на языке Pascal. Поиск наибольшего элемента.

    лабораторная работа [123,5 K], добавлен 15.01.2014

  • Разработка эскизного и технического проектов программы "Helpopr" (ввод, хранение и вывод данных на дисплей по запросу пользователя). Язык программирования Turbo Pascal. Описание алгоритма программы. Требования к компьютеру и программному обеспечению.

    курсовая работа [198,1 K], добавлен 03.02.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.