РефератыМатематикаИсИспользование программирования в математике

Использование программирования в математике

Содержание



Задание 1. Вычисление значения арифметического выражения
Задание 2. Использование условного оператора
Задание 3. Использование циклических структур
Задание 4. Работа с двумерными массивами
Задание 5. Использование процедур
Задание 6. Текстовый файл
Задание 1. Вычисление значения арифметического выражения

Вычислить значение переменной z, являющейся функцией двух переменных x и y. Для вычисления x и y требуется определить значения арифметических выражений, зависящих от переменных a и b и констант k и m.


Вычислить



Текст программы:


Program pr_1;


var x,y,z,a,b:real;


const k=1; m=2;


begin


writeln('Vvedite a');


readln(a);


writeln('Vvedite b');


readln(b);


x:=a*k-(k*sqr(sqr(b))*b)/(1.2+sqr(sin(a+b)));


y:=(1+sqr(sin(a/2)/cos(a/2))/((a/(a+b)+2.1)*ln(m)/ln(10)));


z:=m*exp(ln(x)*y)+2*k*x*y-0.81;


writeln('x = ',x:5:2);


writeln('y = ',y:5:2);


writeln('z = ',z:5:2);


end.


Результат работы:



Задание 2. Использование условного оператора

Даны три целых числа A, B, C. Определить значения переменных X, Y, Z. Вывести их на экран. Пусть D1
и D2
– заштрихованные плоскости, и пусть U определяется как функция X и Y. Вывести U на экран дисплея. Вывод результатов оформить пояснительным тестом.




Текст программы:


Program pr_2;


var


A,B,C,X,Y,Z,U:real;


begin


writeln('Vvedite A');


read(A);


writeln('Vvedite B');


read(B);


writeln('Vvedite C');


read(C);


X:=A+B;


if X>A+C then X:=A+C;


if X>B+C then X:=B+C;


Y:=A;


if Y<2*B then Y:=2*B;


if Y>3*C then Y:=3*C;


Z:=X/Y;


if ((X>=-3) and (X<=-2)) and ((Y<=1) and (Y>=-2)) then


begin


U:=ln(X+Y)/ln(10);


end


else


if X*X+Y*Y<=1*1 then


begin


U:=X-Y+Z;


end


else U:=1;


writeln('U = ',U:5:2);


end.


Результат работы:



Задание 3. Использование циклических структур

Составить программу расчета значений функций двух переменных z=f(x,y) с использованием оператора цикла. Значение переменных x и y изменяются соответственно от xнач.
до xкон.
с шагом hx
и от yнач.
до yкон.
с шагом hy
и вводятся с клавиатуры. Указанные переменные относятся к вещественному типу. Вывести на экран таблицу значений x,y,z.


Вычислить



Внешний цикл – while, внутренний – repeat.


Текст программы:


Program pr_3;


var


i,j:integer;


x,xn,xk,hx,y,yn,yk,hy,z:real;


begin


writeln('Vvedite nachalnoe znachenie x');


read(xn);


writeln('Vvedite konechnoe znachenie x');


read(xk);


writeln('Vvedite shag izmeneniya znacheniya x');


read(hx);


writeln('Vvedite nachalnoe znachenie y');


read(yn);


writeln('Vvedite konechnoe znachenie y');


read(yk);


writeln('Vvedite shag izmeneniya znacheniya y');


read(hy);


writeln('x y z');


x:=xn;


while x<=xk


do


begin


y:=yn;


repeat


z:=(2*sqr(x)*x+cos(y)/sin(y))/sqrt(1+ln(sqr(y))/ln(10));


writeln(x:5:2,' ',y:5:2,' ',z:5:2);


y:=y+hy;


until y>yk;


x:=x+hx;


end;


readln;


end.


Результат работы:



Задание 4. Работа с двумерными массивами

Составить программу преобразования двумерных массивов.


В целочисленной матрице А(3,4) найти m положительных элементов в четных столбцах. Сформировать матрицу В(3,4) по правилу


(i=1,…,3; j=1,…,4)


В первой строке матрицы А найти максимальный по модулю элемент.


Текст программы:


Program pr_4;


var


i,j,m:integer;


A,B: array [1..3,1..4] of real;


max:real;


begin


writeln('Vvod matrici po strokam');


for i:=1 to 3 do


>

begin


for j:=1 to 4 do


begin


writeln('Vvedite element matrici');


readln(A[i,j])


end;


end;


m:=0;


j:=2;


while j<=4 do


begin


for i:=1 to 3 do


begin


if A[i,j]>0 then m:=m+1;


end;


j:=j+2;


end;


for i:=1 to 3 do


begin


for j:=1 to 4 do


begin


if m=0 then B[i,j]:=A[i,j]


else B[i,j]:=A[i,j]/m;


end;


end;


max:=abs(A[1,j]);


for j:=1 to 4 do


begin


if max<abs(A[1,j]) then max:=abs(A[1,j]);


end;


writeln('Matrica A');


for i:=1 to 3 do


begin


writeln('');


for j:=1 to 4 do


begin


write(A[i,j]:5:0);


end;


end;


writeln('');


writeln('Matrica B');


for i:=1 to 3 do


begin


writeln('');


for j:=1 to 4 do


begin


write(B[i,j]:5:2);


end;


end;


writeln('');


writeln('m = ',m);


writeln('maksimalniy po modulyu element pervosy stroki ', max:5:0);


readln;


end.


Результат работы:



Задание 5. Использование процедур

Даны две вещественные матрицы А(7,7) и В(5,5). Из матрицы А сформировать одномерный массив С по правилу, а из матрицы В сформировать массив D по тому же правилу. Для ввода матрицы, формирования одномерных массивов и вывода одномерных массивов применить три PROCEDURE. При вводе матрицы и выводе одномерных массивов вывести на экран сообщения с указанием соответственно имени вводимой матрицы или имени выводимого одномерного массива.


Правило: Из сумм квадратов элементов четных столбцов.


Текст программы:


Program pr_5;


type mas=array[1..7,1..7] of integer;


mas2=array[1..3] of integer;


var


A,B: mas;


C,D: mas2;


Procedure FillArr(var a:mas; row, col: integer);


var i,j:integer;


begin


for i := 1 to row do


for j := 1 to col do readln(a[i,j]);


end;


Procedure ActArr(var a:mas; count1,count2: integer; b:mas2);


var i,j,S,k:integer;


begin


k:=1;


for j:=2 to count1 do


begin


S:=0;


for i:=1 to count2 do S:=S+sqr(a[i,j*2-2]);


b[k]:=S;


k:=k+1;


end;


end;


Procedure OutputArr(var a:mas2; col: integer);


var i:integer;


begin


for i:=1 to col do write(a[i]:5);


end;


begin


writeln('Vvod matrici A'); fillarr(A, 7, 7);


writeln('Vvod matrici B'); fillarr(B, 5, 5);


ActArr(A,4,7,C);


ActArr(B,3,5,D);


writeln('Massiv C');


OutputArr(C, 3); writeln;


writeln('Massiv D');


OutputArr(D,2);


readln;


end.


Результат работы:



Задание 6. Текстовый файл

Дан текстовый файл f. Преобразовать строки файла f по правилам. Преобразованные строки переписать в файл g.


Правило: Создать строку из символов, расположенных после первой запятой. Если запятых нет, то записать пустую строку.


Текст программы:


Program pr_6;


var


f,g:text;


s:string;


i,k:integer;


begin


assign(f,'C:text.txt');


reset(f);


assign(g,'C:text2.txt');


rewrite(g);


while not eof(f) do


begin


k:=0;


readln(f,s);


for i:=1 to length(s) do


begin


if s[i]=',' then


begin


k:=i+1;


break;


end;


end;


if k<>0 then


begin


for i:=k to length(s) do


begin


write(g,s[i]);


end;


writeln(g,'');


end


else


writeln(g,'');


end;


close(f);


close(g);


readln


end.


Результат работы:


Входной файл



Выходной файл


Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Использование программирования в математике

Слов:978
Символов:9633
Размер:18.81 Кб.