М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
SchillerAlice
SchillerAlice
07.12.2021 09:24 •  Информатика

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число n, не превосходящее 10^9, и выводится минимальная цифра этого числа. программист торопился и написал программу неправильно. pascal var n,k: integer; begin readln(n); k: =9; while n > 10 do begin if n mod 10 k: =n mod 10; n: n div 10; end; write(k) end. последовательно выполните следующее. 1. напишите, что выведет эта программа при вводе числа 537? 2. пример такого числа при котором программа работает верно 3.укажите все ошибки в программе и исправьте их.для этого для каждой ошибки выпишите строку ,которая написана неправильно и правильный вариант строки.

👇
Ответ:
nastushka162003
nastushka162003
07.12.2021
Сначала надо избавиться от ошибок (пункт №3)
иначе не сможем выполнить 1 и 2 пункт задания.
  Исправляем if N mod 10 k:=N mod 10; на if (N mod 10 < k) then k:=N mod 10;
  Исправляем N:N div 10; на N:= N div 10;
 
После исправления ошибок при вводе 537 получим 3
Программа будет работать правильно для любого числа,
у которого вторая цифра слева меньше первой цифры, например:
7193

Чтобы программа работала правильно для всех чисел надо
изменить это: while N > 10 do на while N > 0 do

После всех исправлений код программы стал таким:
var
  N, k: integer;
begin
  readln(N);
  k := 9;
  while N > 10 do
  begin
    if (N mod 10 < k) then k := N mod 10;
    N := N div 10;
  end;
  write(k)
end.
4,5(15 оценок)
Открыть все ответы
Ответ:
alexandra171717
alexandra171717
07.12.2021

Program Begenjov1997;

const

 n = 40; {Количество элементов массива}

 m = 10000; {Максимально возможное значение элемента}

var

 a:array[1..n] of integer;

 i,min: integer; b:boolean;

 s:string;

 

begin

 s:=' -=Alphaeus=- ';

 for i:=1 to 22 do begin write(s[i]); sleep(60) end;

{заполняем массив случайными числами}

 writeln; randomize;

 for i:=1 to n do a[i]:=random(m+1);

{Ищем минимальный элемент с семеркой в конце в 8-ичной записи}

 min:=a[1]; b:=false;

 for i:=2 to n do  

   if (a[i] mod 8 = 7) and (a[i]<min) then

     begin

       min:=a[i];

       b:=true;

     end;  

{выводим min}

 writeln;

     if b then writeln('минимальный элемент с семеркой в конце в 8-ичной записи = ',min)  

       else writeln('0 (нет такого элемента)');

end.

4,6(92 оценок)
Ответ:
fffff2098
fffff2098
07.12.2021

Так как конкретной программы не дано, напишу на Питоне

Программа, где массив вводится вручную и выполняются поставленные условия во вложении

Если имеется уже готовый массив, то во 2-ой строке заполнить все его элементы и удалить 4 и 5-ую строки.

Как это работает?a - сам массивminimum - контр значение с которым будем сравнивать эл-ты4 и 5 строкой заполняем массив 40 эл-ми вручную6 и 7 строками проверяем каждый эл-т по поставленному условию8 строка - присваиваем число минимуму9 - 12 выводим ответ, проверяя, изменился ли эл-т minimum с начала программы, если да - выводим его, нет - выводим 0
52) Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от 1 д
4,4(3 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ