// PascalABC.NET 3.2, сборка 1425 от 22.04.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в матрице:'); var m:=ReadInteger('Количество столбцов в матрице:'); Writeln('*** Исходная матрица [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-9,9); a.Println(3); Writeln(3*a.ColCount*'-'); // 1. удалить строки с нулевыми элементами var v:=a.Rows.Select(x->x.All(y->y<>0)).ToArray; var q:=new integer[v.Where(r->r=true).Count,a.ColCount]; var k:=0; for var i:=0 to v.Count-1 do if v[i] then begin q.SetRow(k,a.Row(i)); k+=1 end; Writeln('Матрица, не содержащая строк с нулями'); a:=Copy(q); a.Println(3); // 2. отсортировать элементы первого столбца по возрастанию a.SetCol(0,a.Col(0).OrderBy(x->x).ToArray); Writeln('Матрица с отсортированной колонкой 1'); a.Println(3); // 3. игры с k и b var b:integer; Write('Введите значения b и 1<=k<=',a.RowCount,': '); Read(b,k); for var j:=k to a.RowCount-1 do a[j,m-1]+=b; Writeln('Матрица с модифицированной последней колонкой'); a.Println(3) end.
Var a,b:integer; Begin Write('a = ');ReadLn(a); Write('b = ');ReadLn(b); if a mod b = 0 then WriteLn(b,' - делитель ',a) else WriteLn(b,' не является делителем ',a) End.
Вторая программа:
Var a,b:real; Begin WriteLn('a и b - катеты прямоугольного треугольника'); Write('a = ');ReadLn(a); Write('b = ');ReadLn(b); WriteLn('S = ',a*b/2); WriteLn('P = ',Sqrt(a*a+b*b)+a+b); End.
Пример работы программы:
a и b - катеты прямоугольного треугольника a = 3 b = 4 S = 6 P = 12
Примечание: программа не проверяет, существует ли треугольник и является ли он прямоугольным.
Третья программа:
Var a,b,c,D:real; Begin WriteLn('ax^2 +bx +c = 0'); Write('a = ');ReadLn(a); Write('b = ');ReadLn(b); Write('c = ');ReadLn(c); D:=b*b-4*a*c; if D < 0 then Write('Действительных корней нет') else Begin WriteLn('x1 = ',(-b-Sqrt(D))/(2*a)); WriteLn('x2 = ',(-b+Sqrt(D))/(2*a)); End End.
Четвёртая программа:
Var a,b,c:real; Begin Write('Введите три числа: ');ReadLn(a,b,c); a:=Abs(a-c); b:=Abs(b-c); if a < b then WriteLn('Первое число ближе к третьему') else if a > b then WriteLn('Второе число ближе к третьему') else WriteLn('Первое и второе число - одинаково близки к третьему') End.
Пример работы программы:
Введите три числа: 1 2 3 Второе число ближе к третьему
Введите три числа: 1 1 3 Первое и второе число - одинаково близки к третьему
Введите три числа: 2 1 13 Первое число ближе к третьему
Монитор, принтер, проектор
Объяснение: