Главная              Рефераты - Информатика

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

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

КФ УГАТУ

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

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

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

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

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

Кумертау

2010

ВВЕДЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание:

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

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

  1. Исходная функция у=…………
  2. Исходный интервал от …… до…….
  3. Перваяпроизводная у ’=…………..
  4. Вторая производная y”=………….
  5. Критическая точка х1 =…………
  6. Значения функции

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

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

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

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

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

! N ! x ! y ! y ’ !

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

! 1 ! ! ! !

! 2 ! ! ! !

….

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

2. Постановка задачи

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Формализация задачи (или словесно-формульное описание)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для решения данной задачи использовались внутренние процедуры и функции, поэтому в этом разделе представлены алгоритмы основной (главной программы) и алгоритмы каждой из подпрограмм – таблица № 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!

Заключение

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

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

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

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

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

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

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

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

5. Фаронов, TurboPascal 7.0., М.: Инфра-М,1998.

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

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

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

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