• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите составить программу в Паскале

юлёк fomik

Новые
Регистрация
25 Фев 2012
Сообщения
13
Реакции
0
Баллы
0
Помогите составить программу в Паскале

Помогите составить программу в паскале:Дано натур число N (999<=N<=999999999) Ввести значение K(1<K<9) c клавиатуры. Найти сумму цифр данного числа и количество цифр, больших K. Остальные цифры (<=K) вывести на экран в любом порядке.
 
Помогите составить программу в паскале:Дано натур число N (999<=N<=999999999) Ввести значение K(1<K<9) c клавиатуры. Найти сумму цифр данного числа и количество цифр, больших K. Остальные цифры (<=K) вывести на экран в любом порядке.
"Элементарно, Ватсон!":
Код:
Var
 N:LongInt;
 K,Sum,Num,m:Byte;
Begin
 Write('N (>998 and <1000000000) = ');
 Readln(N);
 Write('K (>1 and <9) = ');
 Readln(K);
 Num:=0;
 Sum:=0;
 Repeat
  m:=N mod 10;
  Inc(Sum,m);
  If m>K then Inc(Num) else Write(m,' ');
  N:=N div 10;
 Until N=0;
 Writeln;
 Writeln('Sum of all figures is ',Sum);
 Writeln('Number of figures, greater then ',K,', is ',Num);
 Readln
End.
 
А можно с помощью оператора while составить, пожалуйста?)
 
можно использовать только while if writeln readln mod div, оператор присваивания.
 
А можно с помощью оператора while составить, пожалуйста?)
Можно и так... Только вот чем Repeat..Until не устраивает?:tehnari_ru_325:
Код:
Var
 N:LongInt;
 K,Sum,Num,m:Byte;
Begin
 Write('N (>998 and <1000000000) = ');
 Readln(N);
 Write('K (>1 and <9) = ');
 Readln(K);
 Num:=0;
 Sum:=0;
 While N>0 do
  begin
   m:=N mod 10;
   Inc(Sum,m);
   If m>K then Inc(Num) else Write(m,' ');
   N:=N div 10;
  end;
 Writeln;
 Writeln('Sum of all figures is ',Sum);
 Writeln('Number of figures, greater then ',K,', is ',Num);
 Readln
End.
 
можно использовать только while if writeln readln mod div, оператор присваивания.
offtopic.gif Преподавателей, которые связывают учащихся подобными идиотскими ограничениями, тем самым выхолащивая самое интересное в программировании, а именно творческое начало, - РАССТРЕЛЯТЬ! Без замены штрафом.
 
просто мы этого ещё не проходили
 
ПРИ ЗАПУСКЕ ПРОГРАММЫ ОН НАХОДИТ НЕ БОЛЬШЕ "К" А БОЛЬШЕ ИЛИ РАВНО "К"???!!!
а ЕЩЁ НУЖНО ОПРЕДЕЛИТЬ ЧЁТНО ЛИ КОЛ-ВО ЦИФР БОЛЬШИХ "К")
 
ПРИ ЗАПУСКЕ ПРОГРАММЫ ОН НАХОДИТ НЕ БОЛЬШЕ "К" А БОЛЬШЕ ИЛИ РАВНО "К"???!!!
"Он" находит ровно то, что требуется в сформулированном Вам задании. Я не выкладываю сюда программ, пока они тщательно не оттестированы.
а ЕЩЁ НУЖНО ОПРЕДЕЛИТЬ ЧЁТНО ЛИ КОЛ-ВО ЦИФР БОЛЬШИХ "К")
А откуда это следует? Прочтите еще раз, как Вы сформулировали задание.

В общем, так. Итераций не будет. Изменения в программу будут внесены тогда, когда будет выложена полная, тщательно проверенная и точная формулировка задания. А не эти бесконечные тяп-ляп, вокруг да около и абы как ни попадя.
 
Извините.
Дано натуральное число N (999<=N<=999999999).Ввести значение K (1<K<9) с клавиатуры. Найти сумму цифр данного числа и кол-во цифр, больших K.
Остальные цифры (<=K) вывести на экран в любом порядке.
Определить, чётно ли кол-во цифр,больших К.
 
Дано натуральное число N (999<=N<=999999999).Ввести значение K (1<K<9) с клавиатуры. Найти сумму цифр данного числа и кол-во цифр, больших K.
Остальные цифры (<=K) вывести на экран в любом порядке.
Определить, чётно ли кол-во цифр,больших К.
Ну пожалуйста, вот:
Код:
Var
 N:LongInt;
 K,Sum,Num,m:Byte;
Begin
 Write('N (>998 and <1000000000) = ');
 Readln(N);
 Write('K (>1 and <9) = ');
 Readln(K);
 Num:=0;
 Sum:=0;
 While N>0 do
  begin
   m:=N mod 10;
   Inc(Sum,m);
   If m>K then Inc(Num) else Write(m,' ');
   N:=N div 10;
  end;
 Writeln;
 Writeln('Sum of all figures is ',Sum);
 Write('Number of figures, greater then ',K,', is ',Num);
 If (Num mod 2)=0 then
  Writeln(' (even)')
 else
  Writeln(' (odd)');
 Readln
End.
Одна ремарка. По некоторым причинам мне возиться с кириллицей в программах страшно неудобно, отсюда все надписи по-английски, так что Вы уж сами поправьте, если надо. На всякий случай:
even - четное
odd - нечетное.
 
Назад
Сверху