Разработка алгоритма и Паскаль-программы по вычислению сложной функции

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.03.2012
Размер файла 469,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Факультет информационных технологий и робототехники

Кафедра "Электропривод и автоматизация промышленных установок и технологических комплексов"

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по информатике

Тема: "Разработка алгоритма и Паскаль-программы по вычислению сложной функции"

Исполнитель: ______________________ Рудник В.В.

студент 2 курса 107639 группы

Руководитель: _________ ассистент каф. «ЭАПУ и ТК» Д.С. Васильев

Минск 2010

ВВЕДЕНИЕ

Язык программирования Паскаль (назван в честь выдающегося французского математика и философа Блеза Паскаля (1623 -- 1662)), разработан в 1968 -- 1971 гг. Никлаусом Виртом, профессором, директором Института информатики Швейцарской высшей политехнической школы. Язык Паскаль, созданный первоначально для обучения программированию как систематической дисциплине, скоро стал широко использоваться для разработки программных средств в профессиональном программировании.

Широкой популярности Паскаля среди программистов способствовали следующие причины:

· Благодаря своей компактности, удачному первоначальному описанию Паскаль оказался достаточно легким для изучения.

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

· Язык Паскаль позволяет четко реализовать идеи структурного программирования и структурной организации данных.

· Язык Паскаль сыграл большую роль в развитии методов аналитического доказательства правильности программ и позволил реально перейти от методов отладки программ к системам автоматической проверки правильности программ.

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

· Использование в Паскале простых и гибких структур управления: ветвлений, циклов.

Разработка программ на Паскале включает в себя следующие действия (этапы разработки программы): ввод и редактирование текста программы на языке программирования Паскаль, ее трансляцию, отладку.

Для выполнения каждого этапа применяются специальные средства: для ввода и редактирования текста используется редактор текстов, для трансляции программы -- компилятор, для построения исполняемого компьютером программного модуля с объединением разрозненных откомпилированных модулей и библиотекой стандартных процедур Паскаля -- компоновщик (linker), для отладки программ с анализом ее поведения, поиском ошибок, просмотром и изменением содержимого ячеек памяти компьютера -- отладчик (debugger).

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

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

Интегрированная среда программирования Турбо Паскаль версий 6.0 и 7.0 имеет следующие возможности:

· множество накладывающихся окон;

· поддержка мыши, меню, диалоговых окон;

· многофайловый редактор, который может редактировать файлы до 1 Мбайта;

· расширенные возможности отладки;

· полное сохранение и восстановление среды разработки.

· К ее существенным отличиям от среды программирования Турбо Паскаль более ранних версий относятся:

· объектно-ориентированная среда разработки прикладных программ Turbo Vision;

· полные возможности встроенного ассемблера;

· личные поля и методы в объявлении объектов;

· директива расширенного синтаксиса $Х, которая позволяет вам интерпретировать функции как процедуры (и игнорировать результаты функций);

· генерация кода 286;

· адресные ссылки в типизированных константах;

· директивы ближних и дальних процедур;

· редактирование инициализированных данных из объектных файлов;

· более быстрый монитор кучи, сокращающий фрагментацию (FreeMin и FreeList удалены);

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

Pascal является традиционным алгоритмическим языком программирования, продолжающим линию Algol-60. Это означает, что программа на языке Pascal представляет собой специально организованную последовательность шагов по преобразованию данных, приводящую к решению некоторой задачи. Это отличает Pascal от так называемых непроцедурных языков типа Prolog, по существу, представляющих собой формализмы для записи начальных условий некоторой задачи и синтезирующих решение посредством встроенных механизмов логического вывода.

Язык Pascal содержит удобные средства для представления данных. Развитая система типов позволяет адекватно описывать данные, подлежащие обработке, и конструировать структуры данных произвольной сложности. Pascal является типизированным языком, что означает фиксацию типов переменных при их описании, а также строгий контроль преобразований типов и контроль доступа к данным в соответствии с их типом (как на этапе компиляции, так и при исполнении программ).

Набор операторов языка Pascal отражает принципы структурного программирования и позволяет записывать достаточно сложные алгоритмы в компактной и элегантной форме. Pascal является процедурным языком с традиционной блочной структурой и статически определенными областями действия имен. Процедурный механизм сочетает в себе простоту реализации и использования и гибкие средства параметризации.

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

Паскаль - компилятор, тоесть, прежде чем начать испоолнение программы, Паскаль полностью прочитывает исходный текст, написанный программистом, и составляет последовательность машинных кодов, выполняющую те действия, которые описал программист в hqundmnl тексте. Эта последовательность сохраняется в файл с расширением “.EXE” и является самостоятельным исполняемым файлом, который может быть запущен сам по себе, уже без участия Паскаля и, даже, на другом компъютере, на котором Паскаль может быть не установлен.

Прошло много времени с момента появления Паскаля на рынке программных продуктов, прежде чем он получил всеобщее признание. Признание программистов и простых пользователей пришло вследствие появления языка программирования Турбо Паскаль (ТП) -диалекта языка, созданного американской фирмой Борланд. Эта фирма объединила очень быстрый компилятор с редактором текста и добавила к стандартному Паскалю мощное расширение, что способствовало успеху первой версии этого языка.

В 1985 году на рынке ПЭВМ появился язык программирования Турбо Паскаль (версия 3.0) с компилятором стандартного Паскаля. С тех пор Паскаль стал применяться в общеобразовательных, профессионально-технических школах и в сфере высшего образования в качестве "первого" языка программирования. Благодаря простоте использования язык Турбо Паскаль получил широкое распространение и в любительских кругах. Повышению популярности Турбо Паскаля способствовал набор небольших сопутствующих программ (т.н. Tools), позволяющих получать чрезвычайно компактную, быструю и легко читаемую программу.

Эти качества Турбо Паскаля были высоко оценены и в среде профессиональных программистов. Встроенный редактор текста использует достаточно широко распространенную систему команд, берущую начало от пакета WordStar и хорошо знакомую каждому, кто интенсивно использует ПЭВМ.

В появившемся со временем пакете Турбо Паскаль 4.0 было устранено большинство подвергавшихся критике ограничений компилятора и была повышена производительность системы. Кроме того, новый компилятор версии 4.0 имел существенные отличия от предыдущей версии. Наиболее важным нововведением была UNIT- концепция, заимствованная из языка Модула-2. Это дало возможность реализовать в рамках ТП разработку крупных программных продуктов.

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

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

Кроме того, в ТП 5.0 были расширены возможности отладки (debugging) программ и обеспечена возможность поддержки расширенной помята в стандарте Lotus-Intel-Microsoft (LIMS/EMS 4.0). Сокращение EMS обозначает Expanded Memory Specification (спецификация расширенной памяти). Нельзя путать этот вид дополнительной памяти с другим - Extended Memory (сокращенно - XMS). EMS имеется на обычных ПЭВМ класса ХТ, в то время как Extended Memory -только на машинах АТ-класса (с процессором 286, 386 и выше) при объеме памяти свыше 1 Мбайта.

В этой версии были также исправлены и улучшены библиотеки графических процедур, поставляемые вместе с пакетом ТП. При этом обеспечивалась полная совместимость с графическими адаптерами класса VGA (Video Graphics Array).

В рамках версии ТП 5.5 были осуществлены дальнейшие преобразования в направлении улучшения технических характеристик пакета. Наряду с внутренними улучшениями и новыми возможностями встроенной справочной системы Help и большим набором учебных примеров, важным нововведением явилась реализация в языке концепции объектно-ориентированного программирования (ООП).

Через некоторое время на рынке появилась версия 6.0 ТП, в которой чисто теоретическая концепция объектно-ориентированного программирования была реализована практически с полным набором объектов, которые могли использоваться для решения прикладных задач пользователя. Кроме того, реализация системы меню приведена b соответствие со стандартом SAA (Turbo Vision). В качестве практического примера использования новых возможностей был реализован текстовый редактор, встроенный в IDE - Integrated Development Environment - интегрированную инструментальную оболочку. При этом сторонники программирования на ТП 6.0 получили возможность не только работать со встроенным многооконным текстовым редактором, но и использовать мышь, которая значительно облегчает работу пользователя.

В 1992 году фирма Borland International представила пользователям очередную версию языка программирования Паскаль - Турбо Паскаль 7.0. Наряду со всеми преимуществами, которые ТП 7.0 унаследовал от предыдущей версии ТП (многооконный режим работы, возможность использования мыши, возможность использования при написании программ языка программирования низкого уровня Ассемблер или прямого ввода машинного кода, возможность создавать объектно- ориентированные программы), в нем были произведены изменения и улучшения:

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

Язык программирования ТП 7.0 был расширен (появилась возможность использовать типизированный адресный оператор, открытые массивы и строки и т.д.), что предоставило пользователю дополнительные возможности при решении повседневных задач.

Был улучшен компилятор, вследствие чего "коды программ" стали более эффективными.

Был улучшен интерфейс пользователя. Кроме того, в ТП 7.0 расширены возможности объектно-ориентированного программирования (в частности, расширены и улучшены возможности Turbo Vision).

1. АНАЛИЗ ЗАДАННОЙ ФУНКЦИИ И РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ АЛГОРИТМА ПО ЕЁ ВЫЧИСЛЕНИЮ

Согласно заданию необходимо вычислить заданную сложную функцию,

, при x?b ,

yj =

, при x?b;

где j=1,2,3,…,m; - массив случайных чисел в диапозоне от -7 до 7; b=bнач + j;

; =.

алгоритм паскаль программа функция

Значения параметров: m=24; =2,5; bнач=4; n=6; ;.

Найти среднее геометрическое значений функций yj для j нечетных кратных трём.

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

b=bнач + j; , =.

При организации циклических процессов рекомендуется выносить за пределы цикла те вычисления, которые достаточно выполнить один раз, что уменьшает затраты времени на решение задачи.

Определив промежуточные переменные необходимо использовать разветвление на два направления, определяющее рабочую формулу на данном шаге. С учётом данных тезисов разрабатывается структурная блок-схема алгоритма программы, которая представлена на рисунке 1.

БЛОК-СХЕМА АЛГОРИТМА ПРОГРАММЫ

Рис 1.

Блок-схема алгоритма программы 24

2. ПРОГРАММИРОВАНИЕ ОТДЕЛЬНЫХ БЛОКОВ И СТРУКТУР АЛГОРИТМОВ

1) Начало программы, объявление необходимых констант и переменных, построение системы координат.

6) Построение графика, открытие доступа к файлу вывода и вывод результатов значений массивов x1,y1, а также среднего геометрического значения массива y1[j] для j нечетных кратных трем в файл. Конец программы.

3. ПОЛНАЯ ПРОГРАММА В СООТВЕТСТВИИ С РАЗРАБОТАННЫМ АЛГОРИТМОМ

Полная рабочая программа написанная по блок-схеме алгоритма представленного на рисунке 1.1 будет иметь следующий вид:

{$n+}

uses graph;

const

m=24;

hb=1.5;

bn=4;

n=6;

xn=1;

hx=2.5;

var

x1,y1:array[1..m] of extended;

z:array[1..m] of integer;

i,j,q: integer;

fac,b,a,srg: extended;

graphmode, graphdriver:integer;

begin

graphdriver:=detect;

initgraph (graphdriver, graphmode,'d:\bp\bgi');

line(0,240,640,240);

line(630,230,640,240);

line(630,245,640,240);

line(320,0,320,480);

line(315,10,320,0);

line(325,10,320,0);

outtextxy(620,225,'x');

outtextxy(330,15,'y');

outtextxy(410,250,'100');

outtextxy(510,250,'200');

outtextxy(610,250,'300');

outtextxy(210,250,'-100');

outtextxy(110,250,'-200');

outtextxy(10,250,'-300');

outtextxy(280,40,'200');

outtextxy(285,140,'100');

outtextxy(285,340,'-100');

outtextxy(280,440,'-200');

setcolor(4);

randomize;

srg:=1;

q:=0;

for i:=1 to m do

begin

z[i]:=random(15)-7;

if z[i]=0 then z[i]:=1;

end;

b:=0; x1[1]:=0;

a:=0; fac:=1;

for i:=1 to n do

begin

fac:=fac*i;

a:=a+(i+1)/fac;

end;

for j:=1 to m do

begin

b:=bn+j*hb; x1[j]:=xn+j*hx;

if x1[j]<=b then y1[j]:=a+x1[j]*z[j]

else if x1[j]>b then y1[j]:=(x1[j]+z[j])/(x1[j]*z[j])-a;

if (j mod 2<>0)and(j mod 3=0) then

begin

srg:=srg*y1[j];

inc(q);

end;

end;

for j:=2 to m do

begin

line(trunc(x1[j-1])+320,trunc(-y1[j-1])+240,trunc(x1[j])+320,trunc(-y1[j])+240);

end;

readln;

assign(output,'znach.txt');

rewrite(output);

writeln('X':5,'Y':7);

for i:=1 to m do writeln(x1[i]:7:3,' ',y1[i]:7:3);

writeln('Среднее арифметическое значений функций: ',srg/q:0:3);

end.

4. АНАЛИЗ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ И РАСЧЕТОВ

Результат расчетов на ПК:

X Y

3.500 11.435

6.000 46.435

8.500 -4.065

11.000 -4.844

13.500 -4.194

16.000 -4.172

18.500 -4.547

21.000 -4.554

23.500 -3.892

26.000 -4.146

28.500 -3.400

31.000 -4.202

33.500 -4.655

36.000 -4.264

38.500 -3.409

41.000 -4.577

43.500 -3.412

46.000 -4.080

48.500 -4.914

51.000 -4.215

53.500 -5.416

56.000 -3.417

58.500 -3.418

61.000 -4.752

Среднее арифметическое значений функций: 73.029

График функции y=f(j) представлен на рисунке 2

Рис 2. Пример графика функции y=f(j)

ЗАКЛЮЧЕНИЕ

Данная курсовая работа была написана в среде программирования Турбо Паскаль. В процессе выполнения работы усвоены основные принципы написания программы на языке Паскаль, закреплены знания по программированию алгоритмов с использованием функций пользователя и созданию алгоритмов в целом. Результатом проделанной работы стала программа по вычислению сложной функции y. Правильность результатов полученных в программе подтвердила ручная проверка.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Вычислительная техника в инженерных и экономических расчетах / А.В. Петров [и др.]. - М.: Высш. школа, 1984. - 320 с.

2. Павлович, С.Н. Вычислительная техника и программирование: учебно-методическое пособие для студентов электротехнических специальностей. - Мн.: БГПА, 1999. - 187 с.

3. Вальвачев, А.Н., Крисевич, В.С. Программирование на языке Паскаль для персональных ЭВМ ЕС. - Мн.: Выш. шк., 1989. - 223 с.

4. Паскаль для персональных компьютеров / Ю.С. Бородич [и др.]. - Мн.: Выш. шк., 1991. - 356 с.

5. ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. - М.: Госстандарт, 1990. - 28 с.

Размещено на Allbest.ru


Подобные документы

  • Анализ заданной сложной функции и разработка структурной схемы алгоритма по её вычислению. Программирование отдельных блоков и структур алгоритма решаемой задачи на языке Паскаль. Полная программа в соответствии с алгоритмом. Результаты расчётов на ПК.

    курсовая работа [59,2 K], добавлен 09.04.2012

  • Анализ функции и разработка алгоритма по ее вычислению. Программирование отдельных блоков и структур алгоритма. Структура Паскаль-программы. Раздел описаний, подпрограммы, тело программы. Полная Паскаль-программа в соответствии с разработанным алгоритмом.

    курсовая работа [241,8 K], добавлен 30.01.2016

  • Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.

    курсовая работа [446,0 K], добавлен 19.06.2014

  • Анализ технического задания. Разработка программы по вычислению функции на языке ассемблер для микропроцессора Кр580ВМ80. Алгоритмы программного умножения, деления, сложения, вычитания и сдвига влево многобайтных чисел. Расчет времени работы программы.

    курсовая работа [88,2 K], добавлен 19.09.2012

  • Элементы и переменные, используемые для составления записи в Паскале. Основные числовые типы языка Turbo Pascal. Составление блок-схемы приложения, программирование по ней программы для вычисления функции. Последовательность выполнения алгоритма.

    лабораторная работа [256,9 K], добавлен 10.11.2015

  • Описание принципа работы генетического алгоритма, проверка его работы на функции согласно варианту на основе готовой программы. Основные параметры генетического алгоритма, его структура и содержание. Способы реализации алгоритма и его компонентов.

    лабораторная работа [20,2 K], добавлен 03.12.2014

  • Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.

    контрольная работа [150,4 K], добавлен 03.05.2014

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

    курсовая работа [305,9 K], добавлен 03.07.2011

  • Актуальность задачи. Разработка функциональной схемы устройства. Радиолокационная установка (РЛУ). Микропроцессорная часть. Обоснование алгоритма работы устройства. Разработка управляющей программы устройства. Схема алгоритма. Пояснения к программе.

    курсовая работа [193,9 K], добавлен 18.10.2007

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

    контрольная работа [115,9 K], добавлен 14.04.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.