Реферат: Составление программ для решения задач на языке программирования Turbo Pascal 2 - Refy.ru - Сайт рефератов, докладов, сочинений, дипломных и курсовых работ

Составление программ для решения задач на языке программирования Turbo Pascal 2

Рефераты по информатике » Составление программ для решения задач на языке программирования Turbo Pascal 2

Министерство образования Российской Федерации

КФ УГАТУ


Кафедра “промышленной автоматики”

Курсовая работа

по дисциплинам «информатика», «программирование и основы алгоритмизации»


на тему «Составление программ для решения задач

на языке программирования TurboPascal»


Кумертау

2010


ВВЕДЕНИЕ


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

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

Информатика является одной из самых быстроразвивающихся направлений развития человеческого общества.

После изучения информатики студент должен знать и уметь использовать:

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

технические и программные средства информатики.

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

При выполнении курсовой работы приобретаются навыки и умения разработки программ для решения задач на ЭВМ.

В курсовой работе изучаются все этапы алгоритмизации и программирования конкретной вычислительной задачи на языке программирования Турбо-Раскаль,


1 УСЛОВИЕ ЗАДАЧИ


Исследовать квадратичную функцию заданного вида на заданном интервале, для этого:

Найти первую производную,

Найти вторую производную,

Найти критическую точку, если это возможно, по знаку второй производной определить тип экстремума в критической точке (максимум или минимум),

Найти максимальное значение функции и минимальное значение функции y на заданном интервале [a1; a2].

Табулировать заданную квадратичную функцию на заданном интервале [a1; a2] с шагом .

Примечание:

Значения переменных a, b, c, n, m, k, a1 , a2 являются целыми числами, и должны вводиться с клавиатуры по запросу программы.


Результаты выводиться на экран в следующем виде:


Исходная функция у=…………

Исходный интервал от …… до…….

Перваяпроизводная у’=…………..

Вторая производнаяy”=………….

Критическая точка х1=…………

Значения функции

y(a1)=……. – (минимальное или максимальное значение y)

y(x1)=……. – (минимальное или максимальное значение y)

y(a2)=……. – (минимальное или максимальное значение y)

Табулирование функции yс шагомh=…..

-------------------------------------------------------

! N ! x ! y ! y’ !

-------------------------------------------------------

! 1 ! ! ! !

! 2 ! ! ! !

.

Пусть задана функция на интервале


Постановка задачи
Описание входной информации

Входной информацией называется информация, которая считается известной до начала решения задачи, её запрашивают у пользователя и вводят с клавиатуры оператором READLN или из файла на диске.

Приведем описание входной информации в таблице №1 так, в соответствии с текстом программы.


Таблица №1 - Описание входной информации


Название переменной Тип переменной Назначение
A Integer (целый) Коэффициенты функции
B Integer (целый)
C Integer (целый)
a1 Integer (целый) Начало заданного интервала
a2 Integer (целый) Конец заданного интервала

Описание промежуточной информации

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

Приведем описание промежуточной информации в таблице №2 так, в соответствии с текстом программы.


Таблица №2 - Описание промежуточной информации


Название переменной Тип переменной Назначение
х1 real (вещественный) Значение критической точки
H real (вещественный) Шаг табуляции
I Integer(целый) Номер шага

Описание выходной информации

Выходной информацией называется информация, которую необходимо определить при решении задачи, её рассчитывают по формулам и выводят на экран или печать оператором WRITE(WRITELN) или в файл на диске.

Приведем описание выходной информации в таблице №3 так, в соответствии с текстом программы.


Таблица №3 - Описание выходной информации


Название переменной

Тип перемен-ной

Назначение
X REAL(вещественный) Значение аргумента функции
Yt REAL(вещественный) Значение функции
Yp REAL(вещественный) Значение первой производной
F1 REAL(вещественный) Значение функции на концах интервала и в критической точке
F2 REAL(вещественный)
F3 REAL(вещественный
Формализация задачи (или словесно-формульное описание)

Формализация задачи или словесно-формульное описание задачи - определяются расчетные формулы и условия, связывающие входные, промежуточные и выходные величины, этот раздел служит для определения последовательности и способов преобразования исходный величин в результатные.

Исходная функция (1)

Первая производная (2)

Вторая производная

Критическая точка, где .Если , то решить задачу невозможно.

Если , то находим :

- экстремум функции : если y”(x1)>0 , то х1 – точка минимума, если y”(x1)<0 , то х1 – точка максимума,

- у(а1), у(х1) и у(а2), среди которых определяет наибольшее и наименьшее значение функции.

На заданном интервале [a1; a2] рассчитаем шаг табулирования функции .

Для табулирования функции первой значение х=а1

Следующее значение х=x+h

Последнее значение x<=a2,

Значение y рассчитывается по формуле (1), y’ - по формуле (2)

Алгоритм задачи

Для решения данной задачи использовались внутренние процедуры и функции, поэтому в этом разделе представлены алгоритмы основной (главной программы) и алгоритмы каждой из подпрограмм – таблица № 4.


Таблица №4 – Описание подпрограмм


Идентификатор подпрограммы Тип подпрограммы Возвращаемые величины Назначение
Y Функция y Вычисляет значение функции
dy Функция dy Вычисляет первую производную
Min_max2 Процедура - Определяет минимум и максимум из двух величин F1 и F2
Min_max3 Процедура - Определяет минимум и максимум из трех величин F1, F2, F3

Алгоритм основной программы представлен на рис. 1.


Рисунок 1 – Логическая схема основной программы


Алгоритм функции y представлен на рис. 2


Рисунок 2 – Логическая схема подпрограммы – функции у

Алгоритм функции dy представлен на рис. 3.


Рисунок 3 – Логическая схема подпрограммы - функции dy


Алгоритм подпрограммы min_max_2 представлен на рис. 4.

Рисунок 4 – Логическая схема подпрограммы-процедуры min_max_2


Алгоритм подпрограммы min_max_3 представлен на рис. 5.



Рисунок 5 – Логическая схема подпрограммы-процедуры min_max3

5 ПОСТРОЕНИЕ ПРОЦЕССА РЕШЕНИЕ ЗАДАЧИ


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

program prog;

label 1;

var a,b,c,a1,a2:integer;

min,max,f1,f2,f3:real;

h,x,yt,yp,x1:real;

i:integer;

function y(x:real):real;

begin

y:=sqr(x)/a+x/b+c;

end;

function dy(x:real):real;

begin

dy:=2*x/a+1/b;

end;

procedure min_max2;

begin

if f1>f2 then

begin {max:=f1; min:=f2; }

writeln('наибольшее значение - у(а1)= ',f1:5:3);

writeln('наименьшее значение - у(a2)= ',f2:5:3);

end;

if f1<f2 then

begin {max:=f2; min:=f1;}

writeln('наименьшее значение - у(a1)= ',f1:5:3);

writeln('наибольшее значение - у(а2)= ',f2:5:3);

end;

end;

procedure min_max3;

begin

if (f1>f2)and(f1>f3) then

begin

{max:=f1;}

writeln('наибольшее значение - у(а1)= ',f1:5:3);

if f2<f3 then {min:=f2} writeln('наименьшее значение - у(х1)= ',f2:5:3)

else {min:=f3} writeln('наименьшее значение - у(a2)= ',f3:5:3);

end

else if (f2>f1)and (f2>f3) then

begin

{max:=f2;}

writeln('наибольшее значение - у(x1)= ',f2:5:3);

if f1<f3

then {min:=f1}

writeln('наименьшее значение - у(a1)= ',f1:5:3)

else {min:=f3}

writeln('наименьшее значение - у(a2)= ',f3:5:3);

end

else

begin

{max:=f3;}

writeln('наибольшее значение - у(a2)= ',f3:5:3);

if f1<f3

then {min:=f1}

writeln('наименьшее значение - у(a1)= ',f1:5:3)

else {min:=f3}

writeln('наименьшее значение - у(a2)= ',f3:5:3);

end

end;

begin

writeln('Исследование функции вида y=xx/a+x/b+c' );

1:write('введите целые цисла а=');readln(a);

write('b=');readln(b);

write('c=');readln(c);

writeln('введите интервал :');

write('a1='); readln(a1);

write('a2='); readln(a2);

if a*b<>0 then

begin

x1:=-a/(2*b);

f1:=y(a1);

f2:=y(x1);

f3:=y(a2);

write('x=',x1:5:3,' - критическая точка , y(x1)= ',y(x1):7:3);

if a>0 then writeln (' - min')

else writeln (' - max');

min_max3;

end

else

begin

writeln('a и b не могут быть нулевыми');goto 1;

end;

h:=abs(a1-a2)/10;

x:=a1;

i:=1;

writeln ('табулирование функции вида у=хх/a+х/b+с');

writeln ('-----------------------------------');

writeln ('! N ! x ! y ! y p !');

writeln ('-----------------------------------');

repeat

writeln('!',i:4,'!',x:7:2,'!',y(x):9:3,'!',dy(x):9:3,'!');

i:=i+1;

x:=x+h;

until x>a2;

end.



6 КОНТРОЛЬНЫЙ ПРИМЕР


Исследование функции вида y=xx/a+x/b+c

введите целые цисла а=1

b=1

c=-1

введите интервал :

a1=0

a2=1

x=-0.500 - критическая точка , y(x1)= -1.250 - min

наибольшее значение - у(a2)= 1.000

наименьшее значение - у(a1)= -1.000

табулирование функции вида у=хх/a+х/b+с

-----------------------------------

! N ! x ! y ! y p !

-----------------------------------

! 1! 0.00! -1.000! 1.000!

! 2! 0.10! -0.890! 1.200!

! 3! 0.20! -0.760! 1.400!

! 4! 0.30! -0.610! 1.600!

! 5! 0.40! -0.440! 1.800!

! 6! 0.50! -0.250! 2.000!

! 7! 0.60! -0.040! 2.200!

! 8! 0.70! 0.190! 2.400!

! 9! 0.80! 0.440! 2.600!

! 10! 0.90! 0.710! 2.800!



Заключение


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

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

По результатам контрольного примера задача решена верно. Программа отлажена в среде программирования TURBO PASCAL 7.0

6 используемая литература


Информатика. Учебник. 3-е изд./Под ред. Проф. Н.В. Макаровой, М.:,2000.

Информатика. Базовый курс., Симонович С.В. и др.СПб.: Питер. 2001.

Новейшая энциклопедия персонального компьютера 2002, В.П. Леонтьев, М., “Олма-пресс”, 2002.

Симонович С., Евсеев Г., Практическая информатика, учебное пособие, М.: АСТ-пресс,2000.

Фаронов, Turbo Pascal 7.0., М.: Инфра-М,1998.

Фигурнов В.Э.,IBM PC для пользователей, краткий курс, М.: Инфра-М, 1997.

Могилев А.В., Пак Н.И., Хеннер Е.К., Информатика, Учебное пособие для студ. пед. вузов, 2-е изд., М.:Изд. центр “Академия”, 2001 – 816с.

, Грачева Л.Н., Лекции по информатике

Грачёва Л.Н., методические указания к курсовой работе по информатике для заочников, 2010 г.