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


 

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

74989. Местоимение как часть речи. Роль местоимений в тексте 115.5 KB
  ЦЕЛЬ: Дать представление о местоимении как части речи; познакомить с особенностями местоимений и их ролью в речи; учить подбирать необходимые местоимения в связной речи. Называют ли местоимения она у нее конкретный предмет или только указывают на него...
74990. Інтерактивні методи навчання на уроках у початковій школі 42.5 KB
  Інтерактивне навчання забезпечує взаєморозуміння взаємодію взаємозбагачення. Сумісна діяльність учнів у процесі навчання полягає в тому що кожний учень сильний чи слабкий вкладає в цей процес свій особистий індивідуальний внесок.
74991. День Святого Миколая 34.5 KB
  Найбільшою пошаною в народі відзначалося свято Миколи, який вважається покровителем бідний і знедолених та заступником рибалок і моряків. Святого Миколу вшановують два рази на рік: 22 травня і 19 грудня.
74993. Твой первый миллион 72.5 KB
  Цель: установить коэффициент интеллекта участников, расширить кругозор, активизировать мыслительную деятельность, смекалку, сообразительность, заинтересованность в чтении дополнительной литературы; воспитывать целеустремленность, смелость, решительность.
74994. MINI GAMES 76.5 KB
  Цель: развитие коммуникативного подхода к обучению английского языка. Игры приобретают особое значение, в изучении иностранного языка, способствуя развитию мотивации к изучению, тренировке и развитию речевой деятельности.
74995. Історія розвитку моди 121 KB
  Мета. Підсумувати і збагатити знання учнів про моду й модні тенденції в одязі, розширити світогляд, викликати інтерес до професій художньо-естетичного циклу; сприяти розвитку творчого мислення, фантазії; виховувати естетичний смак, творче ставлення до праці...
74996. Монолог. Вибирати інтонацію 43 KB
  Мета: познайомити учнів з терміном монолог його значенням; вчити відшукувати монолог в тексті; підбирати відповідну інтонацію; будувати та читати монолог; вміти розрізняти монолог від діалогу; розвивати монологічне та діалогічне мовлення; виховувати культуру мовлення та спілкування.