Линейный алгоритм
Линейным называется алгоритм, в котором команды выполняются последовательно друг за другом. Это самая простая конструкция. Программирование линейных алгоритмов освоить очень легко. Для написания простых программ на паскале разберем основные правила записи кода, основные команды и операторы Паскаль.
Структура программы на языке Паскаль
Прежде чем самостоятельно писать программы, разберем ее структуру на примере. Ниже приведен код программы, которая вычисляет сумму двух чисел и выводит ее на экран.
program primer1; var х,у,z:integer; { описание переменных } begin { начало программы } х := 3; { установка значения х } у := 5; { установка значения у } z := х + у; { вычисление суммы } write(z); {вывод результата вычисления на экран } end. { конец программы }
Заголовок программы
Текст программы начинается со слова program. После него записывается имя программы. Данная строка носит информативный характер и ее можно не писать.
Раздел подключения модулей начинается со служебного слова uses, за которым следует список имен модулей, перечисляемых через запятую.
Раздел описаний может включать разделы описания переменных, констант, меток, типов, процедур и функций, которые следуют друг за другом в произвольном порядке. Раздел подключения модулей и раздел описаний меток, констант и др. могут отсутствовать.
Раздел описания переменных
Раздел программы, обозначенный служебным словом var, содержит описание переменных с указанием их типов. Они используются для хранения исходных данных, результатов вычисления и промежуточных результатов.
Комментарии в программе можно записывать внутри фигурных скобок. Они игнорируются во время выполнения программы. Эти пояснения вы пишите только для себя.
В нашем примере переменные с именами X и Y используются для хранения исходных данных. Переменная с именем Z используется для хранения результата вычислений.
Имя переменной может записываться большими или маленькими латинскими буквами. Имя может содержать цифры, знак подчеркивания и не должно начинаться с цифры. Прописные и строчные символы считаются одинаковыми. В качестве имени нельзя использовать служебное слово языка Pascal.
Переменные одного типа можно указать в одной строке через запятую. После ставится двоеточие и указывается тип, к которому принадлежат переменные. Тип определяет допустимый диапазон значений.
Принадлежность переменной к типу integer означает, что она может хранить только целые числа. Если требуется хранить действительные (дробные) числа, тогда используется тип real.
Тело программы
Все что находится между служебными словами Begin и end — тело программы. Здесь записываются основные команды.
Оператор присваивания значений переменным имеет следующую структуру: переменная := выражение
Значок : = (двоеточие, равно) читается как «присвоить».
Умножение обозначается символом * (звездочка), деление — символом / (слеш).
Вывод результата выполняет команда write или print.
Каждая строка содержащая команду на языке Паскаль обязательно заканчивается символом «точка с запятой«.
Команды в Паскаль для ввода и вывода данных
Команда Read
В первом примере мы присвоили значения переменным непосредственно в тексте программы. Но так как программа пишется для решения множества однотипных задач, то удобнее задавать значения переменным во время ее работы. Для этого применяется команда read, которая позволяет ввести текстовые или числовые данные с клавиатуры.
Модифицируем код программы из примера выше.
program primer1; var х,у,z:integer; { описание переменных } begin { начало программы } read(x,y); { ввод значений х и y с клавиатуры } z := х + у; { вычисление суммы } write(z); {вывод результата вычисления на экран } end. { конец программы }
Теперь ввод значений переменных Х и У будет осуществляться по запросу работающей программы. В этот момент нужно будет с клавиатуры ввести два числа через пробел и нажать клавишу Enter, чтобы продолжить выполнение программы.
При работающей программе в системе программирования PascalABC появится строка ввода данных. Там и пишутся значения переменных.
Команда Write
В предыдущем примере, при работе программы, не совсем понятно, что нужно вводить и что за числа появляются на экране по завершению работы программы. Поэтому изменим код программы, чтобы у нее появился минимальный пользовательский интерфейс. Для этого задействуем уже знакомую нам команду Write.
program primer1; var х,у,z:integer; { описание переменных } begin { начало программы } writeln('Вычисление суммы двух чисел'); write('Введите два целых числа через пробел'); readln(x,y); { ввод значений х и y с клавиатуры } z := х + у; { вычисление суммы } write('Сумма = ',z); {вывод результата вычисления на экран } end. { конец программы }
Теперь посмотрите, как добавленные строки повлияли на работу программы.
У нас появились подсказки. Посмотрите на команду write. В качестве ее аргумента был использован текст, заключенный в апострофы. И еще, появилось окончание ln у оператора write. Именно оно заставляет последующий вывод информации делать с новой строки. Это же окончание можно использовать совместно с оператором read.
Readln и Writeln в паскале — это модифицированные команды Read и Write. В командах добавлено окончание ln (line new — новая строка). Такая форма операторов делает последующий вывод информации, при работе программы, с новой строки.
Также поменялся вывод результата. Здесь тоже появилась подсказка.
Примеры программ на паскале — задания на линейные алгоритмы
Задание 1. Модифицировать программу так, чтобы она вычисляла и выводила на экран сумму и произведение трех целых чисел.
Решение:
program zadanie1; var х,у,k,z,p:integer; { описание переменных } begin { начало программы } writeln('Вычисление суммы и произведения трех чисел'); write('Введите три целых числа через пробел'); readln(x,y,k); { ввод значений х,y,k с клавиатуры } z := x + y + k; { вычисление суммы } p := x * y * k; { вычисление произведения } write('Сумма = ',z); {вывод результата сложения на экран } write('Произведение = ',p); {вывод результата произведения на экран } end. { конец программы }
Задание 2. Дана длина ребра куба а. Найти объем куба V=a3 и площадь его поверхности S=6a2.
Решение:
program zadanie2; var a,v,s:real; { описание переменных } begin { начало программы } writeln('Вычисление объема и площади поверхности куба'); write('Введите длину ребра куба'); readln(a); { ввод значения a с клавиатуры } v := a * a * a; { вычисление объема } s := 6 * a * a; { вычисление площади } write('Объем куба = ',v); {вывод результата объем куба } write('Площадь поверхности = ',s); {вывод результата площадь поверхности } end. { конец программы }
Посмотрите еще примеры линейных алгоритмов.
Дополнительные задания:
Lin1 Введите значения для двух переменных. Обменяйте их значения, используя третью (буферную) переменную.
Хотите подробнее узнать о системе PascalABC и начать писать в ней свои первые программы, тогда статья «Знакомство с PascalABC» для вас.
Следующая тема для изучения Условный оператор
Тест "Линейный алгоритм"
Проверь свои знания по теме «Линейный алгоритм»