Pascal#

Таблица доступных дистрибутивов Free Pascal из репозиториев Astra Linux#

Astra Linux

Pascal

1.8

Free Pascal 3.2.2

Предварительные шаги#

Перед тем как устанавливать любые пакеты проверим подключение репозиториев Astra Linux командой в консоли:

cat /etc/apt/sources.list

Для Astra Linux 1.8 список возможных репозиториев будет таким:

# Основной репозиторий
deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/main-repository/     1.8_x86-64 main contrib non-free non-free-firmware

# Расширенный репозиторий, включающий так же репозиторий для разработчиков
deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/extended-repository/ 1.8_x86-64 main contrib non-free non-free-firmware

Подробнее о репозиториях можно прочесть в Репозитории и Организация репозиториев

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

sudo apt update

Установка#

Для установки Free Pascal необходимо выполнить следующую команду в консоли:

sudo apt install fpc

Для установки IDE Lazarus (автоматически установятся пакеты с Free Pascal) необходимо выполнить следующие команды в консоли:

sudo apt install lazarus

Проверить версии установленных компиляторов можно следующей командой в консоли:

fpc -v

Пример консольного приложения на Pascal#

Создадим файл с расширением .pas и напишем следующие строки:

program LinuxConsoleApp;

{$mode objfpc}{$H+}

uses
SysUtils;  // Для работы с StrToInt, IntToStr и другими функциями

// Функция проверки, является ли число простым
function IsPrime(n: Integer): Boolean;
var
i: Integer;
begin
if n <= 1 then
    Exit(False);

for i := 2 to Trunc(Sqrt(n)) do
    if n mod i = 0 then
    Exit(False);

Result := True;
end;

// Процедура демонстрации работы с массивами
procedure ArrayDemo;
var
numbers: array of Integer;
i, sum: Integer;
begin
SetLength(numbers, 5);
Writeln('Введите 5 чисел:');

sum := 0;
for i := 0 to High(numbers) do
begin
    Write('Число ', i+1, ': ');
    Readln(numbers[i]);
    sum := sum + numbers[i];
end;

Writeln('Среднее значение: ', (sum / Length(numbers)):0:2);
end;

// Основная программа
var
name: String;
age, i: Integer;
choice: Char;
begin
Writeln('Добро пожаловать в пример консольного приложения Free Pascal для Linux!');
Writeln('-----------------------------------------------------------');

// Ввод данных
Write('Пожалуйста, введите ваше имя: ');
Readln(name);

Write('Введите ваш возраст: ');
Readln(age);

// Вывод и условный оператор
Writeln;
Writeln('Привет, ', name, '!');

if age >= 18 then
    Writeln('Вы уже взрослый!')
else
    Writeln('Вы еще молоды!');

// Меню
repeat
    Writeln;
    Writeln('Меню:');
    Writeln('1 - Проверить простые числа до 100');
    Writeln('2 - Демонстрация работы с массивами');
    Writeln('3 - Выход');
    Write('Ваш выбор: ');
    Readln(choice);

    case choice of
    '1':
        begin
        Writeln('Простые числа до 100:');
        for i := 2 to 100 do
            if IsPrime(i) then
            Write(i, ' ');
        Writeln;
        end;
    '2': ArrayDemo;
    '3': Writeln('До свидания!');
    else Writeln('Неверный выбор!');
    end;
until choice = '3';
end.

Скомпилируем командой в консоли:

fpc <имя_файла>.pas

В том же каталоге появится файл <имя_файла> - это файл с исполнимым кодом, сразу становится исполняемым.

chmod +x <имя_файла>

Чтобы запустить запустим получившееся приложение:

./<имя_файла>

Разработка на Pascal#

Важно

Документация дорабатывается по мере развития продуктов Группы Астра и по пожеланиям пользователей.

Ваши пожелания и замечания направляйте на почту docs@astralinux.ru