Ваша первая программа на Паскале

Вид материалаПрограмма

Содержание


Вопросы - ответы
Ctrl+Ins (Insert)
Как располагать вывод процедуры Write (см. выпуск 3) (например заголовок) по центру?
Структура программы
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   23

Вопросы - ответы


Можно ли и как копировать строки, чтобы не набирать по нескольку раз одно и то же?

Копирование строк осуществляется через буфер обмена, прямо как в Windows.

Для того, чтобы скопировать строку в буфер, необходимо сделать следующее:

1. Нажав и удерживая клавишу Shift, Вы передвигаете курсор клавишами-стрелками, вслед за ним текст выделяется белым цветом.

2. Выделенный фрагмент текста далее должен быть помешен в буфер:
Для этого нажмите комбинацию Ctrl+Ins (Insert).

3. Теперь перемещайтесь в место, где хотите вставить текст и нажмите комбинацию Shft+Ins. (Вставка)

Таким образом можно копировать как одну строку, так и огромные блоки. Скажу сразу. что здесь нужны определенные навыки - но это приходит со временем (и быстрота работы и точность).

Как располагать вывод процедуры Write (см. выпуск 3) (например заголовок) по центру?

В принципе, не существует такой процедуры, которая ровняет выводымий текст по центру. Единственное, что я могу Вам пока предложить (самое оптимальное) - это дополнять начало строки пробелами. Вот пример:

Write(         'Заголовок');

Таким образом строка будет сдвигаться от начала экрана и выводиться к середине. Здесь можно посчитать, сколько пробелов сначала необходимо:

4. Ширина экрана (в символах) в DOS всегда 80 (а высота - 25 строк).

5. Берем длину строки (например, слово "Заголовок" - 9 символов).

6. Делим 80 (ширину экрана) на 2 - получаем 40.

7. Делим длину строки на 2 и отбрасываем остаток: 9/2 = 4.

8. Вычитаем из половины экрана (40 симовлов) половину длины строки: 40 - 4 = 36.

9. Это число и будет необходимым количеством пробелов.

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

* Итак, что же про Паскаль? По вашим советам и просьбам я сегодня уточню одну важную вещь - структуру программы, т.е. размещение разделов var, begin, порядок их размещения и функциональные особенности. Читать про это стоит подписчикам не подготовленным, то есть тому, кто понимает, что не знает как оформлять программу.

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

*И после всего этого мы с вами освоим новую вещь, невероятно полезную и довольно простую. Это будет возможность сравнения, так называемая конструкция If...then.....else, но обо всем по порядку, читайте рассылку....

Структура программы


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

Эти разные части оформляются в различных разделах отдельно друг то друга. То есть переменные находяться отдельно, тело программы - отдельно. Я думаю, Вы это знаете. Заметьте, я не говорю, что это все части, есть и другие, но об этом будем говорить позже. Итак, решили мы писать программу. Она будет использовать какие-нибудь данные, так ведь? Складывать числа, выводить строки. Для этого заводим переменные, чтобы хранить все эти значения.
  1. Все переменные должны быть в разделе var, который всегда идет до раздела begin. Запомните это.
  2. Все поцедуры, выражения, структуры и почее что взбредет в голову программисту - только в разделе begin, который соответсвенно заканчивается словом end. (с точкой на конце).
  3. Продолжаем уточнения про разделы. Все слова, означающие названия разделов не имеют никаких символов после себя - ни ";", ни ":" ничего другого.

Итак, схема программы на Паскале:




Program Program_name;

var

-

-

описание_переменных

-

-

begin

-

-

тело_программы

-

-

end.

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

А нам пора двигаться дальше...