.: Главная
.: Вебмастерам
.: Друзья
-------------------------
.: WebPick
.: Imseor Site
 
.: Железо
.: Уроки
.: FAQ
.: Downloads
.: Игры
.: Юмор
.: Разное
.: Ссылки
--------------------------------
.: Форум
.: Гостевая
 



.: Pascal!




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


Использование программы Turbo Pascal 7.0

Когда вы запускаете эту программу, то видите синее окно ввода. Именно в нем и набирается текст программы - вы вводите ее с клавиатуры. Вверху находиться полоса меню, через нее осуществляется доступ ко всем ресурсам и возможностям Турбо Паскаля. Активным меню становиться при нажатии клавиши F10. Основные взможности меню, о которых я хочу вам рассказать - это Открытие и Сохранение файлов.

Представим, что мы начали писать в окне ввода программу, которую не закончили, и хотим дописать после. Что надо сделать? Сохранить ее на диске, а после загрузить обратно в редактор.

Итак, запускаем Паскаль и набираем что-нибудь в онке редактора. Далее - сохраняем программу. Для этого:

  1. Нажимаем F10 и переходим в меню.

  2. Выбираем меню File, а далее - Save - открывается окно сохранения файла.

  3. Выбираем имя для файла и вводим его в строку ввода.

  4. Нажимаем Enter и файл сохраняется.

Теперь можно выйти из программы.

Как загрузить файл обратно в Паскаль? Программы на Паскале всегда имеют расширение .pas. Зная это, мы всегда будем безошибочно отличать их от других файлов.

Открываем файл в Паскале:

  1. Запускаем Turbo Pascal и нажимаем F10.

  2. Выбираем меню File, после Open. Появляется окно открытия файла.

  3. Вводим имя файла в строку ввода или выбираем его из списка.

  4. Нажимаем Enter и Паскаль открывает окно редактора с текстом программы, сохраненной на диске.

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

Итак, мы написали программу и хотим проверить ее на ошибки. Для этого можно просто попробовать ее запустить и посмотреть, работает она или нет. Но запускать программу и проверять ее на ошибки - это разные вещи, зачем же использовать одно вместо другого? Вот и давайте рассмотрим, как сделать это все в отдельности.

Проверка на ошибки - "компиляция".

Имея в окне редактора текст программы, можно проверить его на ошибки - такие как ошибки синтаксиса (забыли поставить ";"), ошибки в служебных словах (написали не begin, a bigin) и другие.

Для того, чтобы это сделать, необходимо нажать клавиши Alt-F9: нажать Alt и удерживая его нажать F9.

После этого начнется процесс проверки и если все написано без ошибок, то появиться окно успешной компиляции, в котором будет мигать надпись

"Compile successfull: Press any key"

Если же возникли какие-либо ошибки, то процесс проверки остановится на первой из них, переведя курсор в строку с ошибкой и вверху или внизу редактора появиться красная строка с названием ошибки. Названия ошибок мы будем разбирать позже.

Процесс, который поисходит при этом, называется "компиляция".

Компиляция - это перевод программы с языка программирования на язык машинный, понятный компьютеру.

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

Как это сделать - запустить программу? Читайте...


Запуск программы - "выполнение".

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

Для того, чтобы выполнить ее, служит комбинация клавиш Ctrl-F9. При нажатии на эти клавиши происходит описанный выше процесс компиляции и сразу после этого происходит попытка запуска скомпилированной программы.

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

Вот и все, что необходимо знать о запуске программ на Паскале!

В конце раздела сделаю уточнения, что вам надо уметь делать для успешного программирования в среде Turbo Pascal 7.0:

  1. Сохранять программы на диск (F10 - File >> Save)

  2. Загружать программы с диска (F10 - File >> Open)

  3. Компилировать программы, контролируя отсутсвие ошибок (Alt-F9)

  4. Запускать программу (Ctrl-F9)

А теперь продолжим. Напишем очередную программку, в которой обязательно будет что-нибудь новое. В частности, я хочу вам рассказать о других типах данных - какие они бывают кроме Integer. Также хотелось бы сделать программу интерактивной - выводящей данные пользователю и принимающей их от него.


Программирование на Паскале

В прошлый раз мы написали программу, которая складывала переменные. Для того, чтобы завести переменные мы выбрали тип Integer, который обозначает целое число. На самом деле этих типов много, они используются для того, чтобы обеспечить совместимость переменных (строки не складывать с числами, например). Ну ладно, строки и числа. Что еще надо? Тут можно подумать, что этих двух типов совершенно достаточно. Число оно и останется числом, строка останется строкой. Но на самом деле эти два главных типа имеют много похожих, (Integer в частности). Вот их я и хочу рассмотреть.

Чтож, начну с чисел. Смотрите, есть у нас переменная-число, о которой мы точно знаем, что в программе она не будет больше 200 и не будет отрицательной. (Например, стоимость доллара в рублях). Если мы заведем эту переменную как тип Integer, то она станет числом, но может принимать значения от -35000 до 35000. Больше она быть не может. Но мы знаем, что наша переменная никогда не будет таких размеров и не будет отрицательной. И самое здесь главное - переменная типа Integer занимает больше оперативной памяти, чем нам требуется. Значит, заводя такую переменную мы теряем память и делаем ненужные действия.

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

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

Для нашей переменной подойдет тип, называемый Byte.

Он способен хранить только положительные, только целые числа, с промежутком от 0 до 255. Он нам очень подходит! Разве нет?

Давайте теперь запишем нашу переменную (просто для примера), назовем ее, скажем, Dollar_kurs; Пишем, помня синтаксис и раздел написания переменных.

var

Moskow: LongInt;

Вот и все. Новый тип, самый подходящий для маленьких чисел.

Дальше - а если, наоборот, мы знаем, что переменная может быть более 35000? Если она может дойти до 15 000 000? Например, количество людей в Москве? В Integer такое число уже не влезет, при попытке присвоения такого значения значение переменной будет окончательно испорчено. Для таких переменных тоже существует свой тип - LongInt; (Это от английского Long Integer - длинное число).

Запишем такую переменную:

var

Moskow: LongInt;

А как же быть с дробными числами? Например, мы хотим иметь переменную со значением 37,123. Типы LongInt, Integer, Byte служат для хранения только целых чисел. Для хранения дробных чисел служат другая группа типов, которых тоже несколько по тем же причинам (для выбора подходящего размера). Но пока мы не будем обращать внимание на эти типы, так как они еще нам не понадобятся. А теперь сведем все типы, которые могут хранить целые числа в таблицу (здесь есть также некоторые другие, о которых я не говорил - но тут уже все понятно):

Целые типы

Обозначение типа Диапазон значений
ShortInt -128 до 127
Integer -32768 до 32768
LongInt -2147483648 до 2147483647
Byte 0 до 125
Word 0 до 65536

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


Пишем программу

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

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

У программистов существует такое негласное правило - чтобы продемонстрировать новый язык программирования, необходимо написать на нем программу, выводящую "Hello, world!", что значит "Привет, мир!". Это забавное правило придумано для того, чтобы показать хоть что-нибудь на языке, не знакомом пользователю. Я возьму это правило на вооружение и применю для того, чтобы продемонстрировать как можно вывести данные на экран.

Итак, пишем программу, выводящую строку "Hello, world!"

Ее текст будет выглядеть так:

Program Hello_world;

begin

Write('Hello, world!');

Readln;

end.

Откройте Turbo Pascal и введите эту программу. Далее - нажатием клавиш Ctrl-F9 запустите ее. Если у вас показало ошибки, исправьте их - введите программу в точности так, как я показал на примере.

Если же программа запустилась, то она выведет вам строку Hello, world!, после чего остановиться и будет ждать дальнейших действий. При нажатии клавиши Enter она завершит работу.

Итак, разберем эту программу по частям:

  1. Program Hello_world; - как обычно, заголовок программы.

  2. begin - начало текста программы. Заметьте, мы не используем переменных, поэтому раздел var отсутствует.

  3. Write('Hello, world!'); - Это строка и выводит Hello, world!. Как же это реализуется? Здесь я познакомлю вас с первой процедурой.

Процедура Write. (Write - по-английски "писать").

Эта процедура выводит на экран какие-либо данные. Она может выводить три основные вещи:

  1. Строку символов;

  2. Переменную;

  3. Результат вычислений;

Разберем, как это делается:

Делается это след. образом. После самой процедуры, в скобках пишутся параметры. Здесь стоит обратить внимание, что все параметры, которые передаются процедурам, пишутся рядом с ними в скобках.

Чтобы вывести строку (как в нашем случае) - необходимо ее заключить в одинарные кавычки - ' . Пример:

Write('Это строка');

Между символами кавычек могут быть абсолютно любые символы. Если нам надо вывести сам символ кавычек, то мы его удваиваем:

Write('Здесь напечатается один символ кавычек - '' .');

Далее - все просто. Параметров может быть сколько угодно, они идут через запятую. Переменные и вычисления не заключаются в кавычки. Если мы хотим, например вывести переменную с комментарием, то пишем так:

Write('Значение переменной Name: ', Name);

Вот пример непосредственных вычислений прямо в скобках:

Write('5+12 равно: ', 5+12);

А теперь последний пример, сочетающий все вышеприведенные. Обратите внимание, что можно использовать любое количество параметров, располагая их в любом порядке:

Write('Значение переменной Name: ', Name, ' Name+5 = ', Name+5);

Итак, мы разобрались с процедурой Write. Разбираем программу далее.

Следующая строка - Readln;.

4.Readln; - это процедура чтения с клавиатуры. Разберем эту процедуру:

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

Readln(A);

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

Итак, мы разобрали эту программу - научились читать данные и выводить их на экран. Что теперь? А теперь давайте модифицируем программу, написанную в прошлом выпуске с учетом полученных знаний. Что мы будем делать?

  1. Заведем три переменных - A,B,C;

  2. Предложим пользователю ввести по порядку две переменных - А и В;

  3. Сложим их и поместим результат сложения в переменную С;

  4. Выведем переменную С на экран;

  5. Чтобы пользователь увидел ввод, затормозим программу, ожидая нажатия Enter.

Итак, пишем программу:

Program Primer2;

var

A,B,C: Integer;

begin

Write('Введите А: ');

Readln(A);

Write('Введите B: ');

Readln(B);

C := A + B;

Write('A+B = ', C);

Readln;

end.

Откройте Паскаль и введите эту программу. Запустите ее на выполнение клавишами Ctrl-F9. Если возникли ошибки, проверьте правильность текста, сверьтесь с примером.

Что вы видите? Программа теперь реагирует на ввод, производит с введенными данными какие-нибудь действия и выводит ответ на них.

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


Домашнее задание по Паскалю

Все задачи представлены в порядке возрастания сложности.

  1. Напишите программу, которая будет печатать сумму числа, введенного с клавиатуры с числом 10.

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

  3. Программа должна читать переменные A, B, C, D, а после реализовывать следующее условие и выводить его по действиям, нумируя каждое из них.

Условие такое:

A=A-B+C-(A+A+B-(C+A))+D;





Pascal.dax.ru



Hosted by uCoz