1. О языке программирования Паскаль
Язык Паскаль — это универсальный язык программирования, созданный Никлаусом Виртом (Швейцария) в 1968–1969 годах. Он используется для записи алгоритмов решения различных задач, таких как вычисления, обработка текстов и построение графических изображений. Паскаль способствует развитию логического и алгоритмического мышления, что делает его популярным в образовательных учреждениях.
Pascal — язык программирования, который помогает писать «структурированные» программы в таком виде, в котором структура программы должна непосредственно отражать структуру задачи. Эта особенность языка Pascal позволила языку завоевать прочное место среди языков программирования. Сейчас Pascal широко используется инженерами и научными работниками, является официальным языком международных олимпиад по информатике. В настоящее время существует достаточно много версий данного языка.
2. Загрузка и установка PascalABC.NET.
PascalABC.NET — язык программирования нового поколения. Создан в 2007 году для обучения современному программированию и используется в образовательной и научной сферах. Основан на языках C# и Delphi и заимствует от языка Python компактность записи программ, сохраняя при этом все преимущества языка компиляционного типа (ранний контроль ошибок, высокая скорость выполнения программ).
PascalABC.NET распространяется бесплатно и содержит простую и мощную среду разработки с подсказками по коду, автоформатированием и образцами кода для начинающих.
PascalABC.NET (версия 3.10.3, сборка 3609 от 12.02.2025) для Windows, Linux можно скачать на сайте https://pascalabc.net/ssyilki-dlya-skachivaniya. Запускаем установщик Pascal, выбираем обычный тип установки и нажимаем “Далее”.
3. Окно программирования PascalABC.NET
Рис. 1. Окно программирования содержит две рабочие области: область для написания программы и область для вывода её результатов
4. Структура программы на языке Паскаль
Программа на Паскаль состоит из 3-х частей:
- Заголовок программы начинается со служебного слова program и имени программы. Имя программы может содержать только английские буквы, цифры и подчеркнутый пробел; с цифры имя программы начинаться не может. Например, program z_1.
- Блок описания входных данных может содержать имена постоянных значений и сами значения, например, const pi = 3.14; и имена переменных с указанием их типа, например, var a, b, c, D: integer; x, x1, x2: real;.
- Программный блок записывается между служебными словами begin и end .
5. Примеры простейших программ на Паскаль
1) program MAX_3; //Выбор большего из трёх
var a, b, c, MAX: integer;
begin
writeln ('Введи три числа: ');
readln (a, b, c);
MAX := a;
if MAX < b then MAX := b;
if MAX < c then MAX := c;
write ('Большее из трёх: ', MAX)
end .
Важно! Все строки на Паскаль «закрываются» точкой с запятой (;), и даже заголовок программы, кроме последней в программном блоке. Операторы read (считать) и readln, как и write (вывести) и writeln, отличаются лишь, у последних, переводом курсора на новую строку.
2) program KW_UR; //Решение квадратного уравнения
var a, b, c, D: integer;
x, x1, x2: real;
begin
writeln ('Введи коэффициенты квадратного уравнения: a, b и c');
readln (a, b, c);
D := b*b - 4*a*c;
if D < 0 then writeln ('Нет решений.');
if D = 0 then
begin
writeln ('Одно решение:');
x := -b/(2*a);
writeln ('x = ', x)
end ;
if D > 0 then
begin
writeln ('Два решения:');
x1 := (-b - sqrt(D))/(2*a);
x2 := (-b + sqrt(D))/(2*a);
writeln ('x1 = ', x1);
writeln ('x2 = ', x2)
end
end .
Важно! Если ветвление или цикл содержит «серию команд», то этот блок команд записывается также между служебными словами begin и end , как самостоятельный программный блок.
3) program Tabl_Umn; //Таблица умножения
var i, j: integer;
begin
for i :=1 to 9 do
begin
for j :=1 to 9 do
begin
write (#7); //Вывод невидимого символа для табуляции
if i*j < 10 then write (j, ' x ', i, ' = ', i*j, ' ');
if i*j > 9 then write (j, ' x ', i, ' = ', i*j, ' ');
end ;
writeln;
end
end .
Рис. 2. Результат работы программы по составлению таблицы умножения
4) program Podschet_Bukwy; //Подсчёт буквы в тексте
var s: string; i, k: integer;
begin
writeln ('Введи русскоязычный текст:');
read (s); //Считывание текста, вводимого с клавиатуры
k := 0; //Счётчик для подсчёта
for i := 1 to length(s) do //length(s) - длина текста
if s[i] = 'а' then //Проверяем наличие буквы <а>
k := k + 1;
write ('В тексте буква <а> встречается ', k, ' раз(а).')
end .
6. Массивы в программировании на Паскаль
Массивы в Паскаль представляют собой набор элементов одного типа, каждый из которых имеет свой номер, индекс. Массивы могут быть одномерными и многомерными. Основные операции с массивами включают суммирование элементов, поиск минимума и максимума и сортировку массивов. В Паскале массивы объявляются с указанием типа данных и размера.
Основы обработки массивов данных в Паскале изучаются в курсе информатики 9 класса.
Одномерный массив — однострочная таблица с элементами M [i]; двумерный массив — многострочная таблица с элементами M [i, j]; трехмерный массив имеет вид кубика Рубика с элементами M [i, j, k].
5) program Obr_M1; //Обработка одномерного массива
const N = 20;
var i, n0, S, P, MIN, MAX, j, imin, imax, X: integer;
M1: array [1..N] of integer;
begin
// 1. Заполнение массива случайными числами из промежутка [-50; 50)
for i := 1 to N do M1[i] := random(100) - 50;
// 2. Вывод элементов массива
for i := 1 to N do write (#7, M1[i]);
writeln;
// 3. Избранная обработка массива и вывод результатов
n0 := 0;
for i := 1 to N do if M1[i] = 0 then n0 := n0 + 1;
writeln (#7, 'В массиве ', n0, ' нулевой(ых) элемент(ов)');
S := 0;
for i := 1 to N do if M1[i] < 0 then S := S + M1[i];
writeln (#7, 'Сумма отрицательных элементов массива = ', S);
P := 1;
for i := 1 to N do if M1[i] > 0 then P := P * M1[i];
writeln (#7, 'Произведение положительных элементов массива = ', P);
// 4. Поиск наименьшего и наибольшего элемнгтов массива
MIN := M1[1];
for i := 2 to N do if M1[i] < MIN then MIN := M1[i];
writeln (#7, 'Наименьший элемент массива = ', MIN);
MAX := M1[1];
for i := 2 to N do if M1[i] > MAX then MAX := M1[i];
writeln (#7, 'Наибольший элемент массива = ', MAX);
// 5. Упорядочение элементов массива
// 5.1 В порядке возрастания
for i := 1 to N do
begin
imin := i;
for j := i + 1 to N do
if M1[j] < M1[imin] then imin := j;
X := M1[i];
M1[i] := M1[imin];
M1[imin] := X;
end ;
writeln (#7, 'Элементы массива в порядке возрастания:');
for i := 1 to N do write (#7, M1[i]);
writeln;
// 5.2 В порядке убывания
for i := 1 to N do
begin
imax := i;
for j := i + 1 to N do
if M1[j] > M1[imax] then imax := j;
X := M1[i];
M1[i] := M1[imax];
M1[imax] := X;
end ;
writeln (#7, 'Элементы массива в порядке убывания:');
for i := 1 to N do write (#7, M1[i]);
end .
Рис. 3. Результат работы программы по обработке одномерного массива с целыми числами
7. Заключение
Легче научиться программированию на Pascal, просматривая готовые программы. При составлении программы по аналогии и, тем более, написании программы «от руки», быстрее происходит знакомство с возможностями системы программирования PascalABC.NET.
Добавив графический режим с помощью модуля GraphABC на Паскале, учащиеся получат возможность развития своих творческих способностей.
Литература:
- Программирование на языке Pascal. https://pascalabc.net/ssyilki-dlya-skachivaniya
- Массивы в Pascal. https://obrazovaka.ru/informatika/massivy-paskal-obyavlenie-9-klass
- Обработка одномерных массивов на языке Pascal. https://bosova.ru/metodist/authors/informatika/3/files/eor9bufrp/9–1-4.pdf