Паскаль - Урок 21: Основные алгоритмы Паскаль (Часть 1)

Паскаль - Урок 21: Основные алгоритмы Паскаль (Часть 1)



При программировании на любом языке необходимо знать основные алгоритмы. Они являются как бы «азбукой» для программиста. Сегодня я хочу рассказать про основные алгоритмы в таком языке программирования, как Паскаль.

1. Первый алгоритм, про который я расскажу — это факториал натурального числа Pascal. Факториалом числа (!n) является произведение натуральных чисел от 1 до этого числа включительно. Например, 5!=1*2*3*4*5.

Наша задача — написать программу Pascal, которая находит факториал числа.

Сначала переменной f (сокр. Factorial) присваиваем значение, равное единице, т.к 0! = 1, 1!=1.
Далее идет цикл с параметром от 2 до заданного числа, в котором переменная f умножается на следующее значение после единицы с увеличением на 1 после каждого круга.

Программа нахождения факториала на языке Паскаль:

var
    f: longint;
    n, i: integer;
Begin
    write('n = '); readln(n);
    f := 1;
    For i:=2 to n do
        f := f * i;
    writeln(n,'! = ', f);
End.



Скачать: factorial.pas


2. Второй алгоритм, который необходимо знать — нахождение НОК двух чисел. НОК — наименьшее общее кратное, то есть минимальное число, которое одновременно делится на оба числа.

В паскаль это реализуется достаточно просто:

var a,b,c:integer; //Описание переменных
begin //Начало программы
	readln(a,b); //Считывание а и б
	c:=a*b; //Перемножение
	repeat //Цикл с постусловием
		if a>b then a:=a-b else b:=b-a;   
	until a=b; //Цикл до тех пор, пока а не равно б
	c:= c div a; //Делим c на a нацело и получаем нок
	writeln('НОК=', c); //Выводим значение
end.//Конец программы



Скачать: nok.pas

3. Также нужно знать и про НОД двух чисел. НОД — наименьший общий делитель, т. е. Минимальное число, которое нацело делит два и более чисел.

Код нахождения НОД в паскаль:

var a,b,c: integer; //Описание переменных
begin //Начало программы
  writeln('Введите a,b: '); //Диалог с пользователем
  read(a,b);  //Чистывание чисел
  while b<>0 do //Вход в цикл while, пока b не равно 0
  begin
    c := a mod b; //Присваивание с остатка деления a/b
    a := b; 
    b := c;
  end;
  writeln('НОД = ',a); //Вывод делителя
end.//Конец программы 



Скачать: nod.pas
На сегодня все, во второй части расскажу про возведение числа в степень, а также про нахождение минимального и максимального в массиве.

Дата: 2013-10-04 13:18:03   Просмотров: 46518

Теги: Паскаль урок уроки Pascal основные алгоритмы