Символьные величины языка Turbo Pascal

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    17,09 Кб
  • Опубликовано:
    2012-05-02
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Символьные величины языка Turbo Pascal

Федеральное агентство по образованию РФ

Государственное образовательное учреждение высшего профессионального образования

Тюменский Государственный Нефтегазовый Институт

Филиал Тобольский Индустриальный Институт

Кафедра Математики и Информатики




ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по дисциплине Информатика

на тему:

«Символьные величины языка Turbo Pascal»




студент группы МХП-08 И.Б.Патрушев

руководитель к.п.н.,

доцент каф. МИ Н.И.Герчес




г.

АННОТАЦИЯ

Пояснительная записка к данной курсовой работе состоит из 19 страниц. В тексте пояснительной записки содержится 4 таблицы, 3 блок-схемы. Курсовая работа посвящена символьному типу данных языка программирования Turbo Pascal. Программа реализована на языке программирования. Разработанная программа имеет объём 32 кб.

В первой части курсовой работы рассматривается теоретический материал по данной теме. Она состоит из 13 страниц.

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

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

Разработать программное обеспечение для вычисления задач с символьными величинами.

Отчетный материал курсовой работы

Пояснительная записка

Отлаженная версия программы на электронном носителе

Задание выдано ____ 2008 г.

Руководитель ___________

Отзыв руководителя

_____________________________________________________________________________________________________________________________________________________________________________

Задание принято ____ 2008 г.

СОДЕРЖАНИЕ

Введение

Глава I.

Состав языка программирования.

.1 Символьный тип данных, как составляющая языка программирования

.2 Лексемы и разделители

.3 Практическая направленность задач с символьными величинами

Глава II.

Практическая реализация решения задач, содержащих символьные величины языка программирования Pascal.

.1 Задача 1. Блок-схема. Программа. Протокол

.2 Задача 2. Блок-схема. Программа. Протокол

.3 Задача 3. Блок-схема. Программа. Протокол

Заключение

Список литературы

ВВЕДЕНИЕ

Обычный разговорный язык состоит из четырех основных элементов: символов (букв), слов, словосочетаний и предложений. Количество символов языка, образующих его алфавит, невелико. Количество слов неизмеримо больше, но все же конечно: все слова языка можно перечислить, например, сведя их в толковый словарь. Все словосочетания, а тем более предложения перечислить уже нельзя, но известны правила, по которым они составляются. Правила русского языка, например, изложены в соответствующих учебниках. Аналогично устроены все языки программирования. Типы данных с помощью типов данных программист указывает компилятору, как хранить информацию в программе. При объявлении переменной необходимо указать ее тип. Одни типы уже определены в языке, другие программисту приходится задавать самому. В ранних языках программирования допускалось ограниченное число типов данных, и pascal оказался одним из первых языков, допускающих определение в программе новых типов.

Типы данных, определяемые пользователем, обычно задаются в разделе определения типов программы или модуля (unit), однако это можно делать и внутри процедур или функции. Объявления типов действуют в пределах того блока, в котором они размещены. Вне этого блока ссылаться на такие типы нельзя. Внутри же они заменяют все внешние типы с тем же именем. Объявленные типы данных можно применять в любом месте области их видимости; запрещена только ссылка определяемого типа на самого себя (тут, однако, есть одно исключение, касающееся указателей). Объявления типов в pascal являются для компилятора чем-то вроде схем, которые он должен запомнить на случай, если вдруг встретит в программе ссылки на тот или иной тип. Само по себе объявление типа не вносит в программу никаких изменений.

ГЛАВА I

СОСТАВ ЯЗЫКА ПРОГРАММИРОВАНИЯ

.1 Символьный тип данных, как составляющая языка программирования

Символы - это основные неделимые знаки, из которых составляются все тексты программ на данном языке. Совокупность всех символов образует алфавит языка. Алфавит языка программирования несколько шире, чем алфавит естественного языка, и включает обычно латинские буквы, знаки арифметических операций, символы-разделители и ряд других специальных символов. Значениями символьного типа являются символы из множества ASCII (American Standard Code For information Interchange- американский стандартный код для обмена информацией). Это множество состоит из 256 различных символов, упорядоченных определенным образом, и содержит символы заглавных и строчных букв, цифр, и различных других символов, включая специальные управляющие символы. Допускаются некоторые отклонения от стандарта ASCII , в частности, при наличии соответствующей системной поддержки это множество может содержать буквы русского алфавита.

Порядковый номер (кодировку) значений символьного типа можно узнать из соответствующих разделов технических описаний. Согласно стандарту ASCII, каждому символу и некоторым управляющим инструкциям соответствует свой числовой код, принимающий значения от 0 до 127. В двоичном представлении ASCII-код использует 7 разрядов. Коды этих символов приведены в табл. 1.1.

Таблица 1.1:

КодСимволКодСимволКодСимволКодСимволКодСимвол0NUL27ESC54681Q108l1SOH28FS55782R109m2STX29GS56883S110n3ETX30RS57984T111o4EOT31US58:85U112p5ENQ32SP59;86V113q6ACK33!60<87W114r7BEL3461=88X115s8BS 35#62>89Y116t9HT36$63?90Z117u10LF37%64@91[118v11VT38&65A92\119w12FF3966B93]120x13CR40(67C94^121y14SO41)68D95_122z15SI42*69E96123{16DLE43+70F97a124|17DC144,71G98b125}18DC245-72H99c126~19DC346.73I100d127DEL20DC447/74J101e21NAK48075K102f22SIN49176L103g23ETB50277M104h24CAN51378N105i25EM52479O106j26SUB53580P107k

Переменная типа Char хранит один символ. Буквальная символьная константа задается указанием символа, который записывается между апострофами. Примеры строковых и символьных констант:

' Turbo Pascal '

' ******************* '

' Д ': 'Y', 'д' , '9'.

В приведенном примере следует обратить внимание на последнюю константу. Это буква девять", а не число девять. Если переменная Symbol описана как переменная типа Char, то допустимы следующие операторы присваивания:

Symbol : = 'S': : = '?':: = ' ' :: = ' ' ' ' ;

После выполнения второго оператора присваивания переменная Symbol имеет значение символа «знак вопроса», а после выполнения третьего оператора - значение «пробел» (в этом случае пробел является полноправным символом). В четвертой строке первый и последний апострофы являются ограничителями символьного значения, а два апострофа между ними трактуются как один апостроф.

Значение переменной символьного типа можно задать в операторе присваивания с помощью буквальной символьной константы или функции Chr. Функция Chr устанавливает соответствие между однобайтовыми целыми значениями кода и символами.

Противоположной по отношению к Chr является функция Qrd(x), которая возвращает код символьного аргумента.

Существует функция UpCase, которая преобразует строчные буквы латинского алфавита в прописные, но не изменяет другие символы, например:

UpCase('p') = 'р'('B') = 'В' ('+') = '+'

Если символьное значение имеет графическое представление, то оно изображается соответствующим знаком, заключенным в одинаковые кавычки (апострофы), например :

'a' 'X' ':' ''''

Для представления самого апострофа его изображение удваивается.

Если символ, который нужно изобразить, не имеет графического представления, то можно воспользоваться следующей эквивалентной формой записи, состоящей из символа '#' (решетка, диез) и целочисленного кода символа (от 0 до 255):

#10

#$A

Кроме того, некоторые управляющие символы ASCII можно представить в следующей форме:

^C

^C символ с кодировкой 7

^[ эквивалентно #$1B

Переменная типа char может получить значение в результате выполнения инструкции присваивания или ввода (read, readln). Если переменная типа char получает значение в результате выполнения операции присваивания, то справа от знака : = должно стоять выражение типа char, например, переменная типа char или символьная константа.

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

В памяти компьютера переменная типа char занимает один байт (это значит, что существует 255 различных символов). Каждому символу поставлено в соответствие число(код), причем код символа '0' меньше кода символа '1', символ 'А' -меньше, чем код символа 'В', а символа ' В' , в свою очередь, меньше кода символа 'С'.

Таким образом можно записать :

'0'<'1'<…<'9'<…<'A'<'B'<…<'Z'<'a'<'b'<…<'z'

Коды символов букв русского алфавита больше кодов букв латинского алфавита, и при этом справедливо следующее:

'А'<'Б'<'В'<…<'Ю'<'Я'<'а'<'б'<'в'<…<'э'<'ю'<'я'.

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

Управляющие символы.

В табл. 1.1 кроме обычных символов имеются специальные управляющие символы. Они представляют собой команды, вывод которых на стандартное выходное устройство приводит к выполнению определенных действий. Эти символы имеют мнемонические двух или трехбуквенные сокращения, пришедшие к нам из эры телеграфа. К управляющему символу можно обратиться по его ASCII-коду или по Ctrl-последовательности, последняя представляет собой код, порождаемый одновременным нажатием клавиши Ctrl и какой-либо другой клавиши.

Символьные константы упорядочены по кодам. Например, 'а'<Ь' - истина.

Рекомендуется применять # (знак номера) только для специальных (служебных) символов, которые не отображаются на экране и имеют мнемонические сокращения, унаследованные из прошлого. Некоторые из них могут использоваться программистом для выполнения определенных действий:

□ #07 (BEL) - подача короткого звукового сигнала;

□ #08 (BS) - удаление символа слева от курсора и смешение курсора на одну позицию назад, соответствует клавише <BackSpace>;

□ #09 (HТ) - горизонтальная табуляция: смешение курсора в позицию, кратную 8, плюс 1 (9, 17, 25 и т. д.), соответствует клавише <ТаЬ>;

□ #10 (LF) - перевод строки, курсор смещается по вертикали вниз на одну строку;

□ #11 (VT) - вертикальная табуляция;

#12 (FF) - прогон страницы;

□ #13 (CR) - возврат каретки или перевод строки, выполняет перемещение курсора в начало следующей строки экрана (соответствует клавише <Enter>);

□ #26 (SUB) - конец файла, вводится нажатием комбинации клавиш

<Ctrl> + <Z>;

#27 (ESC) - конец работы, символ соответствует клавише <Esc>;

□ #32 (BL) - пробел

и т.д.

Предположим, например, что в программе имеется описание:

var ch: Char ;

Тогда операторы

ch : = Chr(7) ;

ch : = #7 ;

ch : = ^G ;

символьный тип язык программирование

присваивают символьной переменной ch одно и то же символьное значение. Здесь ^G обозначает Ctrl-последовательность Ctrt+G (управляющий символ с кодом 7 BEL- звуковой сигнал). Знак # и следующая за ним целая беззнаковая константа обозначают код символа.

Из тридцати двух управляющих символов нам, скорее всего, могут понадобиться лишь некоторые (табл. 1.2).

Таблица 1.2. Некоторые управляющие символы набора ASCII

КодCtrl-последовательностьИспользование функции СhrМнемоническое обозначениеДействие#7^GChr(7)BELЗвуковой сигнал динамика#8^НChr(8)BSВозврат курсора на одну позицию#9^IChr(9)HTГоризонтальная табуляция#10^JChr(10)LFПеревод строки#12^LChr(12)FFПрогон страницы#13^МChr(13)CRВозврат каретки#26^ZChr(26)SUBКонец файла#27^[Chr(27)ESCСимвол Escape

Первые 32 символа ASCII являются управляющими. Для большинства из них не существует соответствующей клавиши. Для того, чтобы включить в последовательность символов такие символы, введено понятие управляющего символа, для которого предусмотрена запись: ^<символ>. Например, ^[ - соответствует клавише<Escape>; ^G - для звукового сигнала.

Чтение символа.

Обращение Read (f, v) t где v обозначает переменную, относящуюся к типу, совместимому с типом Char, эквивалентно оператору:

begin v := f↑ ; Get(f) end

где все вхождения f обозначают одну и ту же переменную. Если перед обращением Read(f, v) было истинно eoln(f), то после будет истинно условие (v= ' ').

.2 Лексемы и разделители

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

Разделители

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

Примечание начинается с символа { или (* (но не внутри строки символов) и заканчивается } или *). Само примечание может содержать любые символы, включая концы строк, за исключением } или *). Любое примечание может быть заменено на пробел, смысл текста программы при этом не изменяется.

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

Специальные символы и символы-слова

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

+ - * /

. , : ;

= <> < <= > >=

:= .. ↑

( ) [ ]

Существуют и альтернативные написания:

(. для [

.) для ]

@ или ^ для ↑

Символы-слова (или зарезервированные слова) в рукописных программах обычно подчеркиваются, чтобы их легче было воспринимать как единые символы с фиксированным смыслом. Использовать эти слова в каком-либо другом значении кроме того, которое зафиксировано в определении Паскаля нельзя; в частности, эти слова не употребляются в качестве имен. Слова записываются как последовательности прописных и строчных букв без каких-либо «невидимых» символов. Вот эти слова-символы:

andendnilsetarrayfilenotthenbeginforoftocasefunctionortypeconstgotopackeduntildivifprocedurevardoinprogramwhiledowntolabelrecordwithelsemodrepeat

Лексемы

Лексемы- это неделимые последовательности символов алфавита (элементарные конструкции), имеющие самостоятельный смысл. Они образуются из основных символов языка, так же как слова обычного языка строятся из букв. Возможны лексемы, состоящие из одного символа, например, знаки операций. Нельзя, однако, провести прямую аналогию между лексемами и словами обычного языка. Дело в том, что любой язык программирования, конечно, имеет определенное количество зарезервированных (ключевых) слов, которые составляют словарь языка, но таких слов неизмеримо меньше, чем в естественном языке (всего несколько десятков). Однако программист может формировать по определенным правилам собственные слова - идентификаторы. Из-за этой особенности текст программы на языке высокого уровня воспринимается сложнее, чем запись алгоритма на естественном языке. Совокупность лексем и правил их формирования образует лексику языка.

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

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

Действия, заданные операторами, выполняются над данными. Предложения языка, в которых даются сведения о данных, называются описаниями или неисполняемыми операторами.

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

1.3 Практическая направленность задач с символьными величинами

Средства управления клавиатурой с помощью модуля CRT рассмотрим на примерах:

кодировку символов клавиатуры;

ввода символа без его высвечивания на экране (процедура ReadKey);

определения нажатия на любую клавишу (функция KeyPressed).

При нажатии на каждую клавишу схемно вырабатывается уникальный код -код сканирования (скан-код). В программах он не используется. Код сканирования программно преобразуется в другой код, который и используется в программах. Для наиболее широко применимых кодов разработаны стандарты. Например, для кодировки символов используется код ASCII - American Standard Code for Information Interchange. Это 7-битовый код. С его помощью можно закодировать всего 128 символов с кодами 0..127. Символы с кодами 0..31 - служебные. При выводе они представляются пробелами. Некоторые из них могут иметь самостоятельное значение, например, 7 - звонок.

Каждый символ в памяти занимает 1 байт (8 бит). С помощью байта можно закодировать 256 символов с кодами 0…255. Символы с кодами 128…255 не ограничены стандартами. С их помощью можно кодировать национальные алфавиты и специальные символы псевдографики.

С помощью символов псевдографики можно представить в текстовом редакторе или вывести операторами программы некоторые рисунки, например состоящие из горизонтальных и вертикальных одинарных и двойных линий для представления шапки таблицы, подчеркивания строк таблицы, вертикальные линии для разделения отдельных ее граф. Воспроизвести символ большинства кодов на экране можно, нажав соответствующую ему клавишу. Но этого нельзя сделать, например, для кодов псевдографики. Любой из символов, имеющих коды 1..255, можно воспроизвести на экране, дополнительно используя клавишу Alt. Для этого в среде Паскаль надо установить режим работы с цифровой клавиатурой (правая часть клавиатуры), нажав клавишу Num Lock, что фиксируется индикатором Num. Lock. Затем надо нажать клавишу Alt и, не опуская ее, на цифровой клавиатуре набрать код символ, после чего отпустить клавишу Alt. На экране воспроизведется символ, код которого был набран.

Процедуры Read и Readln модуля System осуществляют ввод данных, в том числе с помощью клавиатуры. Причем они приостанавливают выполнение программы до тех пор, пока не будет нажата клавиша Eater. Для этого сначала значение набирается с помощью клавиатуры, запоминается в буфере и высвечивается на экране, и после нажатия клавиша Enter данные из буфера передаются в область ОП переменных программы. Ввод с помощью процедур Read и Readln имеет следующие недостатки:

) с их помощью невозможно опознать нажатие на клавиши управления курсором (↑,↓,→,←) и на функциональные клавиши;

) ввод символов сопровождается их воспроизведением (эхо-повтором) на экране;

) обращение к этим процедурам приостанавливает программу до нажатия клавиши Enter.

Это неудобно, например, для игровых задач. Ряд дополнительных возможностей дают функции ReadKey и Keypressed. Они обеспечивают потребности большинства прикладных программ.

Функция ReadKey без параметров. Она возвращает значение типа CHAR - код нажатой клавиши. С ее помощью можно считать и опознать нажатие на любую клавишу, кроме клавиш-переключателей (Alt, Shift, Ctrl, Caps Lock). Эта функция приостанавливает работу программы до тех пор, пока не будет нажата клавиша. Считанный символ не отображается на экране, т. е. функция ReadKey вводит символ без высвечивания его на экране (без эхо-повтора). Это дает возможность для разработки удобных интерактивных программ, управление которыми сводится в основном к нажатию функциональных клавиш.

С помощью ReadKey можно считать коды основных клавиш и расширенные коды ПК (табл. 1.3). Расширенные коды - это коды верхнего ряда клавиш, коды правой части клавиатуры и коды комбинаций клавиш Alt, Ctrl, Shift с другими клавишами. В случае считывания расширенных кодов при первом обращении функция ReadKey возвращает код 0, а при втором - код расширенного набора кодов. Примеры расширенных кодов даны в табл. 1.3.

Таблица 1.3. Примеры расширенных кодов :

КодКлавишаКодКомбинация клавиш559..68F1...F1O84...93SHIFT-F1 .. SHIFT-F10771HOME94 .. 103CTRL F1 .. CTRL-F10772Курсор вверх 104…113ALT-F1 .. ALT-F10773PGUP114CTRL-PRTSCR775Курсор влево 115CTRL-Kypcop влево777Курсор вправо 116CTRL-Kypcop вправо779END117CTRL-END880Курсор внизCTRL-PGDN881PGDN119CTRL-HOME882INS120...131ALT-1… ALT - (верхний ряд клавиш) 83DEL 132CTRL

Обычно идентификаторы типов используются только при определении новых типов или объявлении переменных. Есть, однако, несколько функций, в которых имя типа может использоваться как часть выполняемого оператора. Например, функция sizeof (Т) возвращает количество байтов, занимаемых переменной Т.

Функция sizeof очень важна для написания эффективных программ. Многие из определенных в object pascal типов имеют очень сложную структуру и могут занимать в памяти довольно много места. При этом элементы таких типов созданы скорее для представления значений в некотором логическом порядке, а не для того, чтобы занимать место в памяти. Функция sizeof избавляет программиста от необходимости вычислять объем данных в подобных случаях.

Запись строк символов

Последовательность символов, заключенная в апострофы, является строкой и относится к типу string. Причем сами апострофы не входят в состав строки, а лишь указывают на то, что все заключенные в них символы следует рассматривать как единое целое - строковую константу. Если в состав строки потребуется включить сам апостроф, достаточно написать его дважды подряд. Строчные и прописные буквы в составе строки различаются, т. к. им соответствуют различные коды. Максимальная длина строки - 255 символов. Символы внутри строки нумеруются от 1 до значения длины строки.

Например: 'Язык программирования Turbo Pascal', ' 12345', 'А+В'.

ГЛАВА II

ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ РЕШЕНИЯ ЗАДАЧ, СОДЕРЖАЩИХ СИМВОЛЬНЫЕ ВЕЛИЧИНЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ PASCAL.

.1 Задача 1. Блок-схема. Программа. Протокол

Блок-схема:









Программа:

С помощью несложной программы мы сможем узнать внутренний код произвольного символа.

Program Code_pf_Char;

{Программа читает символ с клавиатуры и выводит на экран этот символ и соответствующий ему внутренний код} : Char; {В эту переменную читается символ} ('Введите любой символ: '); (ch); {Читаем один символ} (ch,' = ',ord(ch)); {Преобразуем его к целому и выводим на экран} .

Обращаем внимание: при вызове ,' = ',ord(ch));

2.2т Задача 2. Блок-схема. Программа. Протокол

Блок-схема:












Программа:

Ввод символов с преобразованием строчных латинских букв в прописные.

Program test_readkey;Crt;:Char;

Begin

Writeln(Вводите строчные латинские буквы. Для завершения введите z.);:=Readkey;(UpCase(ch));ch=z;.

2.3 Задача 3. Блок-схема. Программа. Протокол

Блок-схема:













Программа:encrypt;Crt;

ch:Char;

Begin

Writeln (Вводите строчные латинские буквы. Для завершения нажмите z.);:=readkey;(Char(Ord(ch)+1));ch=z;.

ЗАКЛЮЧЕНИЕ

Смысл символьных данных очевиден, когда они выводятся на экран или принтер. Тем не менее, определение символьного типа может зависеть от того, что подразумевать под словом символ. Обычно символьные типы данных задают схему взаимодействия между участками памяти разного объема и некоторым стандартным методом кодирования/декодирования для обмена символьной информацией. В классическом языке pascal не задано никакой схемы, и в конкретных реализациях применялось то, что на том же компьютере мог использовать каждый. Логический символьный тип именуется char. В классическом языке pascal char- единственный символьный тип.. Применяя логический тип char, следует делать реализации для других микропроцессоров и операционных систем, в которых char может определяться как widechar. При написании программ, которые могут обрабатывать строки любого размера, для указания этого размера рекомендуется применять функцию sizeof, не задавая ее жестко постоянной. В данной курсовой работе нами было проведено исследование, в ходе которого мы выяснили, где и для чего используются символьный тип данных языка программирования Turbo Pascal.

СПИСОК ОСНОВНОЙ ЛИТЕРАТУРЫ

1. Зуев Е.А. Язык программирования Turbo Pascal 6.0.-М.:Унитех,1992.-298с.: ил.- (Мир Turbo Pascal. Выпуск 1).

. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi: 3-e изд., перераб. и доп.- СПБ.:БХВ-Петербург,2007.-400с.:ил.+CD-ROM-(самоучитель).

. Марченко А.И. и Л.А. М30.Программирование в среде Turbo Pascal 7.0/Марченко А.И. и Л.А.: Под редакцией Тарасенко В.П.- М.: Бином Универсал, К.: ЮНИОР, 1997-496с.,ил.

. Немнюгин С.А. Turbo Pascal -СП-б.:Питер,2002-496с.: ил.

. Немнюгин С.А. Turbo Pascal. Программирование на языке высокого уровня: Учебник для Вузов.2-е изд.- СПБ: Питер,2004.-544с.: ил.

. Рапаков Г.Г., Ржеуцкая С.Ю. Программирование на языке Pascal: СПб.: БХВ- Петербург, 2004.-480с.: ил.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!