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

СОДЕРЖАНИЕ: Содержание Задание 1. Вычисление значения арифметического выражения Задание 2. Использование условного оператора Задание 3. Использование циклических структур

Содержание

Задание 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 XA+C then X:=A+C;

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

Y:=A;

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

if Y3*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 yyk;

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 maxabs(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 k0 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.

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

Входной файл

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

Скачать архив с текстом документа