Задание по C#. Записать заданные или полученные в процессе формализации математические формулы в виде арифметических выражений.
Разработать алгоритм решения заданной задачи и представить его в виде схем алгоритмов, реализованных на MS Visio.
Создать проект, использующий модуль формы, процедуры пользователя, решающие предписанные задачи, процедуры ввода исходных данных и процедуру вывода результата. Обмен данными между процедурами должен осуществляться через параметры, без использования глобальных переменных. Событийная процедура должна содержать только операторы вызова пользовательских (общих) процедур.
Подготовить тесты для контрольного решения задачи. Выполнить проект и получить результаты. Доказать, что результат правильный.
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017 // Внимание! Если программа не работает, обновите версию!
procedure MyProc; begin var n:=ReadInteger('Введите порядок матрицы:'); Writeln('Введите построчно элементы матрицы'); var a:=ReadMatrInteger(n,n); Writeln(4*a.ColCount*'-'); Write('Строки, содержащие только нули: '); for var i:=0 to n-1 do if a.Row(i).All(t->t=0) then Print(i+1); Writeln end;
begin Loop 2 do MyProc end.
Пример Введите порядок матрицы: 3 Введите построчно элементы матрицы 1 0 0 0 0 1 0 0 0
Строки, содержащие только нули: 3 Введите порядок матрицы: 2 Введите построчно элементы матрицы 0 0 0 0
// PascalABC.NET 3.3, сборка 1573 от 04.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var (a,b,c):=ReadInteger3('Введите три целых числа:'); var (p,k):=(int64(1),0); if a<0 then begin p:=p*a; k+=1 end;; if b<0 then begin p:=p*b; k+=1 end; if c<0 then begin p:=p*c; k+=1 end; Writeln('Произведение чисел равно ',p); Writeln('Количество отрицательных чисел равно ',k); end.
Пример Введите три целых числа: 12345 -67891011 -1213141516 Произведение чисел равно 82361404007312676 Количество отрицательных чисел равно 2
// Внимание! Если программа не работает, обновите версию!
procedure MyProc;
begin
var n:=ReadInteger('Введите порядок матрицы:');
Writeln('Введите построчно элементы матрицы');
var a:=ReadMatrInteger(n,n);
Writeln(4*a.ColCount*'-');
Write('Строки, содержащие только нули: ');
for var i:=0 to n-1 do
if a.Row(i).All(t->t=0) then Print(i+1);
Writeln
end;
begin
Loop 2 do MyProc
end.
Пример
Введите порядок матрицы: 3
Введите построчно элементы матрицы
1 0 0
0 0 1
0 0 0
Строки, содержащие только нули: 3
Введите порядок матрицы: 2
Введите построчно элементы матрицы
0 0
0 0
Строки, содержащие только нули: 1 2
// Внимание! Если программа не работает, обновите версию!
begin
var (a,b,c):=ReadInteger3('Введите три целых числа:');
var (p,k):=(int64(1),0);
if a<0 then begin p:=p*a; k+=1 end;;
if b<0 then begin p:=p*b; k+=1 end;
if c<0 then begin p:=p*c; k+=1 end;
Writeln('Произведение чисел равно ',p);
Writeln('Количество отрицательных чисел равно ',k);
end.
Пример
Введите три целых числа: 12345 -67891011 -1213141516
Произведение чисел равно 82361404007312676
Количество отрицательных чисел равно 2