Основы программирования в паскале

Автор работы: Пользователь скрыл имя, 16 Сентября 2009 в 13:41, Не определен

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

Учебник по программированию

Файлы: 16 файлов

Pascal процедуры и функции.doc

— 181.00 Кб (Просмотреть файл, Скачать файл)

Pascal динамические структуры данных.doc

— 147.00 Кб (Просмотреть файл, Скачать файл)

Pascal и графика.DOC

— 116.50 Кб (Просмотреть файл, Скачать файл)

Program Graph.doc

— 19.00 Кб (Просмотреть файл, Скачать файл)

Unit GraphApp.doc

— 21.50 Кб (Просмотреть файл, Скачать файл)

Unit GraphObj.doc

— 21.50 Кб (Просмотреть файл, Скачать файл)

Краткие основы Паскаля.doc

— 217.00 Кб (Просмотреть файл, Скачать файл)

Общие понятия программирования.doc

— 80.00 Кб (Просмотреть файл, Скачать файл)

Основные принципы ООП.doc

— 151.00 Кб (Просмотреть файл, Скачать файл)

Основы разработки программ.doc

— 148.00 Кб (Просмотреть файл, Скачать файл)

Паскаль на 5-КУ 85 листов.doc

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

Модуль CRT.doc

— 30.00 Кб (Просмотреть файл, Скачать файл)

Модуль Graph.doc

— 77.50 Кб (Просмотреть файл, Скачать файл)

Структура модуля.doc

— 38.00 Кб (Просмотреть файл, Скачать файл)

Практичесое занятие по работе с модулем граф.doc

— 52.00 Кб (Просмотреть файл, Скачать файл)

Целочисленная арифметика TURBO PASCAL.doc

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

Целочисленная арифметика TURBO PASCAL (примеры  задач)

                

            

   1.  0.pas-Подсчитать кол-во цифр в заданном натуральном числе 

program N1{подсчит  ть кол-во цифр в з д нном  н тур льном числе};

var N:integer;

function KOL(N:integer):integer;

begin

    if N>9 then KOL:=KOL(N mod 10)+KOL(N div 10)

         else KOL:=1;

end;

BEGIN

    Write('Введите N');ReadLn(N);

    WriteLn(KOL(N));

    ReadLn;

END. 

            2. Найдите целые  числа-палиндромы, которые  при возведении  в квадрат

           тоже дают палиндромы 

program borlpasc;

{н йдите целые  числа -палиндромы, которые при  возведении в квадрат

 тоже д  ют п линдромы}

var i,i1,i2:longint;

function Palindrom(n:longint):boolean;

var n1,n2,o:longint;

begin n1:=n;n2:=0; {n1 - данное  число, n2 - число которое получится}

      while n1>0 do

        begin o:=n1 mod 10;{о - ост ток от деления  н  10}

              n1:=n1 div 10;

              n2:=n2*10+o;

        end;

      Palindrom:=(n=n2);

end;

begin writeln('Введите  интервал поиск :');

      write('Начало интервала:');readln(i1);

      write('Конец  интерв л :');readln(i2);

      for i:=i1 to i2 do

              if Palindrom(i) and Palindrom(sqr(i))

                 then writeln(i,'-п линдром  ',sqr(i),'-п линдром');

end. 
 
 
 
 

            3. Поменять местами первую и последнюю цифры числа

program borlpasc;

var b,a,n,k:integer;

begin write('введите число n=');

      readln(n);

      k:=n;

      a:=k mod 10;

          repeat b:=k mod 10;

                 k:=k div 10

          until k div 10 =0;

      b:=k mod 10; 

      writeln(a,n div 10 div 10 mod 10,n div 10 mod 10,b)

end. 

4. Дано нат. K. напечатать  К-ю цифру последовательности

12345678910111213...,

в которой записаны подряд все натуральныe числa 

{Andrey Sharov}

{ e-mail : ansharov@one.lv                     }

{ website: borlpasc.narod.ru                     }

{д  но н т. K. н печ  т ть К-ю цифру  последов тельности  12345678910111213...,

  в которой з  пис ны подряд  все н тур льныe числa}

program  borlpasc;

var i,j,k,n,o:integer;

    a,t:longint;

begin write('Введите k=');readln(k);

      t:=0;i:=0;

      repeat t:=t+1;

             j:=t;

             while j>0 do{счит ем  количество цифр  в числе

                          и доб вляем  к общему количеству}

                   begin j:=j div 10;

                         i:=i+1;

                         {if i=k then o:=j mod 10;}

                   end;

      until i>=k;

      while i>=k do{возвр щ емся по цифр м последнего числ

                    до нужной}

         begin o:=t mod 10;

               t:=t div 10;

               i:=i-1;

         end;

      writeln('k-я цифр :',o)

end. 

            5. Дано число N<=99. Дописать в начало и в конец числа цифру k

program borlpasc;

var n,k:integer;

begin write('введите k=');

      readln(k);

      write('введите n=');

      readln(n);

      writeln('Получилось число:');

      write(k,n,k)

end. 

            6. Проверить, есть  ли в записи  числа N в степени  k цифра m

Program borlpasc;

var i,n,m,s,k,l,a:integer;

begin write('введите n=');

      readln(n);

      write('введите k=');

      readln(k);

      write('введите цифру m=');

      readln(m);

      i:=0;l:=0;s:=1;

      repeat s:=s*n;

             i:=i+1

      until i=k;

      repeat a:=s mod 10;

             if a=m then l:=l+1;

             s:=s div 10

      until s=0;

      if l=0 then writeln('В з писи числ  нет цифры',' ',m)

             else writeln('В з писи числ   цифр  ',m,' есть')

end. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

            7. Найти наименьшее нат. число, представимое двумя различными

способами  в виде суммы кубов  двух натуральных чисел

program borlpasc;

var i,k:integer;

    x,y:integer;

begin i:=1; k:=0;

repeat i:=i+1;

       for y:=1 to i-1 do

       for x:=1 to i do

       if x*x*x+y*y*y=i then k:=k+1

       until k>=2; writeln(x,y);

       writeln('н им н т число=',i)

end.

            8. Доказать, что любую целочисленную денежную сумму большую 7 рублей  можно выплатить без сдачи трешками и пятерками.

program borlpasc;

var n,n3,n5,k:integer;

begin write('Введите сумму(>7) n=');

      readln(n);

      k:=0;

      for n3:=0 to (n div 3) do

          for n5:=0 to (n div 5) do

              begin if n3*3+n5*5=n

                       then writeln(n3,' трешки и ',n5,' пятерок');

                    k:=k+1

              end;

      if k=0

         then writeln('Из трешек и пятерок эту сумму не сложить.')

end. 

             
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

9. Дано нат. K. напечатать  К-ю цифру последовательности 149162536...,

            в которой записаны  подряд квадраты  всех натуральных  чисел

program borlpasc;

var i,j,k,n,o:integer;

    a,t:longint;

begin write('Введите k=');readln(k);

      j:=0;a:=1;i:=0;

      repeat j:=j+1;a:=sqr(j);

             t:=a;

             while t>0 do{счит ем количество цифр  в числе

                          и доб вляем к общему количеству}

                   begin t:=t div 10;

                         i:=i+1;

                   end;

      until i>=k;

      t:=a;

      while i>=k do{возвр щ емся по цифр  м последнего числ 

                    до нужной}

         begin o:=t mod 10;

               t:=t div 10;

               i:=i-1;

         end;

      writeln('k-я цифр :',o)

end. 

            10. Есть ли в  записи числа 3 одинак цифры

   PROGRAM borlpasc;{Есть  ли в з писи числ  3 один  к цифры}

   VAR N:INTEGER;a,b,c,d:integer;

   BEGIN WRITE('ВВЕДИТЕ ЧИСЛО N=');

         READLN(N);

         a:=n div 1000;

         b:=n div 100 mod 10;

         c:=n div 10 mod 10;

         d:=n mod 10;

         IF (a=b) and (a=c) or (a=b) and (a=d) or (a=c) and (a=d) or

          (b=c) and (b=d)

           THEN WRITELN('В ЗАПИСИ ЧИСЛА ЕСТЬ 3 ОДИНАКОВЫЕ ЦИФРЫ')

           ELSE WRITELN('В ЗАПИСИ ЧИСЛА НЕТ  ТРЕХ ОДИНАКОВЫХ ЦИФР')

   END. 
 
 
 
 
 
 
 

            11. Дано натур число  n<=9999. Поменять порядок  следования цифр.

program borlpasc;

var s,x:integer;

begin write('введите  число=');

      readln(x);

      s:=0;

      repeat s:=s*10+x mod 10;

             x:=x div 10

      until x=0;

      writeln(s)

end. 

            12. Перевод из 10 в  двоичную ситему  счисления

PROGRAM borlpasc; {ПЕРЕВОД  ЧИСЛА ИЗ 10-ОЙ СИСТЕМЫ СЧИСЛЕНИЯ  В 2-УЮ}

TYPE massiv=array [1..50] of integer;

var a:massiv;

    n,i:integer;

begin write('введите  число:');

      readln(n);

      i:=1;

      while n>=2 do

      begin a[i]:= n mod 2;

            i:=i+1;

            n:= n div 2;

      end;

      i:=i-1;

      write(n);

     while i<>0 do

      begin write(' ',a[i]);

            i:=i-1;

      end;

      writeln

end. 
 
 
 
 
 
 
 
 
 
 
 
 

            13. Перевод из 10 в  двоичную ситему  счисления (II способ);

program two_system;

var sec:array[1..16] of byte;

    d,ten,i:integer;

    procedre  two( ten_1:integer;var two_s:byte);

      begin two_s:=ten_1 mod 2;

            ten_1:=ten_1 div 2;

      end;

begin

   write('введите н т.число: ');

   readln(ten);

   if ten<=0 then write('некорректные д нные')

             else

              d:=ten;

              a[i]:=0;

              fori:=16 downto 1 do two(ten,sec[i]);

              write('н тур льное число: ',d);

              write('в двоичной системе счисления  ');

              for i:=1 to 16 do write(' ',sec[i]);

end. 

            14. Найти все делители натурального числа N

program borlpasc;

const kol=100;

type cyfra=0..9;

     chislo=array[1..kol] of cyfra;

var i,r,d,s,k,code:integer;

    j,c0,c1,x,y,z,o,z1,n,lastd:chislo;

Информация о работе Основы программирования в паскале