середа, 26 листопада 2014 р.

Бібліотека програм мовою Pascal

СТАНДАРТНІ АЛГОРИТМИ НА МОВІ PASCAL
Задача1. Скласти програму  на мові  Pascal  підрахунку   кількості різних букв у слові.

var s:string;
    r:real;
    i,j,n:integer;
begin      r:=0;
    readln(s);
    for i:=1 to length(s) do begin
       n:=0;
       for j:=1 to length(s) do begin
          if s[i]=s[j] then inc(n);          end;
       r:=r+1/n;       end;
    writeln('количество различных букв = ', r:1:0);   
end.

Задача 2. Перестановка  останньої букви у слові на перше місце (циклічний рух вправо).
var s:string;
    i,j,n:integer;
begin
    readln(s);
    s:=s[length(s)] + copy(s,1,length(s)-1);
    writeln(s);
end.
Результат:  введення:  wertyu    виведення:   uwerty
Задача 3. Перевірка рядка на   "паліндромність".
Наприклад , "шалаш", "красарк"  -  це рядки паліндроми.

var s1,s2:string;
    i:integer;
begin
    readln(s1); s2:='';
    for i:=length(s1) downto 1 do begin
       s2:=s2+s1[i];      end;
    if s1=s2 then writeln(s1, ' -  паліндромне слово')
             else  writeln(s1, ' -  непалідромне слово);
end.



СТАНДАРТНІ АЛГОРИТМИ НА МОВІ PASCAL
Задача 4. Знайти і вивести всі  дільники  натурального числа A
var a,n,c,d:word;
begin { основная программа }
    readln( a );
    n:=1;
    while ( n <= sqrt(a) ) do begin
       c:=a mod n;
       d:=a div n;
       if c = 0 then begin
          writeln( n );
          if n <> d then writeln( d );
       end;
       inc( n );
    end;  end.

Задача 5.  Знайти і вивести усі досконалі числа  до 10000

const LIMIT = 10000;
var n,i,j,s,lim,c,d : word;
begin
  for i:=1 to LIMIT do begin
     s:=1; lim:=round(sqrt(i));
     for j:=2 to lim do begin
       c:=i mod j;          d:=i div j;
       if c = 0 then begin
          inc(s,j);
          if (j<>d) then inc(s,d); {двічі не додавати корінь числа}
       end;       end;
     if s=i then writeln(i);     end; 
end.

Задача 6. Знайти і вивести всі прості числа  до 500

const LIMIT = 500;
var i,j,lim : word;
begin
  writeln;
  for i:=1 to LIMIT do begin
      j:=2; lim:=round(sqrt(i));
      while (i mod j <> 0) and (j <= lim) do inc( j );
      if (j > lim) then write( i,' ' );   end;  
end.

СТАНДАРТНІ АЛГОРИТМИ НА МОВІ PASCAL
Задача 7. Знайти і вивести суму цифр  числа  до 10000
var a,x:integer;
    i,s:integer;
begin
     writeln('Введіть ціле  число');
     readln( a ); x:=a;
     s:=0;
     while ( x < > 0 ) do begin
       s := s + (x mod 10);
       x := x div 10;
     end;
     writeln( 'Сумма цифр числа ',a,' = ', s );
end.

Задача 8. Знайти і вивести суму чисел лінійного масиву

var a:array[1..10] of integer;
    s:longint;
    i:integer;
begin
     writeln('введіть 10 чисел масиву');
     s:=0;
     for i:=1 to 10 do begin
        readln( a[i] );
        s:=s+a[i];
     end;
     writeln( 'Сума елементів масиву = ', s );
end.






  • Подсчет различных букв в слове
  • Перестановка букв в слове (циклический сдвиг вправо)
  • Проверка строки на "палиндромность"
  • Печать всех делителей натурального числа A
  • Печать всех совершенных чисел до 10000
  • Печать всех простых чисел до 500
  • Подсчет суммы цифр числа
  • Подсчет суммы элементов одномерного массива
  • Подсчет суммы элементов двухмерного массива
  • Поиск максимального элемента в массиве
  • Поиск минимального элемента в массиве
  • Поиск среднего арифметического в массиве
  • Печать всех элементов массива из интервала C..D
  • Циклический сдвиг элементов массива вправо
  • Печать самого часто встречающегося элемента из массива
  • Все ли элементы массива различны?
  • Сортировка массива "пузырьком"
  • Решение уравнения: A*x^2 + B*x + C = 0
  • Вычисление длины отрезка |AB|
  • Какая точка (A или B) ближе к началу координат
  • Вычисление площади треугольника по 3 вершинам
  • Попадает ли точка M(x,y) в круг с центром O(Xc,Yc) и радиусом R
  • Перевода десятичного числа в двоичное
  • Перевода двоичного числа в десятичное
  • Перевода десятичного числа в шестнадцатеричное
  • Перевода шестнадцатеричного числа в десятичное
  • Рекурсивные алгоритмы: нахождения НОД и НОК двух чисел
  • Рекурсивные алгоритмы: вычисление факториала
  • Рекурсивные алгоритмы: генерация перестановок
  • Рекурсивные алгоритмы: быстрая сортировка
  • Решение системы 2-х уравнений с двумя неизвестными
  • Решение системы 3-х уравнений с тремя неизвестными
  • Определение пересечения двух отрезков
  • Определение положения точки относительно сектора
  • Положение точки относительно вектора
  • Положение точки относительно треугольника (вариант 1)
  • Положение точки относительно треугольника (вариант 2)
  • Моделирование сложения двоичных чисел
  • Моделирование вычитания двоичных чисел
  • Возведение целого числа в натуральную степень (вариант 1)
  • Возведение целого числа в натуральную степень (вариант 2)
  • Умножение длинных натуральных десятичных чисел
  • Кодировка: пример простой кодировки (сдвиг по ключу)
  • Обработка текста: подсчет количества слов в тексте
  • Обработка текста: выделение слов из текста
  • Обработка текста: выделение чисел из текста
  • Обработка текста: разрешение ввода только цифр
  • Обработка текста: перевод в маленькие буквы (нижний регистр)
  • Обработка текста: перевод в заглавные буквы (верхний регистр)
  • Обработка текста: удаление из текста комметариев типа {...}
  • Бэк-трекинг: Города
  • Бэк-трекинг: Проход по лабиринту
  • Бэк-трекинг: Домино
  • Бэк-трекинг: Последовательность
  • Бэк-трекинг: Магический квадрат


  • http://acmp.ru/article.asp?id_text=195




    Немає коментарів:

    Дописати коментар