ВХОД

МЕТОДИЧЕСКИЕ РАЗРАБОТКИ ПО КУРСУ ИНФОРМАТИКИ

"ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL"

Начало > Глава I. Цифры, Условия > Задачи с решениями

ГЛАВА I

ЗАДАЧИ С РЕШЕНИЯМИ

Разделение числа на цифры и действия с ними

 

1. Вывести на экран все цифры вводимого с клавиатуры числа.
  Переход
Блок-схема

2. Найти первую цифру вводимого с клавиатуры числа.
  Переход
Блок-схема

3. Найти удвоенное произведение цифр числа, вводимого с клавиатуры.
  Переход
Блок-схема

4. Вычислите сумму старших (первых) цифр всех чисел от 1 до 99.
  Переход
Блок-схема

5. Найти общую сумму цифр всех двузначных чисел.
  Переход
Блок-схема

6. Вычислите, чему равно P - S, где P - произведение , S - сумма цифр числа, вводимого с клавиатуры.
  Переход
Блок-схема

7. Найдите двузначное число, равное сумме квадрата числа его единиц и куба числа его десятков.
  Переход
Блок-схема

8. Найти удвоенную сумму цифр случайного числа из интервала [555; 999].
  Переход
Блок-схема

 

1. Вывести на экран все цифры вводимого с клавиатуры числа.
Ответ:
число=123
3
2
1.

program cif_01;
uses crt;
var ch, c: integer; {ch - число; с - цифра}

begin
    clrscr;
    write('число='); readln(ch);
    while ch< >0 do
      begin
      c:=ch mod 10;
      ch:=ch div 10;
      writeln(c);
      end;
end.
2. Найти первую цифру вводимого с клавиатуры числа.
Ответ:
число=56
5


program cif_02;
uses crt;
var ch, c: integer; {ch - число; с - цифра}
begin
    clrscr;
    write('число='); readln(ch);
    while ch< >0 do
      begin
      c:=ch mod 10;
      ch:=ch div 10;
      end;

    writeln(c); {вывод на экран только последней цифры}
end.

3. Найти удвоенное произведение цифр числа, вводимого с клавиатуры.
Ответ: ch = 1234, P * 2 = 48.

program cif_03;
uses crt;
var c, ch, P: integer;
    begin
      clrscr;
      P:=1;
      write('ch='); readln(ch) ;
      while ch< >0 do
        begin
        c:=ch mod 10;
        ch:=ch div 10 ;
        P:=p*c;
        end;
      write('P*2=',p*2);
    end.

4. Вычислите сумму старших (первых) цифр всех чисел от 1 до 99.
Ответ: S=495.

program cif_04;
uses crt;
var c,ch,i,S:integer;

    begin
      clrscr;
      S:=0;
      for i:=1 to 99 do
        begin
        ch:=i;
        while ch< >0 do
          begin
          c:=ch mod 10;
          ch:=ch div 10
          end;
        S:=s+c; {после окончания цикла While, с - старшая цифра числа}
        end;
      write('S=',s);
    end.

5. Найти общую сумму цифр всех двузначных чисел.
Ответ:
Сумма цифр всех двузначных чисел = 855.



program cif_05;
uses crt;
var ch, ch1, c, S, SUM: integer;

    {ch - число;
    ch1 - дубликат числа ch;
    с - цифра;
    S - сумма цифр для каждого числа;
    SUM - общая сумма цифр}
begin
    clrscr;
    For ch:=10 to 99 do
      begin
      ch1:=ch; {создаем дубликат числа}
      S:=0; {обнуляем сумму цифр для проверяемого числа}

      while ch1< >0 do {используем дубликат числа, т.к. в результате следующего цикла он превращается в ноль}
        begin
        c:=ch1 mod 10;
        ch1:=ch1 div 10;
        s:=s+c {считаем сумму цифр для каждого числа}
        end;

      SUM:=SUM+S;
      end;

    writeln('сумма цифр всех двузначных чисел = ', SUM);
end.

6. Вычислите, чему равно P - S, где P - произведение , S - сумма цифр числа, вводимого с клавиатуры.
Ответ: если ch=124, то P-S=1.

program cif_06;
uses crt;
var c, ch, P, S: integer;

    begin clrscr;
    P:=1;
    write('ch='); readln(ch) ;
    while ch< >0 do
      begin
      c:=ch mod 10;
      ch:=ch div 10 ;
      P:=p*c;
      S:=S+c
      end;
    write('P - S=', p - S);
    end.

7. Найдите двузначное число, равное сумме квадрата числа его единиц и куба числа его десятков.
Ответ: 24.


program cif_07;
uses crt;
var ch, des, ed, kb, kv: integer;

    begin
    clrscr;
    ch:=9; {9 - последнее однозначное число перед двузначными. С него пойдет отсчет}
    repeat
      inc(ch);
      ed:= ch mod 10;
      des:= ch div 10 mod 10;
      kv:=sqr(ed);
      kb:=sqr(des)*des;
    until ch=(kv+kb);
    writeln('ch=',ch)
    end.
8. Найти удвоенную сумму цифр случайного числа из интервала [555; 999]

Ответ:
900
Удвоенная сумма цифр числа = 18


program cif_08;
uses crt;
var ch, c, S:integer;
    {ch - число;
    с - цифра;
    S - сумма цифр числа}
begin
    clrscr;
    randomize;
    ch:=random(999-555+1)+555;
    writeln(ch);
      S:=0; {сначала сумма цифр равна 0}
      while ch< >0 do
        begin
        c:=ch mod 10;
        ch:=ch div 10;
        s:=s+c {считаем сумму цифр числа}
        end;

    writeln('Удвоенная сумма цифр числа = ', S*2);
end.

 

 

 

 

Copyright ©2011 Nika A.S.
Hosted by uCoz