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


 

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

21119. Література у другій половині XVII – XVIII ст. 26.69 KB
  Література у другій половині XVII XVIII ст. Розвиток літератури протягом другої половини XVII першої половини XVIII ст. Так званий леонінський вірш що поширився у XVIII ст. В кінці XVIII ст.
21120. Козацькі літописи (друга половина XVII - XVIII ст.) 17.41 KB
  Літописом Самовидця назвав цей твір Пантелеймон Куліш бо неназваний автор вважається що ним був представник козацької старшини Роман Ракушка став очевидцем подій від початку Визвольної війни і до 1702 р. Цей твір має не лише історіографічну а й значну літературну вартість. Але й недописаний твір складається з чотирьох томів які систематично охоплюють події 16481700 рр. Твір написано емоційно образною книжною українською мовою з використанням народної фразеології поетичних творів українських авторів.
21121. Філософія у другій половині XVII - XVIII ст. Творчість Г. С. Сковороди 17.36 KB
  Сковороди Певний внесок зробив Ф. Феноменальним явищем в історії української культури була творчість Григорія Савича Сковороди 17221794. Характерним для філософської позиції Сковороди є широке використання мови образів символів а не чітких раціоналістичних понять які не в змозі відповідно розкрити сутність філософської та життєвої істини. Тому заклик Сковороди пізнай себе означає в нього пізнати Бога в собі у глибині свого єства.
21122. Архітектура у другій половині XVII - XVIII ст. 18.21 KB
  спостерігається співіснування та переплетіння різних стилів з виразним домінуванням стилю бароко. знаменує розквіт нового своєрідного стилю який носить назву козацьке бароко. Це найменування покликане підкреслити що в Україні архітектура бароко набуває своєрідних мистецьких форм і національного колориту. Однією з перших споруд у стилі козацького бароко була Миколаївська церква на головному міському майдані у Ніжині 16681669 центрі одного з найбільших козацьких полків.
21123. Живопис у другій половині XVII - XVIII ст. 17.62 KB
  Для українського барокового живопису визначальним став виразний вплив фламандської аристократичної школи Рубенса захоплення якою докорінно змінило попередні національні традиції. Разом з тим стилістика українського живопису цього періоду є досить різноманітною і нерівноцінною за майстерністю. Найвідомішими зразками київської школи монументального живопису є розписи Успенського собору й Троїцької надбрамної церкви у КиєвоПечерській лаврі яким притаманні м'яка пастельна форма письма чуттєвість округла плавність ліній що налаштовують...
21124. Музична культура у другій половині XVII - XVIII ст. 20.11 KB
  В КиєвоМогилянській академії існував хор студентів числом до 300 осіб. Відтоді одяг студентів Київської академії став своєрідною уніформою церковних півчих по всій Російській імперії особливо по архієрейських хорах. Березовський почав складати інструментальні композиції ще під час навчання у Київській академії якими вже тоді звернув на себе увагу. Через Глухівську музичну школу він потрапляє до придворної капели а звідти був відправлений до Болонської музичної академії в Італії де навчався у відомого музичного теоретика Мартіні в якого...
21125. Розвиток етнографії та історичної науки наприкінці XVIII - на початку XX ст. 18.19 KB
  князь Микола Цертелєв грузин за походженням проте щирий патріот України опублікував у Петербурзі Попытку собрания старых малороссийских песен збірку українських історичних дум. Це відбилося у працях кількох нащадків старшинських родів які вийшли у відставку з царської служби й присвятили себе опрацюванню та публікації історичних матеріалів слідами козацьких літописців. У звязку з необхідністю підтвердити своє шляхетське походження яке повинна була засвідчити спеціальна комісія у Петербурзі так звана Геральдія посилився пошук...
21126. Конструирование. Основные понятия и определения 115 KB
  Основные понятия и определения Конструирование является составной частью процесса разработки СВТ и представляет собой комплекс взаимосвязанных работ при выполнении которых необходимы учет разносторонних требований к конструкции устройства знание технологии. Каждое поколение СВТ имело новый тип элементной базы что изменяло правила и положения теории и практики конструирования. Но характерным всегда являлось и является разбиение конструкции и общей схемы СВТ на отдельные часто повторяющиеся устройства оформляемые в виде элементов...
21127. Сутність і соціальна природа релігії 55.5 KB
  Богослови майже усіх релігійних конфесій запевняють своїх віруючих, що їх релігія є віровчення, яке дано людям богом. Так, згідно з уявленням буддистів, буддизм був даний богами людям через Будду, людину, яка досягла вищої святості. Один з Будд, якого прозвали в його земному житті Шакьямуні