Основы программирования в среде Turbo Pascal
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
Введение
Известно, что технический уровень, а следовательно и конкурентоспособность Выпускаемой машиностроительными предприятиями продукции в большой степени зависят от качества проектных решений на стадии технологической подготовки производства. В процессе технологической подготовки производства инженерам приходится сталкиваться со сложными задачами раiетного и проектного характера, решение которых во многих случаях с помощью традиционных методов либо практически не возможно, либо занимает много времени. В связи с этим весьма актуальна автоматизация технологической подготовки производства, которая имеет следующие особенности:
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 Результаты
Ручной iёт Машинный iёт
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 Ручной iёт
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 Машинный iёт
-12 0
Z -24 -12 0
-12 0
.5 Вывод по работе
Относительная погрешность составляет 0%
3. Решение нелинейных уравнений
.1 Постановка задачи
Найти значения корней нелинейного уравнения по методу половинного деления на отрезке [a, в] с точностью Е. .
.2 Метод решения
Подставляя значения а=3 и в=6 в функцию F(x), легко проверить, что F(1)тАвF(2)>0
(т.е. функция не меняет свой знак на концах отрезк