Основы программирования в среде Turbo Pascal

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    19,38 kb
  • Опубликовано:
    2011-08-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Основы программирования в среде Turbo Pascal

Введение


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

1. использование принципиально новых методологических основ проектирования;

. широкое применение экономико-математических методов проектирования;

. всесторонняя автоматизация инженерного труда.

С появлением ЭВМ возможность автоматизации стала реальностью. Появилось много систем автоматизированного проектирования (САПР), управления производством, управления технологическими процессами и др. Возникли новые методы решения таких задач (в отличие от традиционных), которые рассматриваются в курсе информатике. Одной из известных программ является Turbo Pascal. В данной работе мы будем использовать 7-ю версию этой программы.

программирование функция turbo pascal

1.      
Программирование нестандартных функций

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

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


1.2     Метод решения

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

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

Составим блок - схемы для определения функции Sh (рис. 1.1) и основной функции Y(рис. 1.2):





                                                                                                       Да



 Рис.1.1




Рис.1.2

1.3 Описание программы

Program Irina1;

uses crt;x,y: Real;5;MySh(x:real):Real;:=(Exp(x)+Exp(-x))/2;;

begin

clrscr;

: write ('Vvedite x: x= ');(x);;x>0 then:=MySh(ln(x)) + ln(MySh(x)) - Sqrt(x)goto 5;('y= ',y:5:3);;

readkey;

end.

.4 Результаты

Ручной счёт Машинный счёт

x = 1 Y= 0.434 x = 1 Y= 0.434

x = 3 Y= 2.244 x = 3 Y= 2.244

1.5 Вывод по работе

относительная погрешность составляет 0%.

2. Матрицы и операции над ними

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

Составить алгоритм и программу операций над матрицами.

(Aij-Bij- Cij)∙Djk∙L; i=3, j=2,k=3.

2.2 Метод решения

В данной задаче нам предстоит применить правила сложений матриц и умножения

матрицы на число.

Разницей матриц А( i, j ) и B( i , j) называется матрица Е( i , j ) того же порядка, каждый элемент которого равен сумме соответствующих элементов матриц А и В:

E( i , j) =A( i , j)-B( i , j).

Умножением матрицы А( i , j ) на число V называется матрица В( i , j), получающаяся

из матрицы А умножением всех её элементов на V.

Составим блок − схему (смотри стр. 8-10):





                                                                                              Да




                                                                                                   Да



                           Да




                             Да



                                                                                          Да



                                                                                                Да













                                                                     Да




                         Да                                                                        Да



                           Да                                                                        Да























                                                                             Да



                                                                                Да







.3 Описание программы

Program Irina3;

uses crt;L=3;=2;=3;:array[1..L,1..M] of integer;:array[1..L,1..M] of integer;:array[1..L,1..M] of integer;:array[1..M,1..N] of integer;:array[1..L,1..M] of integer;:array[1..L,1..M] of integer;:array[1..L,1..N] of integer;:array[1..L,1..N] of integer;,j,k,V:integer;;i:=1 to L doj:=1 to M do('Vvedite element [',i,',',j,'] matricu A: A[',i,',',j,']= ');(A[i,j]);;i:=1 to L doj:=1 to M do('Vvedite element [',i,',',j,'] matricu B: B[',i,',',j,']= ');(B[i,j]);;i:=1 to L doj:=1 to M do('Vvedite element [',i,',',j,'] matricu C: C[',i,',',j,']= ');(C[i,j]);;j:=1 to M dok:=1 to N do('Vvedite element [',i,',',k,'] matricu D: D[',i,',',k,']=');(D[i,k]);;('Vvedite znachenie V: V= ');(v);;i:=1 to L doj:=1 to M do[i,j]:= A[i,j]-B[i,j];;i:=1 to L doj:=1 to M do('E[',i,',',j,']= ',E[i,j]);;i:=1 to L doj:=1 to M do[i,j]:= E[i,j] - C[i,j];;i:=1 to L doj:=1 to M do('X[',i,',',j,']= ',X[i,j]);;i:=1 to L dok:=1 to N do[i,k]:= 0;i:=1 to L doj:=1 to M dok:=1 to N do[i,k]:= Y[i,k]+ (X[i,j]*D[j,k]);;i:=1 to L dok:=1 to N do('Y[',i,',',k,']= ',Y[i,k]);;i:=1 to L dok:=1 to N do[i,k]:=Y[i,k]*V;i:=1 to M dok:=1 to M do('Z[',i',',k']= ,Z[I,k]);;

readkey;

end.

.4. Результаты

.4.1 Ручной счёт

        1  2  3             3  2  1               2  2  2                 -4  -2  0 

A     1  2  3    - B    3  2  1    -  C     2  2  2     = X      -4  -2  0

                                     1  2                 -12  -6  0         -4  -2  0     * D     2  1        = Y   -12  -6  0 

        -4  -2  0                1  2                 -12  -6  0

       -12  -6  0                           -24  -12  0     -12  -6  0     *  2  =   Z      -24  -12  0

       -12  -6  0                           -24  -12  0

Y -12 -6 0 * 2 = Z -24 -12 0

-6 0 -24 -12 0

.4.2 Машинный счёт

-12 0

-12 0

.5 Вывод по работе

Относительная погрешность составляет 0%

3. Решение нелинейных уравнений

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

Найти значения корней нелинейного уравнения по методу половинного деления на отрезке [a, в] с точностью Е. .

.2 Метод решения

Подставляя значения а=3 и в=6 в функцию F(x), легко проверить, что F(1)∙F(2)>0

(т.е. функция не меняет свой знак на концах отрезка), и производная  не меняет знак, поэтому в интервале [3,6] корней нет. Проверим это с помощью программы. Блок-схема приведена на рис. 3.





                      Нет

                                                        Да





                        Да                                                                            Да

            Нет

                

Рис.3

3.3 Описание программы

Irina4;crt;A,B,X,Fa,Fb,Fx,e:real;5,

,

,

;;

: write('Vvedite A: A= ');(A);

: write('Vvedite B: B= ');(B);('Vvedite e: e= ');(e);a<=0 then goto 5 elseb<=0 then goto 10 else:=5*ln(a)-a+1;

: X := (A + B)/2;:=5*ln(x)-x+1;(ABS(Fx) < e) then goto 20;((Fa*Fx) <= 0) then b:=x else:=X; Fa:=Fx;;(ABS(A-B) >= e) then goto 15;;

: write('X= ',X:5:3);;

end.

.4 Результаты

 

3.4.1 Машинный счёт.

Машина считает с точностью е = 0,001.

Ø  На отрезке [0,1;5] х = 1;

Ø  На отрезке [3;16] х = 14,302;

.4.2 Ручной счёт

Ø  На отрезке [0,1;5] х = 1;

Ø  На отрезке [3;16] х = 14,302;

.5. Вывод по работе

Относительная погрешность составляет 0%.

4. Численное интегрирование

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

Составить алгоритм и программу для вычисления определённого интеграла. Число разбиений каждого интервала интегрирования принять равным 10.

, a =4, b =5, c =6, n =10.

.2 Метод решения

Для решения таких задач чаще всего применяют методы прямоугольников, трапеции и Симпсона. В нашей задаче мы применим метод прямоугольников. Блок-схема к программе на рис.1 и рис2.

                                                              











                                                              

 Рис.1

                                                                            Рис.2

        

       



















4.3 Описание программы

Irina5;crt;i:integer;,x2,S1,S2,S,h1,h2:real;n=10;=0;=1;=2;Mych(x:real):real;:= (Exp(x/2)+Exp(-x/2))/2;;;:=a; S1:= 0;:=(b-a)/n;i:=1 to n do:= S1 + 1/(Mych(x1/2)*Mych(x1/2));:=x1+h1;:= S1*h1;;:=b; S2:= 0;:=(c-b)/n;i:=1 to n do:= S2 + 1/(1+cos(x2));:=x2*h2;:= S2*h2;;:= S1 + S2;('S= ',S:5:3);;.

.4 Результаты

Ручной счёт: Машинный счёт:

A=4, b=5, c=6, h=10, S=0.161; A=4, b=5, c=6, h=10, S=0.161;

4.5 Вывод по работе

Относительная погрешность составляет 0%.

5. Оптимизация функции

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

Составить алгоритм и программу вычисления наибольшего и наименьшего значений функции на интервале [a,b]=[3,6].

 

.

.2 Метод решения

Решение проводим по методу перебора, при котором при нахождении наибольшего значения функции у перед циклом задают в качестве начального значения заведомо малую е, а внутри цикла находят текущее значение у при следующих условиях:

 

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

 

Составим блок - схему (см. стр.21):










                                               


Нет




                                        Нет

                                       

                                                                    






                                              Нет







                               Да

5.3 Описание программы


.4 Результаты при h = 0.001

ручной счёт: ymax =4.05, ymin =3.49; машинный счёт: ymax =4.05, ymin =3.49.

.5 Вывод

Относительная погрешность составляет 0%.

6. Численное дифференцирование

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

Составить алгоритм и программу решения дифференциального уравнения: .

.2 Метод решения

 

Решение проводим по методу Эйлера. Первообразную функцию в каждой точке определяем по формулам:

        

Составим блок - схему(см. рис.6).












                                                                          Да

                                                        Рис.6

6.3 Описание программы

Program Difur;

Uses crt;25, 20;X,Y,X0,Y0,H,Xk:Real;;

: Write('Input X0= ');(X0);('Input Y0= ');(Y0);('Input H= ');(H);('Input Xk= ');(Xk);:=X0;:=Y0;(x*x*x-1)>0 then

: Y:=Y+H*(x/(x*x*x-1));('X= ', X:4:6,'Y= ',Y:4:6);:=X+H;X<=Xk Then goto 25; goto 20;

Readkey;

End.

.4 Результаты Машинный счёт:

X0= 2, X= 2.000, Y= 5.286,= 5, X= 3.000, Y= 5.401,= 1, X= 4.000; Y= 5.465.= 4;

Ручной счёт:

X= 2.000, Y= 5.286,

X= 3.000, Y= 5.401,

X= 4.000; Y= 5.465.

.5 Вывод

Относительная погрешность составляет 0%.

7. Аппроксимация функции

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

Найти аппроксимирующую функцию.

Изменение функции у от аргумента х


Значения х

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

1.1

1.2

1.3

1.4

3,7

2,95

2,63

2,45

2,32

2,23

2,16

2,09

2,05

2,0

1,96

1,93

1,9

1,87


.2 Метод решения

Решать будем методом наименьших квадратов:


Составим блок - схему (см. стр. 26):



























7.3 Описание программы

Aproks;crt;n=14;K1,K2,L1,L2,A0,A1:Real;,Y:Array[1..n] of real;:integer;;i:=1 to n do('Input X[',i,']= ');(X[i]);;

For i:=1 to n do

begin('Input Y[',i,']= ');(Y[i]);;:=0; K2:=0;:=0; L2:=0;i:=1 to n do:=K1+X[i];:=K2+X[i]*X[i];:=L1+Y[i];:=L2+X[i]*Y[i];;:=(L2*K1-L1*K2)/(K1*K1-n*K2);:=(K1*L1-n*L2)/(K1*K1-n*K2);('A0= ',A0:4:2, 'A1= ',A1:4:2);

Readkey;.

.4 Результаты

.4.1 Машинный счёт

Подставляем значения х и у из таблицы 7.1. (см. стр.25).

А0= 3,08; А1 =-1,04.

;

=

А0= 3,08;

А1= -1,04.

.5 Вывод по работе

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

Заключение


Итак, подводя итоги можно сказать, что появление ЭВМ действительно упростило труд инженеров в разработке проектных решений производственных задач. Работая с программой Turbo Pascal, мы убедились, что это быстрый и точный метод решения задач расчетного и проектного характера. К тому же эта программа очень удобна и проста в применении. Сравнивая ручной счет с машинным, мы увидели, что погрешность вычислений минимальна.

Список использованной литературы


1 Технологическая информатика: методичка /Е. А. Карев: Ульяновск, 2006г.- 52 с

2 Программирование в среде Turbo Pascal: методичка/Ю.В. Псигин, О.Г. Крупенников: Ульяновск, 2008г.- 95 с.

Информатика: учебное пособие/Е.А. Карев: Ульяновск, 2006г.- 103 с.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!