Основы программирования

 

Задача 1


Условие задачи

Заданы три корня кубического уравнения: X1, X2, X3. Найдите коэффициенты этого уравнения.

Блок-схема



















Листинг с комментариями

Program Exercise_1;

var X1, X2, X3: Real;, B, C, D: Real;('X1: ');(X1);('X2: ');(X2);('X3: ');(X3);;

A:= 1; // коэффициент при x в степени 3

B:= - (X1+X2+X3); // коэффициент при x в степени 2

C:= X1*X2+X1*X3+X2*X3; // коэффициент при x в степени 1

D:= - (X1*X2*X3); // свободный член

Writeln ('A = 1');('B = ', B:0:1);('C = ', C:0:1);('D = ', D:0:1);

Readln;

end.


Таблица исполнения

X1X2X3ABCD1231-611-6= 1= - (1+2+3) = -6= 1*2+1*3+2*3 = 11= - (1*2*3) = -6


Таблица тестов

X1X2X3ABCD51241-21128-24010181-1998-802.53171-22.5101-127.5-2471-965615-4.2-10.810-79.6-680.4

Задача 2


Условие задачи

Пройдет ли кирпич со сторонами a, b и c сквозь прямоугольное отверстие со сторонами r и s? Стороны отверстия должны быть параллельны граням кирпича.

Листинг с комментариями

Program Exercise_2;

var:array [1..3] of real;:array [1..2] of real;, j:integer;:real;

// заполняем 1 массивi:=1 to 3 doi of

: Write ('Введите a: ');

: Write ('Введите b: ');

: Write ('Введите c: ');;(a[i]);;

// заполняем 2 массивi:=1 to 2 doi of

: Write ('Введите r: ');

: Write ('Введите s: ');;(b[i]);;

// сортировка 1 массиваi:=1 to 2 doj:=i+1 to 3 doa[i]<a[j] then:=a[i];[i]:=a[j];[j]:=k;

end;

// сортировка 2 массиваb[1]<b[2] then

begin:=b[1];[1]:=b[2];[2]:=k;;

// сравнение наиб. элементов массивов

if (a[2]<b[1]) and (a[3]<b[2]) then

Writeln('Пройдёт')('Не пройдёт');;.

Таблица исполнения

abcrsa(1)a(2)a(3)b(1)b(2)1 and 2Вывод1538251538258<5 and 3<2Не пройдет158352

8<5 - ложь и 3<2 - ложь Þ не пройдет


Таблица тестов

abcrsВывод271469Пройдет125128Пройдет10138147Не пройдет114545Не пройдет71682Пройдет

Задача 3


Условие задачи

Для заданных a и p вычислить x = по реккурентному соотношению:


, .


Сколько итераций надо выполнить, чтобы для заданной погрешности e выполнялось соотношение: ?

Блок-схема

Листинг с комментариями

Program Exercise_3;

const=0.0001;, x, xn:real;:boolean;, p:integer;kvadr (chislo:real; stepen:integer):real;:real;:integer;:=1;g:=1 to stepen do:=k*chislo;:=k;;:=true;('введите а: ');(a);('введите p: ');(p);:=a;:=0;flag do:=(1/p)*((p-1)*x+(a/kvadr (x, p-1)));abs (x-xn)<e then:=false

else

x:=xn;:=i+1;;('x = ', x:3:2);('интерации = ', i);;.


Таблица исполнения

eapxkvadrxni0.0001131kgxp-1kvadr111112112121

k=1*1=1, kvadr=1=1*1=1, kvadr=1

xn = (1/3)*((3-1)*1+1/1) = 1

|1-1| = 0 < 0.0001 верно Þ x=1, i=0+1=1


Таблица тестов

apxi571.2613491.17141232.2982151.05138101.2322

Задача 4


Условие задачи

В массиве C(m) каждый третий элемент заменить полусуммой двух предыдущих, а стоящий перед ним - полусуммой соседних с ним элементов. Дополнительный (рабочий) массив не использовать.

Листинг с комментариями

Program Exercise_4;

Const=15;:array [1..m] of real;:integer;, i4:real;;i:=1 to m do[i]:=Random(9);i:=1 to m do (C[i]:2:0,' '); // :2:0 ноль это дробная часть

Writeln;:=3;i<=m do:=(C [i-1]+ C [i-2])/2;:=(C[i]+C [i-2])/2;[i]:=i3;[i-1]:=i4;:=i+3;;i:=1 to m do (C[i]:2:0,' '); // :2:0 ноль это дробнаячасть

Writeln;

readln;.


Таблица исполнения

С1(1)С1(2)С1(3)С1(4)С1(5)С1(6)С2(1)С2(2)С2(3)С2(4)С2(5)С2(6)351709324784С2(1) = С1(1) = 3С2(4) = С1(4) = 7

С2(2) = (3+1)/2 = 2С2(5) = (7+9)/2 = 8

С2(3) = (3+5)/2 = 4С2(3) = (7+0)/2 = 3,5 » 4


Таблица тестов

№№С(1)С(1)С(1)С(1)С(1)С(1)С(1)С(1)С(1)С(1)С(1)С(1)С(1)С(1)117423048474724427563428864364421280658848184722215676886135773168188620333303264787823133304

Задача 5


Условие задачи

Матрицу А (m, n) заполнить следующим образом. Для заданных k и l элементу akl присвоить значение 1; элементам, окаймляющим его (соседним с ним по вертикали, горизонтали и диагоналям) - значение 2; элементам следующего окаймления - значение 3 и так далее до заполнения всей матрицы.

Листинг с комментариями


Program Exercise_5;

Const n=10;=15;A: array [1..n, 1..m] of Integer;, j, r, k, l: Integer;('k= ');(k);('l= ');(l);;i:=1 to n doj:=1 to m do(abs (i-k)<abs (j-l)) then:=abs (j-l)r:=abs (i-k);[i, j]:=r+1;;('Otvet: ');i:=1 to n doj:=1 to m do(A [i, j]:3);;;;.


Таблица исполнения

klA [1,1]A [1,2]A [1,13]…A [2,3]A [2,4]A [2,5]…A [10,15]23322…123…13

Таблица тестов

klСформированный массив233222345678910111213321234567891011121332223456789101112133333345678910111213444444567891011121355555556789101112136666666678910111213777777777891011121388888888889101112139999999999910111213

Задача 6


Условие задачи

Даны два целочисленных массива К(m) и L(n). Найти наибольший элемент массива K, не имеющий себе равных в массиве L.

Листинг с комментариями


Program Exercise_6;

Const m=15;=10;k: array [1..m] of Integer;: array [1..n] of Integer;, j, imax, b, r: Integer;: boolean;;i:= 1 to m do[i]:= -25 + random(75);('k: ');i:= 1 to m do(k[i]:4);;i:= 1 to n do[i]:= -25 + random(75);('l: ');i:= 1 to n do(l[i]:4);;

// сортировка массива ki:= 1 to m-1 do:= i;j:= i+1 to m dok[j]>k[imax] then:=j;:=k[i];[i]:=k[imax];[imax]:=b;;('new_k: ');i:= 1 to m do(k[i]:4);

Writeln;

// Проверяем (с max) элементы k[i] на наличие их в массиве l

r:= 1;:=true;flag and not (r=m+1) do // чтобы не выйти за пределы массиваi:=1 to n dok[r]=l[i] then

r:=r+1; // переходим к следующему элементу массива k

break;flag:=false;;flag then('net takogo');;;('Otvet: ', k[r]);

Writeln;;

end.


Таблица исполнения

МассивыОтветk-6-10213113348-2434303532-2-53148new_k4835343332313130211-2-5-6-10-24l37263349-13193969

Таблица тестов

МассивыОтветk12-74914-192246-12442025-17281649l-1943-8-932210-72738k5-820-2-1-2439-222347151117-17-2547l2303635361910-22-2124k-17-464920-5-19-8262113-12-320-749l-3-8-10-20133622108-14

Задача 7

массив уравнение итерация матрица

Условие задачи

Упорядочить по неубыванию каждую строку матрицы A (m, n), а после этого перестановкой строк упорядочить всю матрицу по неубыванию элементов первого столбца.

Листинг с комментариями


Program Exercise_7;

const=10;=10;:array [1..m, 1..n] of integer;:array [1..m] of integer;, j, p, k, t, s: integer;change (one, two: integer);: integer;i1:= 1 to n do:=a [one, i1];[one, i1]:=a [two, i1];[two, i1]:=s;;;;i:= 1 to m doj:= 1 to n do[i, j]:=Random(40);

// вывод массиваi:= 1 to m doj:= 1 to n do(a[i, j]:3);;;;

// Сортировкаi:= 1 to m doj:= 1 to n-1 dot:= 1 to n-j doa [i, t]>a [i, t+1] then:=a [i, t];[i, t]:=a [i, t+1];[i, t+1]:=s;;

// вывод массиваi:= 1 to m doj:= 1 to n do(a[i, j]:3);;;;

// заменаi:= 1 to m-1 doj:= 1 to m-i doa [j, 1]>a [j+1,1] then(j, j+1);

// вывод массиваi:= 1 to m doj:= 1 to n do(a[i, j]:3);;;;.


Таблица исполнения

Исходный массивПромежуточный массивРезультат119632213619220152022333320150220152022331361922273263393627323911522242425172182621718252621718252624241512211522242436273239

Таблица тестов

Исходный массивРезультат182702023658519025581819202736113583938273603101581327313638392935321336241272605588101319192924363729341122282135045788223234378190851013529190102123282829333435122331791963429180667162424283334345227803732482471213262932353610332821282335293403691217181923293435162639371193615229111516222635363739728163402424336611212224282934353637

Задача 10


Условие задачи

Даны длины a, b, c сторон некоторого треугольника. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника. (Длина медианы, проведенной к стороне a, равна .


Листинг с комментариями


Program Exercise_10;

Var a, b, c: Integer;, b1, c1, m1, m2, m3: Real;('a = ');(a);('b = ');(b);('c = ');(c);

// проверка существования треугольника

if (a>=b+c) or (b>=a+c) or (c>=a+b) then

begin('Net');;:= 0.5*sqrt (2*b*b+2*c*c-a*a);:= 0.5*sqrt (2*a*a+2*c*c-b*b);:= 0.5*sqrt (2*a*a+2*b*b-c*c);:= 0.5*sqrt (2*b1*b1+2*c1*c1-a1*a1);:= 0.5*sqrt (2*a1*a1+2*c1*c1-b1*b1);:= 0.5*sqrt (2*a1*a1+2*b1*b1-c1*c1);('m1 = ', m1:3:2);('m2 = ', m2:3:2);('m3 = ', m3:3:2);;nd.


Задача 1 Условие задачи Заданы три корня кубического уравнения: X1, X2, X3. Найдите коэффициенты этого уравнения. Блок-схема

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ