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

Составьте программу, которая формирует массив из двадцати случайных целыъ от -15 до 15 и уменьшает в 3 раза числа, кратные 3, а остальные увеличивает в 2 раза

👇
Ответ:
Vernаrd
Vernаrd
25.11.2021

var a:array[1..20] of integer;

i: integer;

begin

write(' Исходный массив: ');

for i:=1 to 20 do

begin

a[i]:=random(31)-15;

write (a[i]:3,' ')

end;

writeln;

write('Преобразованый массив: ');

for i:=1 to 20 do

begin

if (a[i] mod 3 = 0) then a[i]:=a[i] div 3

else a[i]:= a[i]*2;

write (a[i]:3,' ')

end

end.

4,7(53 оценок)
Открыть все ответы
Ответ:
Ульяна1561
Ульяна1561
25.11.2021
Var - список переменных
переменные а,с присваивают тип integer, т.е. целые числа; b присваивает тип string, т.е строковый тип
begin - начало программы
readln - оператор ввода, окончание ln осуществляет переход на новую строку
str(a,b) - т.е. преобразовать данные числа в строку
переменная b так же присваивает тип строковый
Val(b,a,c) где: b- строка, а-результат, с-позиция с которой произошла ошибка преобразования или 0
writeln(а) - оператор вывода, окончание ln осуществляет переход на новую строку
end. - конец программы
4,8(35 оценок)
Ответ:
nastushka162003
nastushka162003
25.11.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 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ