Автор: Пользователь скрыл имя, 09 Марта 2013 в 19:36, отчет по практике
Закрепить умения решать задачи с использованием математического пакета MathCad и языка программирования Pascal.
Ход работы
MathCad:
Первый пункт задания. Функция одной переменной. Для этого нужно ввести заданное уравнение, в панели графиков выбрать X-Y график и подписать метки-заполнители.
1 Цель работы 3
2 Ход работы 4
3 Список использованной литературы 15
4 Заключение 16
5 Приложение 17
Министерство образования и науки Российской Федерации
Томский университет систем управления и радиоэлектроники
(ТУСУР)
Кафедра физической электроники (ФЭ)
Отчет по практике по PASCAL и MathCad
Выполнил:
студент группы 321
Берков Илья__________
_____________ 2012 год
Проверил:
Ассистент кафедры АСУ
Колотаев И.В.
Дата: _______________
Подпись: ____________
.
Оглавление
1 Цель работы 3
2 Ход работы 4
3 Список использованной литературы 15
4 Заключение 16
5 Приложение 17
Закрепить умения решать задачи с использованием математического пакета MathCad и языка программирования Pascal.
Рис. 2.1.Функция одной переменной
Рис. 2.2. График поверхности
Рис. 2.3. Параметрически заданной функции
Рис 2.4. Кусочно-непрерывная функция
Рис 2.5. Метод Крамера
Рис. 2.6. Метод Гаусса
Рис. 2.7. Определение и заполнение матриц
Рис. 2.8. Вычисление матричного выражения
Рис 2.9. Сложение матрицы со скаляром Х1
Рис 2.10. Вычитание из матрицы скаляра Х2
Рис 2.11. Определитель матрицы
Рис. 2.12. Обратная матрица
Рис. 2.13. Собственные числа, вектора и проверка результата
Рис. 2.14. Ранг матрицы
Рис. 2.15. Модуль вектора
Рис. 2.16. Орт вектора
Рис.2.17. Сумма координат
Рис. 2.18. Координаты вектора
Рис 2.19. Скалярное произведение векторов
Рис 2.20. Синус и косинус между векторами
Рис. 2.21. Векторное произведение
Рис.2.22. Координаты вектора произведения исходных векторов
Рис.2.23.Определенный интеграл
Рис.2.24. Неопределенный интеграл
Рис.2.25. Дифференцирование
Рис.2.26. Сплайн-интерполяция
Конец
dva_igroka
Odin_igrok
no
yes
N=1?
Ввод n
Начало
Запрос данных
Данные запрашиваются для выбора режима игры:1 или 2 игрока
Рис. 2.27 «Основная программа»
Начало
Error=false
Pole
Error=false
Och mod 2=1
no
yes
Вызов процедуры вырисовывания сетки для игры
Res<>true
Pole
Random (i1, j1)
I1, J1
O
Х
Вывод победителя
Конец
Рис. 2.28. «Процедура для игры с компьютером»
Рис.2.29. «Вид начального окна при выборе режима игры»
Рис.2.30. «Окно игры с компьютером»
Рис.2.31. «Окно вывода победы 1 игрока»
Во время работы очень понравилось, что Mathcad интегрирует и сохраняет все тексты и комментарии, «живые» вычисления и графику, необходимые для однозначной фиксации принятых допущений в уравнениях и результатах ключевых инженерных вычислений.
При работе с Паскалем значительно улучшают динамику написание и последующего выполнения программы возможность в программе создание подпрограмм, которые пишутся отдельно от основной части, но вызов происходит непосредственно в основной программе.
В подпрограммах структура аналогична, что и в основной программе (объявление переменных, использование циклов, функций и процедур)
Также переменные нужно явно объявлять, что способствует избежанию проблем по их использованию, а Бейсике нет необходимости их описывать, потому что программа автоматически выделяет им место в памяти.
Листинг программы игры «Крестики-Нолики»:
uses crt,graphabc;
var MN:array[1..5,1..5] of char;
i,j,x,x1,y,y1,n,v1,v2,i1,j1,
procedure Pole;
begin
setpenColor(clBlue);
X:=16; y:=80;
For I:=1 to 4 do
begin
Line(x,y,x+148,y);
y:=y+35;
end;
X:=45; y:=50;
For I:=1 to 4 do
begin
Line(x,y,x,y+170);
x:=x+31;
end;
end;
function error:boolean;
begin
error:=false;
If (mn[i1,j1]='X') or (mn[i1,j1]='O') then error:=true;
end;
function res:boolean;
begin
res:=false;
for I:=1 to 5 do
begin
If (mn[i,1]='X') and (mn[i,2]='X')
and (mn[i,3]='X') and (mn[i,4]='X') and (mn[i,5]='X') then begin
if (mn[i,1]='O') and (mn[i,2]='O') and (mn[i,3]='O') and (mn[i,4]='O') and (mn[i,5]='O') then begin res:=true; V2:=1; end;
end;
for j:=1 to 5 do
begin
If (mn[1,j]='X') and (mn[2,j]='X') and (mn[3,j]='X') and (mn[4,j]='X') and (mn[5,j]='X') then begin res:=true; V1:=1; end else
if (mn[1,j]='O') and (mn[2,j]='O') and (mn[3,j]='O') and (mn[4,j]='O') and (mn[5,j]='O') then begin res:=true; V2:=1; end;
end;
If ((mn[1,1]='X') and (mn[2,2]='X') and(mn[3,3]='X') and(mn[4,4]='X') and (mn[5,5]='X')) or
((mn[5,1]='X') and (mn[4,2]='X') and(mn[3,3]='X') and(mn[2,4]='X') and (mn[1,5]='X')) then begin res:=true; V1:=1; end;
If ((mn[1,1]='O') and (mn[2,2]='O') and(mn[3,3]='O') and(mn[4,4]='O') and (mn[5,5]='O')) or
((mn[5,1]='O') and (mn[4,2]='O') and(mn[3,3]='O') and(mn[2,4]='O') and (mn[1,5]='O')) then begin res:=true; V2:=1; end;
If och>25 then begin res:=true; v1:=2; end;
end;
procedure odin_igrok;
begin
ClearWindow(clCream);
och:=0;
While res<>true do
begin
inc(och);
If och mod 2 = 1 then
begin