Файл: Основы программирования на языке Pascal.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 321

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

public static void main (String args[]) {

// …

}

, как бы по выделяя начало и конец какого-либо процесса:

begin

t := a;

a := b;

b := t

end;

Существуют некоторые зарезервированные слова, которые выполняют какую-нибудь функцию, такие как program, const, var, begin, end. Создание переменные, функций, программ идентичных с этими словами или расширение эти слова, как например const – constant, приведет к ошибке. Использовать в программном коде можно прописные и строчные буквы, только между ними существует разница. А так же каждая переменная или функция не может начинаться с цифры или знаков:

var 1a: integer;

begin

1a := 34;

writeln(1a);

end.

// Ошибка! Встречено ‘1’, а ожидался идентификатор.

Небольшой вывод по пройденной главе.

В этой главе я рассказал, что такое вообще язык программирования, немного рассказал историю нашего языка, который я привожу в этой курсовой и его структуру, описал установку среды разработки и работу с ней. Можно сказать, что после этой главы уже все подготовлено для того, чтобы начать программировать, творить, создавать. Далее будут рассмотрены основные команды с работой в языке Pascal.

2. Данные и их типы, операции, циклы, конструкторы, операторы

2.1 Операторы

Оператор подразумевает определенное действие. После каждого выражения с оператором, необходимо поставить точку с запятой, которая будет давать компилятору понять, что действие закончено. Если перед выражениями с оператором стоит end, until, else, то точку с запятой ставить не обязательно.

Пример использования оператора присваивания:

var a: integer;

begin

a := 34;

end.

Здесь а – переменная типа integer, := - оператор присваивания, 34 – выражение, которое было присвоено переменной а.

Возможно, что выражение будет содержать множество других операторов, констант, функций, которые возвращают какие-либо результаты, знаки операции и скобки:

f := 3 * C + 2 * sin(x);

Существует определенная последовательность выполнения операторов. Действия выполняются слева на права с соблюдением последовательности, действия в скобках выполняются первыми:


  1. not;
  2. *, /, div, mod, and;
  3. +, -, or;
  4. =, <, >, <>, <=, >=, in.

Самое главное, нужно отметит, что если мы будем присваивать число с типом данных real, в переменную с типом данных integer, то получим ошибку. Мы должны уже заранее знать, когда будем описывать переменную, какой тип данных она будет иметь, в момент присваивания в нее выражения, которое будет иметь идентичный тип данных.

Пример:

var a: integer;

b: integer;

begin

b := 3;

a := b/2;

writeln(a);

end.

//Ошибка! Нельзя преобразовать тип real к integer.

Составной оператор.

Составной оператор выполняет роль скобок. Необходимость выполнения составляющих операторов в том порядке, в которых они расположены. Вид:

begin

b := 3;

end;

Отличие от тела программы только в том, что вместо точки стоит точка с запятой.

Пример составного оператора:

var a: integer;

begin

begin

a := 34;

writeln(a);

writeln(1<2);

end;

end.

// Результат выполнения программы – 34

True

2.2 Ввод-вывод

Компьютер нужен для обработки информации. Мы даем ему информацию, он обрабатывает ее, проводит с ней различные операции и уже выводит нужный нам результат. Для этого во всех языках программирования существуют инструменты для вывода и ввода данных в программу.

Из чего производиться ввод и вывод данных? Ну к примеру ввод может производиться с помощью клавиатуры или с файла, а вывод на монитор или тот же файл.

Команды write(), writeln() на Паскаль производят вывод данных в консоль. Отличие команды write() от writeln() только в концовке ln, что означает, что после выполнение этой команды будет произведен переход на новую строку.

Пример вывода данных в консоль:

var a: integer;

begin

a := 34;

writeln(a);

writeln(1<2);

write('Hi!');

writeln(1234)

end.

// Результат выполнения программы - 34

True

Hi!1234

Как можем заметить, числа 1234 вывелись в том же ряду, что и «Hi!», так как, когда мы использовали команду write('Hi!');, отсутствовало окончание ln, которое бы нас перебросило на другую строчку.

Команды read() и readln() на Паскаль производят ввод данных в программу через консоль. Отличие между этими двумя командами такое же как и в командах вывода данных.

Пример ввода данных в консоль:

var name:string;

begin

write('Здравствуйте! Задайте свое имя: ');

readln(name);


writeln('Добрый день, ' + name + '!');

end.

// Результат выполнения программы - Здравствуйте! Задайте свое имя: Рубен

Добрый день, Рубен!

Как видим из примера, данный были введены в программу, и вывелся другой результат, в нашем случае новая строка.

2.3 Переменные, константы

Каждая программа подразумевает работу с данными, которые хранятся в памяти компьютера. Для того, чтобы дать компьютеру понять где находятся данные используют переменные.

Перед тем, чтобы работать с данными, их нужно описать (указать компьютеру, сколько необходимо выделить памяти и какого типа данные будут использоваться) перед использованием.

Во время работы программы, в ячейке памяти будут сохраняться или изменяться данные и именно с помощью переменных мы сможем к ним для этого обращаться.

Имена переменных могут содержать почти любые сочетания английских букв и цифр, кроме тех сочетаний, которые в программе означают какие-нибудь команды языка.

При описании переменных важную роль играет не только имя самих переменных, но и тип данных. Когда мы описываем переменные, мы присваиваем им типа данных, который сообщает компьютеру, что в них будет храниться и сколько памяти необходимо под них выделить. Храниться в них всегда будут данные в двоичной системе счисления, но означать они могут что угодно (число, символ, строка, массив и т.д.).

В примере ниже, я создаю переменную, которая имеет имя а и тип данных integer. Изначально она будет содержать значение 5, но походу выполнения программы, мы присвоим в нее другое значение, с помощью ввода. В нее мы сможем вложить любое значение в диапазоне от -32768 и до 32767, но если мы попытаемся вложить в нее, например, символ, то получим ошибку:

var

a: integer;

begin

a:=5;

write(a);

readln(a);

write(a);

end.

Пример работы программы:

5

8 – ввод

8

Что касается констант, это примерно то же самое что и обычная переменная, но предназначена немного для другого. Например, мы хотим использовать какое-то значение постоянно и в принципе мы можем использовать обычную переменную и просто ее не менять по ходу работы программы, но программист может случайно ее изменить и для этого придумали константы.

Ниже приставлен код с использованием константы Pi, которая имеет значение 3,14. Не забываем, что константы описываются выше обычных переменных:


const

конст1: тип=значение;

конст2: тип=значение;

const

Pi: real=3.14;

var

a: integer;

begin

a:=5;

write(a*Pi);

end.

2.4 Типы данных.

Большинство программ нужны для того, чтобы обрабатывать данные. В качестве данных могут выступать числа, символы, строки, массивы, тексты, звуки и т.д.

Чтобы использовать данные в программе, нужно создать переменную, благодаря которой мы сможем обращаться к памяти, чтобы получить эти данные и указать этой переменной, какой тип данных будет за ней.

В языке программирования Pascal имеются следующие основные типы данных:

Тип integer – переменные этого типа могут содержать только целые числа в диапазоне от -32768 до 32767 (подобные типы byte, longint).

Тип real - переменные этого типа могут содержать вещественные числа.

Тип boolean - переменные этого типа содержат только два значения: true(правда) и false(лож).

Тип char - переменные этого типа содержат символы.

Массив – это структура, которая содержит определенное количество компонентов одного типа.

Строки - представляют собой последовательность символов, размер которой не превышает 255 включительно.

2.5 Логические выражения и операции.

В программировании для разных ситуаций были придуманы логические выражения, зачастую их используют для определения пути выполнения программы.

Выполнение логических выражений является результат (true или false) сравнения двух операндов. В примерах мы будем использовать 2 операнда y и x. Операндами могут числа, символы и другие типы данных.

В Pascal используются следующие операторы сравнения:

  • меньше: x < y
  • больше: x > y
  • равно: x = y
  • не равно: x <> y
  • меньше или равно: x <= y
  • больше или равно: x >= y

Пример работы с логическими выражениями:

var

x, y: integer;

b1, b2, b3, b4, b5, b6: boolean;

begin

write('Введите 2 числа для сравнения: ');

readln(x, y);

b1 := x < y;

b2 := x > y;

b3 := x = y;

b4 := x <> y;

b5 := x <= y;

b6 := x >= y;

writeln('х меньше y: ', b1);

writeln('x больше y: ', b2);

writeln('x равно y: ', b3);

writeln('x не равно y: ', b4);

writeln('x меньше или равно y: ', b5);

writeln('x болье или равно y: ', b6);

end.

Результат выполнения программы:

Введите 2 числа для сравнения: 4 5


х меньше y: True

x больше y: False

x равно y: False

x не равно y: True

x меньше или равно y: True

x болье или равно y: False

Логические операции:

And – конъюнкция. Выдает значение true только когда оба значения являются правдивыми, в остальных случаях – лож:

true and true = true

true and false = false

false and true = false

false and false = false

Or – дизъюнкция. Выдает значение true, если хотя бы одно значение правда:

true or true = true

true or false = true

false or true = true

false or false = false

Отрицание – меняет true на false и false на true:

not true = false

not false = true

Важным моментом использования логических операторов и операторов значения. Вначале выполняются (and, or, xor, not) а потом (>, >=, <, <=, <>, =), так что не нужно забывать заранее расставлять скобки.

Стандартные boolean функции:

  • odd(x) = true, если x нечетный (x целый тип);
  • eoln(x) = true, если встретился конец строки текстового файла x;
  • eof(x) = true, если встретился конец файла x.

2.6 Операции с битами.

В языке Pascal над целочисленными типами, как byte, shortint, word, integer, longint допустимы побитовые операции.

Логические операции над битами:

Над битами операндов можно выполнять следующие логические операции and, or, not, xor. Отличие над работой с битами заключается в том, что побитовые операции выполняются над каждым битом операндов, а не над их значениями в десятичном представлении.

Пример:

Имеем число 5 и 3 (в двоичной системе число 5 расписывается, как 00000101, а число три, как 00000011), операция not над этим числом выдаст значение 11111010 (все нули заменились на единицы, а единицы на нули), что в десятичном представлении равно 250, операция or над числами 5(00000101) и 3(00000011) выдаст 7(00000111).

Операции циклического сдвига:

Существуют еще две побитовые операции над данными целого типа, это операции shl и shr. Операция shl двигает каждый бит влево на указанное количество битов, а новые добавленные биты справа заполняются нулями. Операция shr двигает каждый бит вправо на указанное количество битов, и заполняет новые добавленные биты слева единицами при сдвиге вправо отрицательных значений и нулями в случае положительных значений.