Помощь в написании студенческих работ
Антистрессовый сервис

Подпрограммы пользователя в языке Pascal. 
Подпрограмма-функция

Курсовая Купить готовую Узнать стоимостьмоей работы

Курсовая работа посвящена вопросам реализации подпрограмм на языке высокого уровня pascal. Первая часть работы является теоретическим исследованием рассматриваемых вопросов. Проанализированы методы описания процедур и функций в pascal, а так же проанализированы виды процедур, функций, а так же особенности описания и реализации. Рассмотрены вопросы, связанные с описанием параметров процедур… Читать ещё >

Подпрограммы пользователя в языке Pascal. Подпрограмма-функция (реферат, курсовая, диплом, контрольная)

Содержание

  • 1. ТЕОРЕТИЧЕСКАЯ ЧАСТ
    • 1. 1. Общие сведения о реализации подпрограмм
    • 1. 2. Использование процедур в языке Pascal
    • 1. 3. Механизм передачи параметров
      • 1. 3. 1. Параметры-значения
      • 1. 3. 2. Параметры-переменные
      • 1. 3. 3. Параметры-константы
    • 1. 4. Использование функций
    • 1. 5. Вложенные процедуры и функции
  • 2. ПРОЕКТНАЯ ЧАСТ
    • 2. 1. Условие задачи
    • 2. 2. Тестовые примеры
    • 2. 3. Схема алгоритма
  • 3. ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТ
    • 3. 1. Листинг программы
    • 3. 2. Протокол работы программы
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
  • ПРИЛОЖЕНИЕ, А ЛИСТИНГ И ПРОТОКОЛ РАБОТЫ МОДИФИЦИРОВАННОЙ ПРОГРАММЫ

Рис. 2.

2. Схема алгоритма метода «пузырька»

Рис.

2.3 Алогритм процедуры ввода элементов массива Рис.

2.4 Алогритм процедуры вывода элементов массива

Рис.

2.4 Алогритм функции перестановки элементов массива

3 ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ

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

Согласно разработанного алгоритма, в разделе 2.3, используя язык программирования Pascal, была разработана программа текст, которой представлен ниже

{программа сортирует по возрастанию массив из 100 целых элементов}

program sort;

{подключаем библиотеку, содержащую функции стирания экрана и ожидания нажатия клавиши}

uses crt;

{описываем тип массива}

type massive=array[1.100] of integer;

{описываем необходимые переменные}

var lb, ub: integer;

i, n, a0:integer;

flag:boolean;

A:massive;

procedure vvod (var A: massive);

{процедура ввода массива}

begin

for i:=1 to n do

begin

write ('A[', i,']=');

read (A[i]);

end;

end;

procedure vuvod (var A: massive);

{процедура вывода массива}

begin

for i:=1 to n do

writeln (A[i]);

writeln ('');

readkey;

end;

function swap: boolean;

{функция перестановки элементов массива}

begin

a0:=A[i+1];

A[i+1]: =A[i];

A[i]: =a0;

swap:=false;

end;

{начало главной программы }

Begin

{стирание экрана }

clrscr;

{ввод размера массива}

Writeln ('Vvedite N');

readln (N);

lb:=1;

ub:=n-1;

{ввода массива}

vvod (A);

repeat

flag:=true;

for i:=1 to ub do

if A[i]>A[i+1] then

{перестановка элементов массива}

flag:=swap;

writeln ('************');

{вывод промежуточных результатов}

vuvod (A);

{завершение цикла обработки }

until flag=true;

{ вывод результирующего массива}

writeln ('Rezultat');

vuvod (A);

end.

3.2 Протокол работы программы

Vvedite N

A[1]=7

A[2]=0

A[3]=-4

A[4]=3

A[5]=1

A[6]=-2

A[7]=5

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

Rezultat

— 4

— 2

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

Применение модифицированного метода сортировки пузырька (Шейк-сортировки) обычно приводит к повышению скорости и уменьшению операций при сортировке массива, особенно в тех случаях когда массив является частично упорядоченным. Листинг разработанной программы по методу Шейк сортировки и протокол работы программы приведены в приложении А. Результаты показывают, что результат сортировки по этому методу достигается быстрее. Как недостаток метода Шейк-сортировки необходимо отметить некоторую большую сложность по сравнению с методом пузырька.

Рапаков Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal. — СПб.: БХВ-Петербург, 2004. — 480 с.

Окулов С. М. Программирование в алгоритмах. М. Бином: 2002.

Ахо А. Д. Хопкрофт Д.Є. Ульман Структуры данныхи алгоритмы. Москва, Санкт-Петербург, 2000

Иванов Б. Н. Дискретная математика алгоритмы. Алгоритмы и программы. Лаборатория базовых знаний 2003

Голицына О. Л. Попов И.И. основы алгоритмизации и программирования. Москва, 2008

ПРИЛОЖЕНИЕ, А ЛИСТИНГ И ПРОТОКОЛ РАБОТЫ МОДИФИЦИРОВАННОЙ ПРОГРАММЫ

program sort;

uses crt;

type massive=array[1.100] of integer;

var lb, ub: integer;

i, n, a0:integer;

flag:boolean;

A:massive;

procedure vvod (var A: massive);

begin

for i:=1 to n do

begin

write ('A[', i,']=');

read (A[i]);

end;

end;

procedure vuvod (var A: massive);

begin

for i:=1 to n do

writeln (A[i]);

writeln ('');

readkey;

end;

function swap: boolean;

begin

a0:=A[i+1];

A[i+1]: =A[i];

A[i]: =a0;

swap:=false;

end;

function swap1: boolean;

begin

a0:=A[i];

A[i]: =A[i-1];

A[i-1]: =a0;

swap1:=false;

end;

begin

clrscr;

Writeln ('Vvedite N');

readln (N);

lb:=1;

ub:=n-1;

vvod (A);

repeat

flag:=true;

for i:=1 to ub do

if A[i]>A[i+1] then flag:=swap;

writeln ('************');

vuvod (A);

if flag=true then break;

for i:=n downto 2 do

if A[i-1]>A[i] then flag:=swap1;

writeln ('************');

vuvod (A);

until flag=true;

writeln ('Rezultat');

vuvod (A);

end.

Протокол работы программы

Vvedite N

A[1]=7

A[2]=0

A[3]=-4

A[4]=3

A[5]=1

A[6]=-2

A[7]=5

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

************

— 4

— 2

Rezultat

— 4

— 2

Показать весь текст

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

  1. Г. Г., Ржеуцкая С. Ю. Программирование на языке Pascal. — СПб.: БХВ-Петербург, 2004. — 480 с.
  2. С. М. Программирование в алгоритмах. М. Бином: 2002.
  3. Ахо А. Д. Хопкрофт Д.Є. Ульман Структуры данныхи алгоритмы. Москва, Санкт-Петербург, 2000
  4. .Н. Дискретная математика алгоритмы. Алгоритмы и программы. Лаборатория базовых знаний 2003
  5. О. Л. Попов И.И. основы алгоритмизации и программирования. Москва, 2008
Заполнить форму текущей работой
Купить готовую работу

ИЛИ