Программирование на Паскаль

Автор работы: Пользователь скрыл имя, 30 Октября 2013 в 18:05, лабораторная работа

Описание работы

Часто при решении задач приходится многократно вычислять значения по одним и тем же зависимостям для различных значений входящих в их величины. Такие многократно повторяемые участки вычислительного процесса называются циклами. Использование циклов позволяет существенно сократить объем схемы алгоритма и длину соответствующей ей программы. Различают циклы с заданным и неизвестным числом повторений. С заданным числом повторений - цикл со счетчиком. С неизвестным числом повторений - цикл с предусловием, цикл с постусловием.

Файлы: 1 файл

0083922_A1F38_zadachi_zadachi_s_resheniyami_v_srede_turbopascal.doc

— 138.00 Кб (Скачать файл)

             end                                                             

              else begin                                                     

                writeln ('произведение чисел равно',p);                      

                 readln;                                                     

                    end;                                                     

            end.                                                            

12. Составить таблицу умножения на 7.

program zadacha_12;

var                                                                       

      i, p: integer;                                                         

      begin                                                                  

        writeln ('таблица умножения на 7');                                  

        for i:=1 to 10 do                                                    

          begin                                                              

           p:=7*i;                                                           

           writeln ('7x',i,'=',p);                                           

          end;                                                               

          readln;                                                            

      end.

13. Дано число а. Найти среди чисел 1, 1+1/2, 1+1/2+1/3,..., первое большее а.

program zadacha_13;

uses crt;                                                               

  var                                                                       

   a: real;                                                                

   s: real;                                                                

   n: integer;                                                          

  begin                                                                    

   clrscr;                                                                 

   writeln('Введите число');                                

   readln(a);                                                            

   n:=1;                                                                    

   s:=1;                                                                     

   while s<=a do                                                      

    begin                                                                   

    n:=n+1;                                                               

    s:=s+1/n;                                                             

    end;                                                                     

    writeln ('первое число  большее ',a:2:2,'  это - ',s:2:2);             

    readln;                                                                  

  end.                                                                       

14. Определить максимальное число, введенное с клавиатуры.

program zadacha_14;

uses crt;                                                                   

  var                                                                        

   a: integer;                                                               

   m: integer;                                                              

  begin                                                                      

   clrscr;                                                                   

   m:=0;                                                                     

    repeat                                                                   

     readln(a);                                                              

      if a>m then m:=a;                                                      

    until a<=0;                                                              

    writeln ('максимальное число: ',m);                                      

    readln;                                                                

  end. 

15. ДРУЖЕСТВЕННЫЕ числа - два натуральных числа, каждое из которых равно сумме правильных делителей другого (т. е. делителей, меньших этого числа). Напр., 284 и 220. Составить программу, которая находит все дружественные числа в интервале [1; 10000].

program zadacha_15;

uses crt;                                                                   

  var                                                                        

   a: longint;{первое число}                                                 

   b: integer;{делители числа s}                                             

   i: integer; {делители  числа a}                                            

   s: integer;{сумма  делителей первого числа}                       

   s1: integer;{сумма  делителей s}                                          

    begin                                                                    

     clrscr;                                                                 

      writeln ('Программа, находящая все  дружественные');       

       writeln ('числа в интервале от 1 до 10000');                         

        readln;                                                              

         for a:= 2 to 10000 do {цикл для проверки первых чисел}           

          begin                                                              

           s:=0;                                                             

            for i:= 1 to a-1 do {находим все делители числа а,

                                 исключая само число}

             begin

                if a mod i = 0 then {находится сумма делителей  числа а}        

               begin                                                        

                s:= s+i;                                                     

               end;                                                          

             end;                                                            

              s1:=0;                                                        

               for b:= 1 to s-1 do{цикл для проверки  вторых чисел, 

                                   которые являются суммой                 

                                   делителей первого числа}

               begin                            

                if s mod b = 0 then {находим все делители  чила s 

                                                 (сумма делителей числа а)}

                 begin                                                       

                  s1:= s1 +b;                                             

                 end;                                                        

               end;                                                      

                if (s1=a) and (s<>a) then {сумма делителей суммы       

                                           делителей числа а должна          

                                           быть равна числу а, а             

                                           сумма делителей числа а       

                                           не должна быть равна       

                                           этому числу}

                 begin                                       

                  writeln ('Числа ', a, ' и ',s,' - дружественные'); 

                 end;            

          end;                   

           readln;              

    end.    

16. Пифагоровыми числами называются числа, для которых выполняется равенство a2+b2= c2. Например, 32+42= 52 следовательно числа 3,4,5 – пифагоровы. Составить программу, которая находит все пифагоровы числа, не превышающих 20.

program zadacha_16;

uses crt;

  var

   a:integer;{первое число}

   b:integer;{второе число}

   c:integer;{третье число}

   a1:integer;{первое число в квадрате}

   b1:integer;{второе  число в квадрате}

   c1:integer;{третье  число в квадрате}

   i:integer; {счетчик  цикла}

   cx:integer;{сумма  квадратов первого и второго  чисел}

    begin

    clrscr;

     for a:=1  to 20 do

       a1:=SQR(a);

     for b:=1 to 20 do

      b1:=SQR(b);    

      cx:=a1+b1;

     for c:=1 to 20 do

      c1:=SQR(c);

      if c1=cx then

       writeln ('a=',a,'','b=',b,'','c=',c,'-пифагоровы');

         c:=c+1;end;

           b:=b+1;end;

             a:=a+1;

              readln;

      end.

17. Выписать столбиком следующие числа:2,1; 2,2; 2,3; 2,4; 2,5; 2,6; 2,7; 2,8; 2,9.

program zadacha_17;

  uses crt;                                                             

  var                                                             

   i: integer;                                                  

  begin                                                                  

     clrscr;                                                              

      for i:=21 to 29 do                                                   

       begin                                                                

        writeln (i/10:5:1);                                                

       end;                                                                

     readln;                                                                

   end.                                                                     

18. Найти среднее арифметическое квадратов всех целых чисел от 1 до 100.

program zadacha_18;

  uses crt;                                                                  

var                                                                        

  i:integer;                      {числа}                                   

  c:longint;                      {сумма квадратов}                        

  f:real;                         {среднее арифметическое квадратов}         

  begin                                                                     

    clrscr;                                                                  

    c:=0;                                                                    

     for i:=1 to 100 do                                                      

      begin                                                                  

       c:=i*i+c;                 {нахождение суммы квадратов}                

      end;                                                                   

       f:=c/100;                 {нахождение среднего арифметического квадратов}

       writeln('Среднее арифметическое квадратов  всех целых чисел от 1 до 100:

        readln;                                                              

end.                                                                        

19. Вычислить сумму 1+1/2+1/3+1/4+.....1/n.

program zadacha_19;

uses crt;                                                                    

     var                                                                          

      s,s1:real;                                                                   

      i ,n:integer;                                                                 

    begin                                                                        

     clrscr;                                                                     

       writeln('введите кол-во n');                                                 

       readln(n);                                                                   

       s:=1;                                                                        

        for i:= 2 to n do                                                            

         begin                                                                        

           s:=s+(1/i);                                                                  

         end;                                                                         

Информация о работе Программирование на Паскаль