-Рубрики

 -Метки

dj gvozd fashion shmotomoda.ru Вечер а я останусь абракадабра авторские частушки арт ашдвао бесплатно бесплатно бонус в букмекерских блогун блокнот боли в позвоночнике бонус от букмекерских контор бесплатно букмекерские с бонусом буш видео восточные развлечения все умрут доступ на pron сайт в подарок есентуки женщины заработок зима игры истории как найти сауну как не попасть в просак как поднять в топ яндекса как правильно сделать флешмоб как сделать так чтобы не болело как убежать в лес какой подобрать подарок к новому году картинки киевский бти кипр клавогонки комендантский час комиксы кот кошечки кризис мат медведев мисс мира - 2008 мода море наращивание ногтей необычная вода новый год ня! няшки онлайн казино оптимизация в сети отдых пароход педикюр перевозка пластиковые контейнеры покер президент приколы продажа столов продвижение в поисковиках пушки рабочее место новое рамки раскрутка расценки ролики сайты салон красоты воронеж сауна москва свежесть секреты качественных дверей скачать бесплатно красивую эротику скачать быстро скука снасти сом стопитсот стопицот.ру строительство тату торт удача уроки gimp услуги уход за лицом уход за ногтями факты фото фрукты хакеры хаккеры цитата частушки шмотомодонька шпора

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в StopitsoT

 -Сообщества

Читатель сообществ (Всего в списке: 6) АРТ_АРТель В_АТАКУ Умелые_ручки Fake_MusicalMagazine ru_garfield This_is_Erotic

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 11.11.2008
Записей: 1021
Комментариев: 2479
Написано: 6584


Выборы

Четверг, 20 Августа 2009 г. 15:19 + в цитатник
Цитата сообщения xpackpackax Выборы..

_________________________________________________________________________
Следите за собой? Вашему вниманию предлагаются высококачественные товары для красоты и здоровья!
_________________________________________________________________________
Недавно купил фильмы на DVD прямо через интернет. Сразу скачал, посмотрел. Качество наилучшее - очень удобно!
_________________________________________________________________________
Вчера заказал себе 2 майки с веселыми логотипами, скоро должно прийти! А вообще ещё есть очень много интересно товара, включая значки.. Посмотрите сами!
_________________________________________________________________________


Сегодня мы говорим об операторе выбора. Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром по которому осуществляется выбор служит так называем ключ выбора, который может быть любого типа. Структура оператора выбора выглядит несколько страшно :):
case ключ_выбора of список_выбора else операторы end;

Список выбора при этом состоит из нескольких конструкций вида выбор : оператор; Давайте рассмотрим такой пример (он правда не очень актуален, но....) : пользователю нужно ввести число (у нас оно будет хранится в переменной day), а мы выведем по нему день недели:

case day of
1 : writeLn ('Понедельник');
2 : writeLn ('Вторник');
3 : writeLn ('Среда');
else
writeLn ('Какой-то другой день.');
end;

Итак ключ выбора - это у нас day. Для него мы составляем список выбора - список возможных значений и что мы будем делать при этих значениях. Так если day = 1, то мы выведем Понедельник, если 2 - Вторник и т.д. Часть, которая начинается с else может отсутствовать - она схожа с частью оператора if-then-else. Поэтому она выполняется, если ключ выбора не удовлетворяет ни одному условию из списка. У нас она выполнится, если day не равен 1, 2 или 3, например при day=0 или day=4.

О том, что никогда не меняется - константы! Константы - это переменные, которые не могут изменять своего значения (или переменные - это константы, которые его меняют :) Так вот константы - это очень важная часть программы, для их описания выделена целая сексия. Константы имеют имя и значение. Секция констант начинается со слова const. Эта секция обычно распологается перед секцией переменных. Теперь шаблон у нас превращается в нечто более сложное:
Program ИмяПрограммы;
uses список подключаемых модулей;
const
Здесь идёт объявление констант.
var
Здесь идёт объявление переменных.
begin
Здесь идёт текст программы.
end.

Объявить константу можно следующим образом: ИМЯ_КОНСТАНТЫ = ЗНАЧЕНИЕ; Обратите внимание, что мы пишем просто равно, без двоеточия! Например напишем программу, которая считает число П/2 (П = 3.14259265)
Program PI_DEL_TWO;
const
pi = 3.14159265;
var
pid2 : real;
begin
pid2 := pi / 2
end.
Константы могут быть не только числовые, но и текстовые. Например
const
Text = 'Hello, World!';
begin
writeLn (Text)
end.

- ещё одна вариация на тему hello world! Зачем нужны константы, ведь вполне можно использовать численные значения ? Константы нужны для удобства! При компиляции они автоматически заменяются своими значениями. Но например, если это число нужно изменить ? (число П не изменишь, но например стоимость товара или ширина шкафа) Тогда просто меняете значение константы, номер версии программы на 1.01 и получаете совершенно новый продукт :)
Программа

Давайте сегодня напишем маленькую ходилку - нажимая на клавиши будем двигать курсор по экрану. Управление выберем самое примитивное.... нет не стрелки :) ... они как не странно несколько сложнее, а буквы w, a, s, d. Выход из программы будем осуществлять по клавише ESC. Для передвижения курсора нам понадобится функция gotoxy (X, Y) - передвижение курсора на координаты X,Y. При этом левому верхнему углу экрана соответсивуют координаты (1,1) а правому нижнему (80, 25). Это функция из модуля CRT.
Program CURSOR;

uses CRT;

const
LEFT = 'a';
RIGHT = 'd';
UP = 'w';
DOWN = 's';
ESC = 27;

var
x, y : integer;
key : char;

begin
ClrScr;

key := #0;
x := 1;
y := 1;

while key <> chr (ESC) do
begin
key := readkey;

case key of
LEFT : begin
if (x - 1) >= 1 then
x := x - 1
else
x := 80
end;
RIGHT : begin
if (x + 1) <= 80 then
x := x + 1
else
x := 1
end;
UP : begin
if (y - 1) >= 1 then
y := y - 1
else
y := 25
end;
DOWN : begin
if (y + 1) <= 25 then
y := y + 1
else
y := 1
end
end;

gotoxy (x, y)
end
end.

Что сразу бросатеся в глаза ? Наверное key := #0; - что это за #0 ? Значек диез "#" означает, что это не число, а символ! Существует так называемая таблица символов, каждый символ имеет в ней свой номер. Например весёлая рожица - #1, цифра 0 - #48, буква Ъ - #154, буква ъ - #234. Заглавные и строчные буквы имеют разные номера. Символы можно выводить с помощью функции write, например write (#1, #32, #2) - посмотрите, что выйдет (#32 - символ пробела). Вот мы и присваиваем переменной key символ под номером 0! key - переменная типа char (анг. символ). Переменные типа char имеют размер в 1 байт и принемают значения от 0 до 255. В переменных x и y - у нас хранятся координаты. В начале мы присваем им значения 1,1 - т.к. после выполнения Clrscr курсор перемещается в эту точку. Цикл while у нас идёт с условием key <> chr (ESC). Функция chr (X) преобразует целое число к символу. Константа ESC имеет значение 27 - код клавиши ESC, однако мы помним, что Паскаль - строго типизированный язык, поэтому мы должны преобразовать целое число 27 к символу 27! key := readkey; - функция readkey считывает символ с клавиатуры, не выводя его на экран и возращает его. Теперь вырисовывается алгоритм :) программы - считываем клавишу с клавиатуры, проверяем его на совпадение с функциональными клавишами. Цикл выполняется, пока мы не нажмём клавишу ESC. Эта программа представляет собой упрощение алгоритма лежашее в основе многих игрушек.

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку