- •Тема I Основные понятия языка pascal 7.0
- •1.1. Алфавит и структура программы
- •Алфавит
- •Структура программы
- •I, j : integer;
- •1.2. Структура данных
- •Простые типы данных
- •Структурированные типы данных
- •Указатели
- •Процедурные типы
- •Объекты
- •Преобразование типов данных
- •1.3. Операторы языка
- •Простые операторы
- •Структурированные операторы
- •1.4. Процедуры ввода-вывода
- •Var I, j : integer;
- •Практические задания
- •Тема 2 Производящие функции и ряды
- •Var n, I: integer;
- •Var I, n, f : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j, r, m : integer;
- •Var I, n, f, j : integer;
- •Var I, n, sum : integer;
- •Var I, n, m, к : integer;
- •If flag then
- •Var I, n, m, k, nod : integer;
- •Var I, n, m, k, nod, nok : integer;
- •Var n, r, m : integer;
- •Var n, r, м, к, I : integer;
- •If f then writeln('число', n, ' he палиндром')
- •Var X, y, z:real; I, n : integer;
- •Var X, y, z : real;
- •Var X,y. Z, е : real;
- •I: integer;
- •Var X, y, z, e : real;
- •I: integer;
- •Var X, y, z : real;
- •Практические задания
- •Тема 3 Обработка числовых последовательностей
- •Var n, X, sum, I: integer;
- •Var n, X, к, I: integer;
- •Var n, X, max, I: integer;
- •Var n, X, max, I: integer;
- •Var X, min1, min2 : integer;
- •Var old, new : real;
- •If f then
- •Var old, new : real; к : integer;
- •Var old, new, f : real;
- •Var old, new : real;
- •If f then
- •Var old, new : real;
- •If f then
- •Var poroda : string;
- •I, к, n : integer;
- •Var pol : string;
- •I, к, n : integer;
- •Практические задания
- •Тема 4 Символьные переменные и строки
- •Var I: char;
- •Var I: char;
- •Var I, l : char;
- •Var str: string;
- •If not(str[I] in m) then write(str[I])
- •Var str : string;
- •If not(str[I] in m) then write(str[I]);
- •Var str : string;
- •If (str[I] - '!') then write(V)
- •Var str : string;
- •Var str : string;
- •Тема 5 Обработка строк
- •Var str, wrd : string;
- •I, l : integer;
- •Var s1, str : string;
- •I: integer;
- •Var s1, str: string;
- •Var s1: string;
- •Var s1 : string;
- •Var s1 : string;
- •X : char;
- •Var s1 : string;
- •Var м, к, I, j : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, к : integer;
- •Var I, l : integer;
- •1234567890 Ааааааа .
- •Var I, l : integer;
- •If f then writeln('палиндром')
- •1234567890 Ааааааа .
- •Практические задания
- •Тема 6 Одномерные массивы
- •Var mas : array[1..M] of integer;
- •I, max, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, n : integer;
- •Var mas : array[1..M] of integer;
- •I, k, new, n : integer;
- •Var mas : array[1..M] of integer;
- •I, j, k, new, n : integer;
- •Var mas : array[1..M] of real;
- •I, n : integer;
- •Var mas : array[1..M) of real;
- •I: integer;
- •Var mas, num2, num5 : array[1..M] of integer;
- •Практические задания
- •Тема 2 Двумерные массивы
- •Var a : array[1..T, 1..S] of integer;
- •Var а : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of integer;
- •Var a : array[1..T, 1..S] of char;
- •Var a : array[1..T, 1..T] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Var а, в : array[1..N, 1..N] of integer;
- •Практические задания
- •Тема 8 Работа с файлами
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var f1, f2 : text;
- •X : char;
- •International
- •Var Fl : text;
- •X: char;
- •International
- •Var f1 : text;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •I: integer;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Var f1 : file of char;
- •X : char;
- •International
- •Тема 9 Процедуры и функции
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var n, m : integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var s : string;
- •Var I: integer;
- •Var I, j : integer;
- •Var I, j : integer;
- •Var n : longint;
- •Var s : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в, d, к, X, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Var I : integer;
- •Var n : longint;
- •Var s : integer;
- •Var а, в, X, d, y : integer;
- •Var а, в : integer;
- •Var к: integer;
- •Практические задания
- •Тема 10 Работа с текстом. Модуль crt
- •Var I: char;
- •Var I:integer;
- •Var X, I: integer;
- •Var I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Var X, y, I: integer;
- •Практические задания
- •Тема 11 Графика. Модуль Graph
- •Initgraph(driver, mode,' ');
- •Var driver, mode : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode,
- •X, y : integer;
- •Var driver, mode, X, y : integer ;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y : integer;
- •Var driver, mode, X, y, I: integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t : integer;
- •Var driver, mode, X, y, I, t, y0 : integer ;
- •Var driver, mode, X, y, I, t, xo : integer;
- •Var driver, mode, X, y, r : integer;
- •Var driver, mode, X, y, x1, y1, r : integer;
- •Var driver, mode, X, y, r, I: integer ;
- •Var driver, mode, X, y, r, rx, ry, lx, ly, I, size : integer;
- •Var driver, mode, X, y, r : integer;
- •Практические задания
- •Тема I 3 Разные задачи
- •Var f1:file of nn;
- •I:integer;
- •Var I:integer;
- •Var I, min,max:integer;
- •Var I,j:integer;
- •Var I,j:integer;
- •In_metr;
- •I,n:integer;
- •Var I:integer;
- •If I in s1 then
- •Приложение Зарезервированные слова borland pascal 7.0
- •Литература
- •Оглавление
- •1.1. Алфавит и структура программы
- •Тема 13 разные задачи
Гусева А. И. Учимся программировать: PASCAL 7.0. Задачи и методы их решения. – 2-е изд., перераб. и доп., -М.: «Диалог-МИФИ», 2003. -256 с.
Все приведенные в книге программы могут работать как в среде BORLAND PASCAL 7.0, так и в среде TURBO PASCAL 7.0.*
В книге собраны методические материалы, накопленные автором за многие годы ведения занятий по информатике и программированию в средней школе и по теории алгоритмов в Московском инженерно-физическом институте (техническом университете).
Книга адресована школьникам, учащимся колледжей и лицеев, студентам младших курсов различных вузов, преподавателям, ведущим занятия по информатике и программированию, а так же всем желающим самостоятельно овладеть искусством программирования на языке PASCAL 7.O.
С уважением,
к. т. н., доцент МИФИ Анна Ивановна Гусева
* В добавление к книге выпущен CD-Rom - компьютерный учебник "Учитесь программировать: Pascal 7.0", - который можно купить в ЗАО "Диалог-МИФИ"
Тема I Основные понятия языка pascal 7.0
1.1. Алфавит и структура программы
Алфавит
Совокупность допустимых в языке PASCAL 7.0 символов образует алфавит, который складывается из букв, цифр и специальных символов. Между группами символов алфавита вставляются разделители.
В качестве букв PASCAL 7.0 использует прописные и строчные латинские буквы.
Цифрами PASCAL 7.0 могут служить только арабские цифры то 0 до 9.
Из букв, цифр и знаков подчеркивания строятся идентификаторы. Написание прописных и строчных букв в идентификаторах не различается: слова VAR, vAR VaR трактуются как одно слово.
Длина идентификатора может быть любой, но существенны только первые 63 символа. Начинаться идентификатор должен всегда с буквы и может содержать знаки подчеркивания и цифры в любом другом месте.
В понятие специальных символов входят знаки операций, знаки пунктуации и зарезервированные слова.
Под знаками операций понимаются как различные арифметические действия (+, -, *, /,>,<, <>, < = , > = , @), так и арифметические и логические функции (DIV, MOD, NOT, AND, OR, XOR, IN, SHL, SHR).
Множество знаков пунктуации складывается из следующих символов:
{ } или (* *) Скобки комментария
[ ] Выделение индексов массивов и элементов множеств
( ) Выделение списков параметров, а6лгебраические скобки
' Апостроф
:= Знак присваивания
; Разделение операторов и объявлений Отделение переменной или типизированной константы от типа
= Отделение идентификатора типа от описания типа или типизированной константы от ее значения
, Разделение элементов списка
. . Разделение границ диапазона
. Конец программы, отделение целой части от дробной, разделение полей записи
$ Знак шестнадцатеричного числа или директива компилятора
# Признак кода числа
К зарезервированным словам относятся операторы, имена логических и арифметических функций, имена директив. Список зарезервированных слов приводится в приложении.
Разделителями служат пробелы, любые управляющие символы и комментарии, которые заключаются в фигурные скобки. Комментарий, в котором за скобкой идет знак $, является директивой компилятора. Все остальные комментарии при компиляции программы игнорируются.
Некоторые символы, такие, как &, %, буквы русского алфавита и т. д., можно использовать только в символьных строках и в комментариях.
Структура программы
В программе могут быть следующие разделы, каждый из которых, кроме последнего, завершается точкой с запятой:
■ заголовок программы;
■ раздел объявления меток;
■ раздел объявления констант;
■ раздел объявления типов;
■ раздел объявления переменных;
■ раздел объявления процедур и функций;
■ тело программы (обязательная часть).
Заголовок программы. Заголовок программы необязателен и игнорируется компилятором. Если заголовок присутствует, то он состоит из зарезервированного слова и имени программы, возможно со списком параметров в круглых скобках. Конец заголовка обозначается точкой с запятой:
PROGRAM ONE;
Порядок размещения остальных разделов произвольный, программист может создавать несколько одинаковых разделов.
Раздел объявления меток. Данный раздел начинается со слова LABEL, за которым следует список меток. Завершается список точкой с запятой: LABEL 4, 77, 90;
В программе в качестве меток могут использоваться целые числа без знака. Сама метка ставится в теле программы перед оператором и отделяется от него двоеточием.
Раздел объявления констант. Раздел объявления констант вводится для того, чтобы приписать некоторым константам идентификаторы. Эти константы не меняют своего значения во время выполнения программы. Например, целочисленную и строковую константы можно задать следующим образом: CONST
А = 250;
В = 'АВВА';
Раздел объявления типов. В PASCAL 7.0 используются стандартные типы данных, но могут быть объявлены и новые типы. Например, для объявления типов, соответствующих году, месяцу и дню, можно написать так:
TYPE
YEAR = 1900..2000;
MONTH = (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, ОСТ, NOV, DEC);
DAY= 1..31;
Раздел объявления переменных. Объявление различных переменных всегда начинается с зарезервированного слова VAR, за которым следует список переменных. Для всех переменных обозначается тип, стандартный или ранее объявленный в программе: VAR