| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
рабатывающих ошибки). Некоторые из них безаргументные и возвраща-
ют единственное число, представляющее собой запрашиваемую инфор-
мацию; другие принимают указатель на структуру, определенную в
graphics.h и заполняют эту структуру соответствующей информацией,
ничего при этом не возвращая.
Функции запроса состояния, попадающие в категорию управления
графической системой - это getgraphmode, getmaxmode и
getmoderange. Первая возвращает целое число, представляющее собой
информацию о текущем графическои драйвере и режиме, вторая - пре-
дельный режим для данного драйвера, а третья - диапазон режимов,
поддерживаемых данным графическим драйвером. Функции getmaxx и
getmaxy возвращают максимальные координаты экрана для текущего
графического режима.
Функции запроса состояния при рисовании и закрашивании - это
getarccoords, getaspectratio, getfillpattern, getfillsettings и
getlinesettings. getarccoords заполняет структуру координатами
последнего обращения к arc или ellipse; getaspectratio сообщает о
коэффициенте сжатия для текущего режима, который позволяет графи-
ческой системе вычерчивать правильные окружности. getfillpattern
- 77,78 -
возвращает текущий пользовательский шаблон. getfillsettings за-
полняет структуру информацией о текущем шаблоне и цвете.
getlinesettings заполняет структуру информацией о текущих сти-
ле(сплошная, пунктирная и т.д.), толщине (нормальная или тонкая),
и шаблоне линии.
В категорию функций управления экраном и графическими окнами
попадают getviewsettings, getx, gety и getpixel. Задав графичес-
кое окно, вы можете узнать его абсолютные координаты и состояние
буферизации при помощи вызова getviewsettings; функция заполнит
структуру необходимой информацией. getx и gety возвращают коорди-
наты текущей позиции относительно окна. getpixel возвращает цвет
заданной точки растра.
Категория функций вывода текста в графическом режиме содер-
жит одну всеобъемлющую функцию запроса состояния:
gettextsettings. Эта функция заполняет структуру информацией о
текущем символьном шрифте, направлении вывода текста(горизонталь-
ное или вертикальное снизу вверх), коэффициенте сжатия символов и
выравнивании строк текста(как горизонтальном, так и вертикаль-
ном).
Категория функций управления цветом включает три функции
запроса состояния. Функция getbkcolor возвращает текущий цвет фо-
на, getcolor - текущий цвет рисования. Функция getpalette записы-
вает в структуру размер текущей палитры рисования и содержимое
палитры. getmaxcolor возвращает максимальное допустимое значение
точки растра для текущего графического драйвера и режима (т.е.
размер палитры минус единица).
И наконец, функции getmodename и getdrivename возвращают со-
ответственно имена данного режима драйвера и текущего графическо-
го драйвера.
- 79,80 -
Г Л А В А 9
------------
ЗАМЕЧАНИЯ ДЛЯ ПРОГРАММИСТОВ, РАБОТАЮЩИХ НА ТУРБО ПАСКАЛЕ.
-----------------------------------------------------------------
Перед тем, как продолжить свое знакомство с Турбо Си, восс-
тановите в памяти главы 6 и 7. Вспомните, как Си определяет базо-
вые элементы программирования. В этой главе мы рассмотрим некото-
рые из основных понятий Си, однако в главах 6 и 7 есть много
деталей, которых вы здесь не найдете.
Паскаль является достаточно последовательным и структурным
языком, в то время как Си - довольно свободный и гибкий. Паскаль
заботится о вас лучше, чем Си и таким образом больше подходит в
качестве языка, используемого для обучения основам программирова-
ния.
Турбо Си и Турбо Паскаль - находятся где-то в середине
спектра языков Си - Паскаль. Турбо Си добавляет некоторые струк-
туры к Си, а Турбо Паскаль - некоторую гибкость Паскалю.
Эта глава не предназначена быть исчерпывающим обсуждением Си
и его многочисленных привлекательных черт. Ее цель - помочь вам,
как программисту, работающему на Турбо Паскале, выучить Турбо Си
настолько, чтобы начать быстро писать программы. Квалификация по-
явится только со временем, практикой и тысячами операторов, кото-
рые вы напишете.
- 81,82 -
Структура программы.
-----------------------------------------------------------------
Как известно,структура программы на Турбо Паскале следующая:
program ИмяПрограммы
< раздел описания:
const
type {очередность необязательна}
var
procedures and functions >
begin {заголовок программы ИмяПрограммы}
<операторы>
end. {Конец программы}
Выполняется основная программа; если она вызывает дополни-
тельные процедуры и функции, они выполняются также. Все идентифи-
каторы - константы, переменные, типы, процедуры и функции - долж-
ны быть объявлены до того, как они будут использованы. Процедуры
и функции имеют аналогичную структуру.
Структура программ на Си несколько более гибкая:
<команды препроцессора>
<определение типов>
<прототипы функций> очередность необязательна
<переменные>
<функции>
Функции в свою очередь имеют следующую структуру:
FuncName {<параметры с описанием>}
{
<локальные описания>
<операторы>
}
Из всех функций, которые вы объявляете, только одна должна
иметь имя main. Это и есть главный модуль вашей программы. Други-
ми словами, когда ваша программа начинает выполняться, вызывается
функция main, а она может включать в свою очередь вызов других
функций. Любая Си программа состоит только из функций. Однако,
некоторые функции имеют тип void и не возвращают значений; так,
- 83,84 -
что они аналогичны процедурам Паскаля. Также (в отличие от Паска-
ля) вы можете просто игнорировать любые значения, возвращаемые
функциями.
Пример
----------------------------------------------------------------
Представлены две программы (одна написана на Турбо Паскале,
другая на Турбо Си), иллюстрирующие сходство и различие между их
структурами программ:
Турбо Паскаль Турбо Си
________________________________________________________________
|
adfun.ru
|
|
|
|