Составить блок схему Составить блок-схему алгоритма и программу. Найти максимальный элемент для каждого столбца матриц размерностью NxN.
для этой программы
program matrica;
Uses Crt;
const
m=1000;
var
a: array[1..m, 1..m] of integer;
i,j:byte;
mn,n:integer;
begin
write('n=');
read(n);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(11);
for i:=1 to n do begin
for j:=1 to n do
write(a[i,j]:3);
writeln; end;
for j:=1 to n do begin
mn:=a[1,j];
for i:=1 to n do
if a[i,j] mn:=a[i,j]; end;
writeln('min ',i,'stlb=',mn);
end;
end.
1. sin это арифметическое действие. Синус можно найти из 90 градусов например. А тут X>10. Из чего синус искать, из большего или может из меньшего? Правильной будет запись
if x>10 then ... какое-то действие... sin(x) else ... sin (x);
вообщем нельзя ставить оператор сравнения в арифметическое действие т.к. им задаются условия.
2. Попытка использовать арифметические операции с "false".
3. Выражение теряет смысл. And это логическая операция. Лог выражение должно быть вида A and B. Соответственно исправить можно так '(x=0) and (round(sqrt(x)) mod 2=0)'
4. Не пишут 2 or подряд т. к. теряется логика операции.
Алгоритм должен удовлетворять следующим свойствам:
1.Первым свойством алгоритма является дискретный, т. е. пошаговый характер определяемого им процесса. Возникающая в результате такого разбиения запись алгоритма представляет собой упорядоченную последовательность отдельных предписаний (правил, директив, команд) , образующих прерывную (или, как говорят, дискретную) структуру алгоритма: только выполнив требования одного предписания можно приступать к исполнению следующего.
2.Исполнитель может выполнить алгоритм, если он ему понятен, т. е. записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. Алгоритм не должен содержать предписаний, не входящих в систему команд исполнителя.
3.Алгоритмы, предназначенные для исполнения неким техническим устройством, не должны содержать предписаний, приводящих к неоднозначным действиям. Алгоритм рассчитан на чисто механическое исполнение, и если применять его повторно к одним и тем же исходным данным, то всегда должен получиться один и тот же результат. Это свойство однозначности и определенности – детерминированности – алгоритмов позволяет использовать в качестве исполнителя специальные машины – автоматы.
4.Основополагающим свойством алгоритмов является его массовость, или применимость к некоторому классу объектов, возможность получения результата при различных исходных данных на некоторой области допустимых значений.
5.Цель выполнения алгоритма – получение определенного результата посредством выполнения указанных преобразований над исходными данными. Причем при точном исполнении всех предписаний алгоритмический процесс должен заканчиваться за конечное число шагов. Это обязательное требование к алгоритмам.
6.Если алгоритм должен быть выполнен не просто за конечное время, а за разумное конечное время, то речь идет об эффективности алгоритма. Эффективность алгоритма часто определяет возможность его практической реализации.
Самой распространенной формой представления алгоритмов, адресованных человеку, является обычная словесная запись. В этой форме могут быть выражены любые алгоритмы.
Составим алгоритм определения максимального числа из трех: z:=max(a,b,c).
Решение задачи на ЭВМ можно получить, действуя следующим образом. Сначала найдем наибольшее из двух чисел, например, а и b, сравнив их между собой. Предположим, что исполнитель может выполнить операцию сравнения «больше» . Найденное наибольшее число «запомним» в качестве значения переменной z. Далее сравним значение переменной z с оставшимся числом с. Если с больше z, то присвоим z новое значение – значение с, в противном случае значение z останется прежним. В результате переменная z будет равна наибольшему из a,b,c и будет являться искомым результатом.
Эти рассуждения можно представить в виде словесной записи алгоритма:
Начало
1.Ввести a,b,c.
2.Если a>b, то z::=a;
иначе z:=b;
3.Если c>z, то z:=c.
4.Вывод z.
Конец.
Ход выполнения алгоритма зависит от результатов проверки условий a>b и c>z. Если для введенных значений a, b действительно a>b, то выполняется операция z:=a; если нет, то выполняется z:=b. Таким образом, в зависимости от результата проверки условия a>b требуется выполнить различные действия. В алгоритме на этом шаге предусмотрены оба возможных направления дальнейших вычислений. При проверке условия c>z операция z:=c может выполняться, если действительно c>z, или не выполняться в противном случае.
Этот алгоритм обладает всеми необходимыми свойствами: дискретностью, массовостью, эффективностью.
И так я могу долго