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

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

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

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

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

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

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

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

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

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

по дисциплине "Информатика"

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

Исполнитель: М.А. Булавский

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

Руководитель С.Н. Павлович

Содержание

  • Введение
  • 1. Анализ заданной функции и разработка алгоритма по её вычислению
  • 2. Программирование отдельных блоков и структур разработанного алгоритма
  • 2.1 Структура Паскаль-программы
  • 2.2 Раздел описаний
  • 2.3 Подпрограммы
  • 2.4 Тело программы
  • 3. Полная Паскаль-программа в соответствии с разработанным алгоритмом
  • Литература
  • Приложение

Введение

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

Задачей данного курсового проекта является закрепление знаний и навыков в области алгоритмизации и программирования инженерных задач.

1. Анализ заданной функции и разработка алгоритма по её вычислению

Рассмотрим данную нам функцию:

(1.1)

(1.2)

Переменная a меняется одновременно с переменной j от aнач с шагом h. Переменная j = 1, 2, …, m, где m =20; n = 3; C1 = - 13,5; C2 = 7; C3 = 1,7; aнач = - 3; h = 1,7. Для вычисления 20 значений искомой функции Y удобно воспользоваться циклом с заранее известным числом повторений. Но прежде чем вычислять значения функции нам необходимо вычислять значение X, которое в свою очередь зависит от двух величин: C (неизменное) и значения переменной j (изменяется при каждом новом выполнении цикла с заранее известным условием). По условию задания курсовой работы вычисление суммы элементов последовательности C необходимо организовать в виде подпрограмм. Последовательность C будет удобно представить в виде массива данных. Т.к. в дальнейшем мы буде использовать сумму последовательности в качестве операнда, тогда лучше всего для их нахождения использовать подпрограмму-функции с одним параметром-переменной, которая принадлежит последовательности C. Сумма C будет вычисляться в цикле с заранее известным числом повторений. В этом цикле при каждом проходе цикла уже известное сумма n-предыдущих элементов последовательности будет складываться со следующим C из последовательности.

(1.3)

Так как переменная j изменяется, то значение X необходимо пересчитывать. Тогда переменная X будет вычисляться по формуле:

(1.4)

После вычисления X нам необходимо сравнивать полученное значение с b, и если оно меньше b, то Y вычисляется по формуле:

(1.5)

В противном случае значение Y вычисляется по формуле:

(1.6)

По условию задания переменная a также должна изменяться на шаг h вместе с циклом:

(1.7)

После вычисления значения Y его необходимо вывести на экран.

Таким образом, вычисление значений функции (1.1) сводится к выполнению простых операций (1.2) - (1.7). Алгоритм решения данной задачи представлен в Приложении А.

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

2. Программирование отдельных блоков и структур разработанного алгоритма

2.1 Структура Паскаль-программы

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

{Директивы компилятору}

Program Name;

Раздел описаний;

Begin

Раздел операторов;

(Тело программы)

end.

Имя программы Name должно начинаться с буквы латинского алфавита, не должно содержать более 80 символов, не должно содержать букв кириллицы. Раздел описания программы содержит описания модулей (uses), меток (label), констант (const), переменных (var), типов (type), функций (function) и процедур (procedure).

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

Раздел описания переменный содержит предложения описания переменных, которое имеет следующий вид:

Var v1, v2, …, vn: type_of_var;

v1, v2, …, vn - список переменных, в котором имена переменных разделяются запятыми.

type_of_var - задает тип переменным данного списка.

Если в программе используются переменные различных типов, то в предложении var приводятся списки переменных каждого типа:

Var v11, v12, …, v1n: type_1; v21, v22, …, v2n: type_2;

Например:

Var a, b, c: intrger; (целочисленный тип) d, e, f: real; (вещественный тип)

g: char; (символьный тип) h: string; (строковый тип)

k: boolean; (логический тип)

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

Описание констант производится в следующей форме:

const v1 = val_1;

v2 = val_2;

где v1, v2 - имена констант;

val_1, val_2 - значения этих констант. Например:

const d = 3.4e-5;

b = 188;

В теле программы располагаются операторы, выполняющие определенные действия и разделяемые точкой с запятой. Операторы определяют действия, которые должна выполнить программа. Операторы в программе могут размещаться как на отдельных строках, так и по несколько в строке. Одним из основных операторов является оператор присваивания ": =", в правой части которого записывается вычисляемое выражение, а в левой переменная, которой будет присвоен результат вычислений выражения. Например:

y: =5*a+3*sin (2*a-1);

x: = (3-a) / (2*b+1);

2.2 Раздел описаний

По условию нашей задачи у нас имеются как константы, так и переменные. Переменными значениями будут m, n, an, h, j, i, z, mult, sum. Опишем эти переменные с помощью языка программирования Паскаль. Константы C1 = - 13.5; C2 = 7; C3 = 1,7 будем хранить в массиве. Чтобы в последуем обратится к элементам массива предварительно создадим тип массива размерностью i=3:

var

m, n, j: integer;

b, an, mult, h: real;

x: array [1.99] of real;

y: array [1.99] of real;

c: array [1.99] of real;

2.3 Подпрограммы

Описание подпрограмм-функций должно располагаться в разделе описаний программы. Описание функции начинается с зарезервированного слова Function. Заголовок подпрограммы-функции имеет вид:

Function <Name> (argument_list): type_of_result;

Здесь type_of_result - идентификатор типа результата, он описывает тип значения, носителем которого является идентификатор (имя) функции <Name>.

argument_list - список параметров. Содержит перечисление идентификаторов переменных-параметров функции. Эти параметры используются для передачи данных в подпрограмму-функцию. После имени переменной или группы переменных следует двоеточие и идентификатор типа переменных этой группы. Список параметров подпрограммы-функции может отсутствовать. Внутренняя структура подпрограммы-функции аналогична структуре программы, т.е. она содержит раздел описаний, а затем после слова "begin" идут операторы (тело подпрограммы). В разделе описаний могут быть описания других функций. В теле подпрограммы-функции должен присутствовать оператор присвоения, в левой части которого находится имя функции, а в правой - выражение. Обращение к подпрограмме-функции производится путем указания имени со списком параметров в составе какого-либо выражения. Имя функции в вызывающей программе может появиться только в правой части выражения, т.к. функция - это операнд. Параметры представляют собой идентификаторы переменных и служат для обмена значениями между подпрограммой и вызывающей ее программной единицей. При этом в описании подпрограммы, поскольку она включается в текст программы один раз, имена параметров выбираются определенным образом и безотносительно к именам переменных, используемых в различных частях программы. Такие параметры, имена которых указаны в заголовке подпрограммы, называются формальными. При каждом новом обращении к подпрограмме в нее могут передаваться значения разных переменных. Такие параметры, имена которых подставляются в оператор вызова подпрограммы при фактическом обращении к ней, называются фактическими параметрами.

Вычисление sum в нашей программе организованно с помощью подпрограммы-функции. Для вычисления sum подпрограмме необходимо передать значения элементов последовательности C, для чего мы и создавали в разделе описаний тип массива mass. Так же нужно учесть об операторе присвоения, в левой части которого будет имя функции, а в правой выражение.

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

Function func_xj (n: integer): real;

var j: integer; sum: real;

begin

sum: = 0;

for j: = 1 to n do

begin

sum: = sum + c [j];

end;

for j: = 1 to m do

begin

x [j]: = ( (sum/j) + an);

end;

func_xj: = 1;

end;

2.4 Тело программы

По разработанному нами алгоритму, программа содержит одно обращения к подпрограммам-функциям для вычисления суммы func_xj.

Обращения к подпрограмме выглядит следующим образом:

sum: =func_xj (n);

Цикл вычисляет значение X и в зависимости от того, меньше или больше b полученное значение, Y вычисляется по определенной формуле (1.3 или 1.4). Запишем это на языке Паскаль:

for j: = 1 to m do

begin

func_xj (n);

if x [j] < b then

begin

y [j]: = (mult - b*sqrt (abs (x [j])) + an);

end;

if x [j] >= b then

begin

y [j]: = (cos (x [j]) - ln (an));

end; an: = an+h;

end;

3. Полная Паскаль-программа в соответствии с разработанным алгоритмом

Запишем полную Паскаль-программу в соответствии с разработанным алгоритмом, который приведён в Приложении A.

Program n_33;

var

m, n, j: integer;

b, an, mult, h: real;

x: array [1.99] of real;

y: array [1.99] of real;

c: array [1.99] of real;

Function func_xj (n: integer): real;

var j: integer; sum: real;

begin

sum: = 0;

for j: = 1 to n do

begin

sum: = sum + c [j];

end;

for j: = 1 to m do

begin

x [j]: = ( (sum/j) + an);

end;

func_xj: = 1;

end;

begin

writeln ('Введите: m, n, an, h, b');

read (m, n, an, h, b);

for j: = 1 to n do

begin

write ('C [',j,'] = ');

readln (c [j]);

end;

mult: = 1;

for j: = 1 to n do

begin

mult: = mult * c [j];

end;

for j: = 1 to m do

begin

func_xj (n);

if x [j] < b then

begin

y [j]: = (mult - b*sqrt (abs (x [j])) + an);

end;

if x [j] >= b then

begin

y [j]: = (cos (x [j]) - ln (an));

end;

an: = an+h;

end;

for j: =1 to m do

begin

writeln ('y [',j,'] = ',y [j])

end;

end.

Литература

1. Электронный учебно-методический комплекс по учебной дисциплине "Информатика" для специальности 1-53 01 05 "Автоматизированные электроприводы".

2. Основы алгоритмизации и программирования инженерных задач на паскале. Учебно-методическое пособие для студентов специальности 1-53 01 05 "Автоматизированные электроприводы".

3. Оформление курсовых работ, дипломных и курсовых проектов. Методическое пособие для студентов специальности 1-53 01 05 "Автоматизированные электроприводы".

Приложение

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


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

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

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

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

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

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

    учебное пособие [211,1 K], добавлен 30.03.2008

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

    курсовая работа [1,0 M], добавлен 03.07.2011

  • Сравнительный анализ языков программирования высокого уровня Си и Паскаль. Реализация алгоритма обработки данных. Тестирование и отладка программы или пакета программ. Структура программы на языке Турбо Паскаль. Указатели и векторные типы данных.

    курсовая работа [233,5 K], добавлен 14.12.2012

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

    курсовая работа [64,6 K], добавлен 07.05.2011

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

    курсовая работа [1,3 M], добавлен 02.02.2014

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

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

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

    контрольная работа [20,6 K], добавлен 13.09.2009

  • "Пятнашки" на первый взгляд простая игра, но для ее реализации необходимо обратится ко всем разделам программирования в среде Турбо Паскаль. Назначение и область применения. Описание алгоритма программы. Программное и аппаратное обеспечение программы.

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

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