• Предмет: Информатика
  • Автор: zevakinnikita04
  • Вопрос задан 2 года назад

Задание
1. Удвойте числа от 1 до 10 и выведите на экран.
2. Вычислите значение функции y= 3х2-4х+2 в интервале [0...10] с
шагом 1.
3. Постройте таблицу умножения на 4.
4. Из числового промежутка выведите те числа, в записи которых
есть хотя бы одно нечетное число. Например, 12, 23, 98,99.
5. Выведите на экран трехзначные числа, делящиеся на 3 и 9.
6. Уточните сколько нулей есть в числах от 1 до 100.​


Аноним: 4. Из числового промежутка выведите те числа, в записи которых
есть хотя бы одно нечетное число. Например, 12, 23, 98,99.
*одна нечетная цифра наверно
alleggs: Здравствуй. На чем программа нужна?

Ответы

Ответ дал: alleggs
1

Ответ:

{Из числового промежутка выведите те числа, в записи которых

есть хотя бы одна нечетная цифра. Например, 12, 23, 98,99.}

var x,xt:integer;//само число и его дубликат

   a,b:integer; //границы промежутка (ну я так понял условие, что промежуток можно задать)

   flag:boolean; //логическая переменная, которая поможет определить является ли данное число необходимым для вывода

BEGIN

writeln('введите границы отрезка');readln(a,b);

for x:=a to b do begin //перебираем все значения в числовом промежутке

  xt:=x; //берем копию числа x, дабы не трогать сам х, который идет как счетчик цикла

  flag:=false; //предполагаем, что число не подходящее

  while (xt>0) do begin

    //(xt mod 10) - последняя цифра числа, т.е. разряд единиц и если она нечетная  

    //(ее остаток от деления на 2 не равен 0), то flag ставим true - число подходит и выходим из цикла

    if ((xt mod 10) mod 2<>0) then begin flag:=true; break end;

    xt:=xt div 10; //таким делением отбрасываем разряд единиц, мы его уже проверили и в цикле снова проверяем подходит ли число

  end;

  if flag=true then write(x,' ');//если flag стал true, значит мы определили, что в числе есть нечетная цифра и значит его можно вывести на экран

end;

 END.

Объяснение:

в комментариях все объяснения)

Вас заинтересует