Cоставьте пожалуйста программку в Паскале ABC) Задание: Запросить с клавиатуры целое...

0 голосов
56 просмотров

Cоставьте пожалуйста программку в Паскале ABC)
Задание:
Запросить с клавиатуры целое 6-значное число и напечатать сумму его цифр.Если вводится не то число,то сообщить об этом и повторить ввод.


Информатика (19 баллов) | 56 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Вот программа на Паскале.
Работает так:
Вводится число с проверкой (в скриншоте представлены случаи, когда число вводилось 5-значное, потом 7-значное, и только при 6-значном числе программа стала проводить вычисленияю
Для удобства число превращали в строку, а потом полученные символы опять в цифры...


image
image
0

Замени 5 строку на: if (a<100000) or (a<999999) then    И ВСЕ!   А я показал в своей программе переход от числовой формы к строковой и наоборот. Во многих программах это значительно упрощает написание кода...  Да, еще в 6 строке (a>=100000)  and (a<=999999)   Всё!

0

Нет, блин, не всё:  замени 1 на 0  и вместо произведения поставь сумму    p:=0      (8 строка)    p:=p + (a mod 10)

0

Не получается!

0

Пишет неверное выражение в 6 строке

0

var
  a, s : longint;
begin
  repeat
    writeln('Введите нечетное 6-значное число: ');
    readln(a);
    if (a<100007) or (a>999997) or (not odd(a)) then
      writeln('Число введено неверно, повторите');
  until (a>=100007) and (a<=999997) and (odd(a));<br>  s:=0;
  while a>0 do
    begin
      s:=s + (a mod 10);
      a:=a div 10;
    end;
  write('Сумма цифр = ',s);
end.

0

Вот эта программа.Мне знакомый только что составил.

0

Можешь пожалуйста составить блок схем в ворде и прислать скрин?

0

А вот так:       

0

var a, s : longint;
begin
    repeat
    write(' a = ');
    readln(a);
    if (a<100000) or (a>999999) then
      writeln(' 100000  until (a>=100000) and (a<=999999);<br>  s:=0;
  while a>0 do
    begin
      s:=s + (a mod 10);
      a:=a div 10;
    end;
  write(' S = ',s);
  ReadLn;
end.

0

Твой знакомый составил программу для НЕЧЕТНЫХ чисел ОКАНЧИВАЮЩИХСЯ цифрой 7. Я переделал программу. У меня в Паскале работает.   И еще. Если я нарисую блок-схему, то как я ее вставлю,  надпись "изменить" не горит.....