Ïàñêàëü. Îñíîâû ïðîãðàììèðîâàíèÿ

       

Ñóììà öèôð ÷èñëà ðàâíà


Ê çàäàíèþ 1
     Program
Task1;
          uses WinCrt;
          var
             a, e, d, s, t, s1, p : integer;
          begin
     write('Ââåäèòå ÷åòûðåõçíà÷íîå ÷èñëî '); readln(a);
                        e := a mod 10;  a := a div 10;
              d := a mod 10;  a := a div 10;
              s  := a mod 10;  t  := a div 10;
              s1 := e + d + s + t; {Ñóììà öèôð}
              p := e*d*s*t;    {Ïðîèçâåäåíèå öèôð}


              writeln(' Ñóììà öèôð ÷èñëà ðàâíà ', s1);
              writeln('Ïðîèçâåäåíèå öèôð ðàâíî ', p)
          end.          

Ê çàäàíèþ 2
Çàäà÷à 2
Program Task2_2;{Îïðåäåëåíèå áîëüøåãî èç äâóõ ÷èñåë}
    uses WinCrt;
    var
       a, b, c : integer;
    begin
       write('Ââåäèòå ïåðâîå ÷èñëî '); readln(a);
       write('Ââåäèòå âòîðîå ÷èñëî '); readln(b);
       if a = b then writeln('×èñëà ðàâíû')
                    else if a > b then writeln('Áîëüøåå ÷èñëî ', a)
                                        else
writeln('Áîëüøåå ÷èñëî ', b)
    end.
Çàäà÷à 3
Program Task2_3;{Îïðåäåëåíèå ìîäóëÿ ÷èñëà}
    uses WinCrt;
    var
       a : integer;
    begin
       write('Ââåäèòå öåëîå ÷èñëî '); readln(a);
       if a >= 0 then writeln('Ìîäóëü ÷èñëà ', a, ' ðàâåí ', a)
                      else writeln('Ìîäóëü ÷èñëà ', a, ' ðàâåí ', -a)
    end.
Ê çàäàíèþ 3
Program
Task3; { Ðåøåíèå óðàâíåíèÿ ax = b }
    uses WinCrt;
    var
       a, b : real;
    begin
      write('Ââåäèòå ïåðâûé êîýôôèöèåíò '); readln(a);
      write('Ââåäèòå ñâîáîäíûé ÷ëåí '); readln(b);
      if
a <> 0  then writeln('Óðàâíåíèå èìååò îäíî ðåøåíèå ', b/a:6:3)
                      else  if (a = 0) and (b <> 0)
                               then
writeln('Óðàâíåíèå íå èìååò ðåøåíèé')
                               else  writeln('Óðàâíåíèå èìååò á/ì ðåøåíèé')
    end.
Ê çàäàíèþ 4
Program
Task4; { Âõîäÿò ëè ÷åòíûå öèôðû â çàïèñü òðåõçíà÷íîãî ÷èñëà? }
    uses WinCrt;
    var
        a, s, d, e : integer;
    begin
       write('Ââåäèòå òðåõçíà÷íîå ÷èñëî '); readln(a);
       e := a mod 10;  a := a div 10;  d := a mod 10;  s := a div 10;
       if (s mod 2 = 0) or (d mod 2 = 0) or  (e mod 2 = 0)
         then writeln('×åòíûå öèôðû âõîäÿò â çàïèñü ýòîãî ÷èñëà')
         else  writeln('×åòíûå öèôðû íå âõîäÿò â çàïèñü ÷èñëà')
    end.


Ê çàäàíèþ 2
Çàäà÷à 2
1-é ñïîñîá
Program Task2_2;
    uses WinCrt;
    var
       n, p, n1 : longint;
    begin
       write('Ââåäèòå íàòóðàëüíîå ÷èñëî n '); readln(n);
       n1 := 0;
       while n > 0 do
          begin
             p := n mod 10;
             n1 := n1*10 + p;
             n := n div 10
          end;
       writeln('×èñëî, ïîñëå ïåðåñòàíîâêè öèôð ', n1 + n)
    end.
2-é  ñïîñîá
Program Task2_2a; 
    uses WinCrt;
    var
       n, p, n1 : longint;
    begin
       write('Ââåäèòå íàòóðàëüíîå ÷èñëî '); readln(n);
       n1 := 0;
       while n > 0 do
          begin
             n1 := n1*10 + n mod 10;
             n := n div 10
          end;
       writeln('×èñëî, ïîñëå ïåðåñòàíîâêè öèôð ðàâíî ', n1)
   end.
Ê
çàäàíèþ 3
Çàäà÷à 2
Program Task3_2;
    uses WinCrt;
    var
       n, a, p, b, s : integer;
    begin
       write(' Ââåäèòå íàòóðàëüíîå ÷èñëî ìåíüøåå 28 '); readln(a);
       b := 100;
       writeln('Òðåõçíà÷íûå ÷èñëà, ñóììà öèôð êîòîðûõ');
       write('ðàâíà ÷èñëó ', a, ' ñëåäóþùèå: ');
       while b < 1000 do
          begin
             s := 0; n := b;
             while n <> 0 do
                begin
                   p := n mod 10; 
                   s := s + p;
                   n := n div 10
                end;
             if s = a then write(b, ', ');
             b := b + 1
          end; writeln
    end.
Çàäà÷à 3
Program Task3_3;
    uses WinCrt;
    var
       n, d, e : integer;
    begin
       n := 10;
       write('Èñêîìîå äâóçíà÷íîå ÷èñëî ');
       while n <= 99 do
          begin
             d := n div 10;  e := n mod 10;
             if n + d*d*d  +  e*e*e = e*10 + d then
writeln(n);
             n := n + 1
          end
    end.
Ê
çàäàíèþ 4
Program Task4;
    uses WinCrt;
    var
       n, a, p, b, s : integer;
    begin
       write('Ââåäèòå íàòóðàëüíîå ÷èñëî '); readln(a);
       b := 1;
       writeln('Íàòóðàëüíûå ÷èñëà, ñóììà öèôð ');
       write('êîòîðûõ ðàâíà ÷èñëó ', a, ' ñëåäóþùèå: ');
       while b < 32767 do
          begin
             s := 0; n := b;
             while n <> 0 do
                begin
                   p := n mod 10;  s := s + p;  n := n div
10
               end;
             if s = a then write(b, ', ');
             b := b + 1
         end; writeln
    end.


Ê
çàäàíèþ 1
 
Program Task1;
    uses WinCrt;
    var
       n, a, k : integer;
    begin
       n := 131;
       repeat
          n := n + 131;
          a := n; k := 0;
             repeat
                k := k + 1;
                a := a div 10
             until a = 0;
       until k mod 2 = 0;
       writeln('Íàèìåíüøåå íàòóðàëüíîå ÷èñëî, êðàòíîå 131');
       writeln(' ñ ÷åòíûì êîëè÷åñòâîì öèôð ðàâíî ', n)
    end.
Ê
çàäàíèþ 2
Program Task2_2;
    uses WinCrt;
     var
        a, n, p, s : integer;
     begin
        a := 100;
        writeln('Òðåõçíà÷íûå ÷èñëà, ïðè äåëåíèè êîòîðûõ íà 11');
        write('÷àñòíîå ðàâíî ñóììå êâàäðàòîâ èõ öèôð ñëåäóþùèå ');
   repeat
      n := a; s := 0;
         repeat
            p := n mod 10;
            s := s + p*p;
            n := n div 10
         until n = 0;
      if (a mod 11 = 0) and (s = a div
11) then write(a, '; ');
      a := a + 1
   until a = 1000;
end.
Ê çàäàíèþ 4
Program
Task4; { ÍÎÊ äâóõ ÷èñåë. 1 - ñïîñîá }
     uses WinCrt;
     var
        a, b, m, n, p : integer;
     begin
        write('Ââåäèòå ïåðâîå ÷èñëî '); readln(a);
        write('Ââåäèòå âòîðîå ÷èñëî '); readln(b);
        p := 0;
           repeat
              if a>b then
                          begin
                             m := a; n := b
                          end
                       else
                          begin
                             m := b; n := a
                          end;
              p := p + m
           until p mod n =0;
        writeln('ÍÎÊ ÷èñåë ', a, ' è ', b, ' ðàâåí ', p)
     end.
Ê çàäàíèþ 5
Program
Task5; { ßâëÿåòñÿ ëè ÷èñëî ïðîñòûì? 2- ñïîñîá }
     uses WinCrt;
     label 1, 2;
     var
        n, i : integer;
     begin
        write('Ââåäèòå öåëîå ÷èñëî '); readln(n);
         i := 3;
         if n = 2 then writeln('×èñëî ', n, ' - ïðîñòîå')
                      else if n = 3
                               then writeln('×èñëî ', n, ' - ïðîñòîå')
                               else
                                 if n mod 2 = 0 then
writeln('×èñëî ',n,' ñîñòàâíîå')
                                                         else
                                                           repeat
                                                              if
n mod i = 0 then goto 1;
                                                              i := i + 2
                                                           until
i > n div 2;
         writeln('×èñëî ', n, ' ïðîñòîå'); goto 2;
      1: writeln('×èñëî ', n, ' ñîñòàâíîå');
2: end.                      


Ê çàäàíèþ 1
Program
Task1;
    uses WinCrt;
    var
        n, s, s1 : integer;
{----------------------------------------------------------------------------------------}
    Procedure extent(a, n : integer;  var s : integer);
        var
            i : integer;
        begin
           i := 1; s := 1;
           repeat
              s := s*a; i := i + 1
           until i = n
        end;
{----------------------------------------------------------------------------------------}
    begin
       n := 1;
       repeat
          n := n + 1;
          extent(2, n, s);
          extent(3, n, s1);
       until ((s - 2) mod (n - 1) <> 0) and
((s1 - 3) mod (n - 1) = 0);
       writeln(' Èñêîìîå ÷èñëî ðàâíî ', n - 1)
    end.
Ê
çàäàíèþ 2
Program Task2;
    uses WinCrt;
    var
        n, s, s1 : integer;
{----------------------------------------------------------------------------------------}
    Procedure extent(a, n : integer;  var s : integer);
        var
            i : integer;
        begin
           i := 1;
           s := 1;
           repeat
              s := s*a;
              i := i+1
           until i=n
        end;
{----------------------------------------------------------------------------------------}
    begin
       n := 1;
       repeat
           n := n+1;
           extent(2, n, s);
           extent(3, n, s1);
       until ((s-2) mod (n-1)<>0) and
((s1-3) mod (n-1)=0); 
       writeln('Èñêîìîå ÷èñëî ðàâíî ', n-1)
    end.
Ê çàäàíèþ 3
Program Task3; { Ñóììà ïðàâèëüíûõ äåëèòåëåé }
    uses WinCrt;
    var
        i, a, b, s : integer;
{----------------------------------------------------------------------------------------}
    Procedure math_divisor(n : integer;  var s : integer);
        var
            d : integer;
        begin
           s := 0;
           for d := 1 to n div 2 do
             if n mod d = 0 then s := s + d
        end;
{----------------------------------------------------------------------------------------}


Ê çàäàíèþ 1
Ê ïðèìåðó 1
Program Task1;
     uses WinCrt;
     var
        p : longint;
{----------------------------------------------------------------------------------------}
    Procedure placement(n, k : integer;  var  r : longint);
        var
           i : integer;
        begin
           r := 1;
           for i := 1 to k do r := r*(n - k + i)
        end;
{----------------------------------------------------------------------------------------}
    begin
       placement(40, 3, p);
       writeln('×èñëî ðàçëè÷íûõ ñïîñîáîâ ðàâíî ', p)
    end.
Ê
ïðèìåðó 2
Program Task1_2;
    uses WinCrt;
    var
       s, r1, r2, r3 : longint;
{----------------------------------------------------------------------------------------}
    Procedure placement(n, k : integer;  var r : longint);
        var
           i : integer;
        begin
           r := 1;
           for i := 1 to k do r := r*(n - k + i)
        end;
{----------------------------------------------------------------------------------------}
    begin
       placement(5, 1, r1);
       placement(5, 2, r2);
       placement(5, 3, r3);
       s := r1 + r2 + r3;
       writeln(' Íå áîëåå ÷åì òðåõçíà÷. ÷èñåë ìîæíî ñîñòàâèòü');
       writeln('èç öèôð 1, 2, 3, 4, 5; ', s, ' ñïîñîáàìè')
    end.
Ê çàäàíèþ 2
Ê ïðèìåðó 1
Program Task2_1;
     uses WinCrt;
     var
        p1, p2, p : longint;
        m, n        : integer;
{----------------------------------------------------------------------------------------}
     Procedure placement(n, k : integer;  var r : longint);
          var
             i : integer;
          begin
             r := 1;
             for i := 1 to k do r := r*(n - k + i)
          end;
{----------------------------------------------------------------------------------------}
    begin
        write('Ââåäèòå ÷èñëî âñåõ ýëåìåíòîâ '); readln(m);
        write('Ââåäèòå ÷èñëî âûáèðàåìûõ ýëåìåíòîâ '); readln(n);
        placement(m, n, p1);

Ñîäåðæàíèå ðàçäåëà