795

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

Курсовая

Информатика, кибернетика и программирование

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

Русский

2013-01-06

190.5 KB

29 чел.

АЛЬМЕТЬЕВСКИЙ ГОСУДАРСТВЕННЫЙ

НЕФТЯНОЙ ИНСТИТУТ

КАФЕДРА ИНФОРМАТИКИ

КУРСОВАЯ РАБОТА

ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»

РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL

НА ТЕМУ: Разработка в среде Turbo Pascal программы, реализующей нахождение чисел фибоначчи

                                                                выполнил

                                                                       студент Паллыева А.Б.

                                                                группы: 31-91

                                                                проверил: ст.преподаватель

                                                                Ханова И.А.

АЛЬМЕТЬЕВСК 2012

Оглавление

Оглавление 2

ВВЕДЕНИЕ 3

РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ PASCAL 5

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

Задача №1 8

Задача №2 11

Задача №3 16

Задача №4 21

Заключение ……………………………………………………………………... 24

Список использованной литературы: 25


ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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


РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ PASCAL

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

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

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

USES   CRT;

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

Procedure ClrScr;

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

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

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

Const

N=30;

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

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

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

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

A:ARRAY[1...N]OF INTEGER;

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

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

Раздел описания переменных начинается со слова BEGIN.

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

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

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

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

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

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

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

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

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


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

Задача №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

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

Начало

N=11

I=1,N,1

                                    A[I]=RANDOM(30)

                                                  I=1,N,1

A[I]

                                                              K=0

I=1,N,1

K=K+A[I]

К/N

  1

 

 

1

MIN=A[1]

MAX=A[1]

K=1

J=1

                         I=1,N,1                          2

A[I]>MAX

MAX=A[I]

K=I

A[I]<MIN

MIN=A[I]

J=I


 2

MIN=0

I=1,N,1

A[I]>K/N

INC(MIN)

MIN=0

I=1,N,1

MIN=MIN+A[I]

MAX=MAX*N

MAX*100/MIN

Конец

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

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.

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


Задача №
3

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

Начало

N=15

I=1,N,1

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

I=1,N,1

A[I]

MIN=A[1]

MAX=A[1]

K=1

J=1

 1
         1

 

I=1,N,1

A[I]>MAX

MAX=A[I]

K=I

A[I]<MIN

MIN=A[I]

J=I

                     3                               J<K

                        I=1,N,1                       2

A[I]>0

MAX=MAX+A[I]

MIN=MIN+1

                                                        2                            3

I=K,J,1

A[I]>0

MAX=MAX+A[I]

INC(MIN)

Конец

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

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.

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


Задача №4

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

Начало

N=20

I=1,N,1

                                    A[I]=random(5+5)-5

(A[I]<0)OR(A[I]>0)

I=1,N,1

A[I]

I=1

K=1

 1

 1

A[K]>0

(a[i]>0)and(a[i+1]<0)

K=I+1

K=K+1

BREAK

I=I+2

I>=N

K=N

0

                                                              K

           1

         Конец

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

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.

                                                                                  Описание программы


                                                                                                     Задача №2


                                                                                                     Задача №3


                                                                                                     Задача №4


                                                                                                   Заключение


                                                         Список использованной литературы


                                                         Список использованной литературы


23


 

А также другие работы, которые могут Вас заинтересовать

84054. Особенность и роль делового письма в системе управленческих документов. Виды деловых писем 40.32 KB
  По тематическому признаку: Коммерческие используются при подготовке к заключению коммерческой сделки а также при выполнении условий договоров: оферта письмопредложение заявление лица о желании заключить сделку с указанием конкретных условий сделки; письмозапрос обращение одной стороны к другой о желании заключить сделку как правило без указания условий сделки либо уточнить какойто вопрос при осуществлении сделки; рекламация письмопретензия претензии к стороне сделки которая нарушила принятые на себя по договору...
84055. Язык и стиль деловой документации: общая характеристика, основные требования, типичные ошибки 38.17 KB
  Типичные ошибки в языке и стиле деловой корреспонденции К сожалению составители деловых писем зачастую допускают массу ошибок. Структурные ошибки. Синтаксические ошибки.
84056. Электронный документ: понятие, преимущества, проблемы использования. Проблема защиты информации 36.15 KB
  В современном законодательстве есть несколько определений понятия электронный документ: 1 Электронный документ документ на машиночитаемом носителе для использования которого необходимы средства вычислительной техники п. 2 Электронный документ информационный объект состоящий из двух частей: реквизитной содержащей идентифицирующие атрибуты имя время и место создания данные об авторе и т. При необходимости документ электронный может приобретать различные формы визуального отображения: на экране или бумаге Р 50.
84057. Функции программных продуктов Microsoft Word, Microsoft Excel для подготовки документов. Возможности Microsoft Power Point для подготовки презентаций 38.97 KB
  Microsoft Excel это идеальное средство для решения учетных задач обработки экспериментальных данных составления отчетов и т. Документ Excel называется рабочей книгой. Книга Excel состоит из листов представляющих собой таблицы ячеек в которых может храниться числовая и текстовая информация.
84058. Преимущества и недостатки современных платформ создания систем электронного документооборота: Дело, Интертраст, Optima-Workflow, Documentum 44.3 KB
  Дело Преимущества СЭД Дело Для руководителей различных уровней: быстрый поиск документов; отслеживание движения документа на всех этапах его жизненного цикла; эффективный контроль и отчетность по исполнению резолюций; сокращение сроков подготовки и согласования документов; удобная работа над проектами документов; получение сводных отчетов и журналов; возможность делегирования полномочий. Для сотрудников канцелярий секретариатов для делопроизводителей: быстрая и удобная регистрация документов с помощью развернутой системы...
84059. Вход и регистрация в ИСЭД. Подготовка внутреннего документа. Подготовка исходящего документа. Продление срока исполнения поручений в ИСЭД 36.19 KB
  Подготовка внутреннего документа. Подготовка исходящего документа. Подготовка внутреннего документа на основании регламента процесса СПД. Подготовка внутреннего документа Начальные условия процесса: возникла необходимость в подготовке внутреннего документа.
84060. Прием, обработка, регистрация и распределение входящих и внутренних документов в ИОГВ Пермского края. Порядок рассмотрения документов. Организация работы с документами, содержащими служебную информацию ограниченного распространения 41.09 KB
  Инструкция по делопроизводству Прием обработка регистрация и распределение входящих и внутренних документов Доставка документов в Правительство Пермского края администрацию губернатора Пермского края аппарат Правительства Пермского края исполнительные органы государственной власти Пермского края осуществляется как правило средствами почтовой фельдъегерской факсимильной и электрической связи. В исполнительных органах государственной власти Пермского края администрации губернатора Пермского края прием обработка регистрация и...
84061. Взаимодействие мышц с нервной системой, нервно-мышечная единица 29.5 KB
  Выделяют центральную нервную систему которая состоит из головного и спинного мозга и периферическую состоящую из нервов отходящих от головного и спинного мозга межпозвоночных нервных узлов а также из периферического отдела вегетативной нервной системы. ЦНС состоит из спинного и головного мозга. Чем выше расположена та или иная часть мозга тем сложнее ее функции. Продолговатый и средний мозг вместе образуют стволовую часть головного мозга.
84062. Функции крови. Особенности строения клеток и плазмы крови 30.64 KB
  Функции крови. Особенности строения клеток и плазмы крови. От вязкости крови зависят в значительной мере скорость с которой кровь протекает через артерии полуупругие структуры и кровяное давление. Текучесть крови определяется также ее плотностью и характером движения различных типов клеток.