Программирование на языке Паскаль: алфавит, решение задач, простейшие программы, разветвляющие программы, циклические программы, ввод-вывод, массивы, подпрограммы, строковые данные, записи, файлы, использование библиотеки CRT, графика в Паскале.
Аннотация к работе
Как работать с книгой Внимательно прочитайте соответствующий раздел теории (одну главу), разберите все примеры, чтобы вам все было понятно, при этом, если у вас есть компьютер, наберите программы и запустите их на выполнение. Для того чтобы изучить действие того или иного оператора в программе или фрагмента программы, можно удалить фрагмент, заключив его в комментарные скобки { фрагмент .... }. можно, наоборот, добавить в программу операторы writeln, readln для того, чтобы посмотреть промежуточные результаты. Если у вас нет компьютера, будьте сами компьютером и выполняйте операторы, записывая на листе бумаги результаты. Если вы будете внимательно разбирать тексты программ, затем, заучив текст, попробуете его написать по памяти, проверить, исправить ошибки, запустить на компьютере, получить результаты, то вы научитесь программировать!. Предварительные сведения Смысл программирования состоит в том, что программист должен объяснить ЭВМ, какие действия машина должна выполнить, чтобы решить нужную задачу. Программа на языке Паскаль состоит из заголовка и тела программы, называемым блоком. В заголовке программы даётся имя и перечисляются её параметры (если это необходимо). В определении блока разделы должны следовать в таком порядке: описание меток, определение констант, определение типов, описание переменных, описание процедур и функций, операторы. 1.1. Алфавит Для написания программ на языке Паскаль можно применять следующие символы: буквы латинского алфавита a b c d...z (прописные), a b c d...z (строчные), знак подчеркивания. Следует отметить, что кроме приведенных выше символов в программе можно применять и буквы кириллицы, т.е. русский алфавит, однако в конструкциях языка эти буквы не могут быть использованы, они используются только для написания текстовых констант, соответствующих данным строкового типа, например: табл. 1. 1.2. При наличии хотя бы одной ошибки программа не выполняется. Пример. Пусть имеются ячейки памяти с именами a, b, c; ячейки таковы, что в них могут быть помещены величины только целого типа. достигается это описанием: Var a, d, c: integer, где Var - начало раздела описания переменных, a, b, c - идентификаторы. Символы, заключенные между этими скобками, не воспринимаются машиной, но выдаются пользователю. Программа начинается с заголовка Program - имя программы; затем идут разделы описаний (до 5) и раздел операторов, который начинается словом Begin и заканчивается END. (end с точкой, точка - конец программы). Каждое описание и оператор заканчиваются символом ; Program Prim1; {заголовок программы} Var a,b,c:integer; {раздел описания переменных, выделение} {ячеек памяти для хранения целых величин} BEGIN {начало раздела операторов} c:=547; b:=42; {занесение в ячейки c и b начальных значений} a:=c b; {вычисление значения и выдача на} writeln(a); {экран (write - писать) значения a} END. Программа записывается в виде строк. Простейший ввод-вывод В программе Prim1 мы задавали исходные данные с помощью оператора присваивания, что не всегда удобно, если одну и ту же программу нужно просчитывать с различными исходными данными. Для присвоения начальных значений можно использовать оператор readln (идентификатор, идентификатор,...,идентификатор); например, readln (c,b). встретив такой оператор, машина остановится и будет ждать, пока пользователь не наберет на клавиатуре значение с, нажмет клавишу пробел”, наберет значение b и нажмет клавишу ENTER (ввод).значения величин c и b отобразятся на экране и после нажатия клавиши ENTER занесутся в ячейки памяти машины с именами с и b соответственно. тогда программа Prim1 примет вид: Program Prim1a; Var a, b, c : integer; BEGIN readln (c,b); a : = c b; writeln (a); readln ; END. Основные стандартные функции Паскаля: Обозначения: I - целочисленный тип; B - байтовый тип; R - вещественный тип; IBR - целочисленный, или байтовый, или вещественный типы. Циклический сдвиг: k shl N - сдвиг числа к влево на N позиций, k shr N - сдвиг числа к вправо на N позиций, k и N - целые. A - B - неверно, A (-B) - верно. 2. Данные в Паскале могут быть следующих типов: Данные Скалярные Структурированные массивы записи Стандартные Определённые пользователем строки файлы целые логические интервальные множества вещественные перечисляемые указатели байтовые символьные Каждому типу данных могут соответствовать константы. Если попытаться, например, в ячейку S поместить не символ, а число, то это приведет к ошибке, т.е. правильно S:= ?A?; или S:= ?$?; или S:= ?1?; однако неверно S:= 1 (1 - число в отличие от ?1? - символа). Program Prim2, Var k,L:integer; Y,R,a,S : real; {здесь для хранения результата y тоже} {нужна ячейка памяти} Begin writeln (введите це, {выдача на экран текста, указанного в} лое k,L, действительные {кавычках; обратите внимание на прави-} R,а,S); {ло переноса текста в операторе writeln:} {если нужно перенести текст, то ставится} {закрывающий апостроф, затем запятая,} {новая строка вновь начинается с апострофа} readln (k,L,R,a,S); Y: = 1-l(l sqr(r* a/k))/(exp(2)/sqr