Дано логическое выражение: (a>1)and(a≤38).Такое логическое выражение возвращает истину, лишь в том случае, когда истинны оба выражения, т.е., (выбери несколько вариантов ответа):
(1)если a больше 1
(2)если a равно 1, но меньше 38
(3)если a входит в диапазон от 1 до 38 включительно
(4) 1
Var
N,A:integer;
Begin
Write('N = ');Read(N);
A:=0;
While N>0 do
Begin
if (N mod 10) > A then A:= N mod 10;
N:=N div 10;
End;
Write(A)
End.
Var
N,A,B:integer;
C:boolean;
Begin
Write('N = ');Read(N);
A:=-1;
B:=-2;
C:=false;
While N>0 do
Begin
if A=B then C:=true;
if N>0 then
Begin
A:=N mod 10;
N:=N div 10;
End;
if A=B then C:=true;
if N>0 then
Begin
B:=N mod 10;
N:=N div 10;
End;
End;
if A=B then C:=true;
if C then Write('Есть')
else Write('Нет')
End.
Неправильно написан поиск минимального и максимального элементов:
Program j;
uses crt;
const n=10;
var a: array [1..n] of integer;
i,min,max:integer;
begin
min:=1; max:=1;
Writeln ('Введите элементы массива');
For i:=1 to n do
Begin
Write ('a[',i: 2,']=');
Readln(a[i]);
End;
Writeln ('Контрольный вывод массива: ');
For i:=1 to n do
Writeln('a[',i:2,']=',a[i]:4);
for i:=1 to n do
begin
if a[i]>a[max] then max:=i;
if a[i]<a[min] then min:=i;
end;
writeln('Максимальный элемент массива ',a[max],' под номером ',max);
writeln('Минимальный элемент массива ',a[min],' под номером ',min);
end.
Выделенное жирным шрифтом - исправленный вариант.
Теперь программа корректно ищет и минимальный и максимальный элементы, при том проходя массив полностью, а не до первого совпадения, как было в исходной версии.