795

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

Курсовая

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

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

Русский

2013-01-06

190.5 KB

28 чел.

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

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

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

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

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

РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК 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


 

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

26277. Теоретические основы и организация проведения экспертизы ценности документов Архивного Фонда Российской Федерации и других архивных документов 33.06 KB
  Отбор документов на гос.выделение документов к уничтожению 5. Систему составляют три группы критериев: происхождение документов их содержание и внешние особенности.
26279. Учет архивных документов 70 KB
  10 Роль учета: Одним из важнейших направлений деятельности государственных и муниципальных архивов является осуществление государственного учёта архивных документов. Учёт одновременно является средством обеспечения сохранности документов их адресного поиска а также создаёт возможность для разработки и использования информационных справочников. На основе данных учётных документов рассчитываются штатная численность сотрудников архивов площади и оборудование необходимые для хранения документов и осуществляется финансирование.
26280. Обеспечение сохранности документов 48 KB
  Обеспечение сохранности документов до середины 30х гг. понималось в комплексе с другими направлениями сбор концентрация в архивах использование документов когда комплектование и использование документов оформляются как самостоятельное направление – проблема обеспечения сохранности включала учет и организацию хранения документов. она связывалась с эвакуацией и реставрацией документов.
26281. Система НСА к архивным документам 19.24 KB
  Назначение СНСА. Понятие первичная информация вторичная информация СНСА архива СНСА АФ РФ Архивный справочник отражение вопросов связанных с НСА в законодательных и нормативнометодических актах РФ в 1990е 2000е годы. Требования предъявляемые к СНСА к документам государственных муниципальных архивов. СНСА это комплекс взаимосвязанных и взаимодополняемых архивных справочников о составе и содержании архивных документов создаваемых на единой методической основе для поиска архивных документов и архивной информации в целях...
26282. Организация документов АФ РФ и других архивных документов в архиве 62 KB
  Организация документов АФ РФ и других архивных документов в архиве Архивы в зависимости от их функций и подчиненности можно разделить на две группы: государственные и ведомственные. Государственные архивы учреждения которые осуществляют собирание хранение и организацию архивных документов в целях их всестороннего использования. Наиболее ценная часть документов архива по истечении срока хранения в ведомстве передается на постоянное хранение в государственный архив. Архивный фонд Российской Федерации это исторически сложившаяся и...
26283. Документационное обеспечение управления как отрасль деятельности 16.88 KB
  Документационное обеспечение управления как отрасль деятельности ДОУ – отрасль деятельности занимающаяся организацией работы с документами начиная с их создания либо получения в организации до их исполненения либо отправления. Наряду с термином делопроизводство в последнее время употребляется и синонимичный ему термин документационное обеспечение управления ДОУ. ДОУ включает в себя две составные части: 1 документирование обеспечение своевременного и грамотного создания документов; 2 организация работы с документами организация...
26284. Правовое и нормативно-методическое регулирование доу в РФ в 1990-2000 гг 131 KB
  Подобные правила закрепляются в актах 4 уровней: федеральный уровень уровень органов государственной власти субъектов Российской Федерации уровень органов местного управления уровень органов управления организаций и их объединениями. Например: по положению в системе нормативных актов по уровню управления: закон распоряжение и т. В соответствии с уровнями управления источниками норм и правил делопроизводства являются: законодательство РФ законодательство субъектов РФ нормативные акты органов местного самоуправления...
26285. ДОКУМЕНТ: ПОНЯТИЕ, ФУНКЦИИ, СВОЙСТВА 20.56 KB
  здесь нашла отражение прежде всего информационная сущность документа. Этот же ГОСТ определяет реквизит как обязательный элемент оформления официального документа. Добавлении в определение функции документа. Управление документами.