Программирование - на главную
    Главная   |    Рассылки   |    Форум программистов

  Программирование в Интернет
PHP
ASP .NET
Perl
SSI
JavaScript
CSS
HTML
Разное
  Программирование под Windows
Pascal, Delphi
C++, Builder
BIOS
Алгоритмы
Разное
  Программирование графики
DirectX
OpenGL
Графика
  Разное
Форум программистов
Партнерские программы
Создать интернет-магазин
Рассылки
Написать
  Навигация: Главная > Программирование под Windows > Pascal, Delphi > Программирование для начинающих от CompDocs - 2  

Программирование для начинающих от CompDocs - 2

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

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

Сегодня мы поговорим о переменных.

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

1. Вывести запрос на ввод чисел.
2. Прочитать введенные числа.
3. Подсчитать их сумму.
4. Вывести результат на экран.

С первым пунктом у Вас проблем быть не должно – в прошлой статье мы уже рассмотрели процедуру Write.

Далее нам нужно прочитать с клавиатуры два числа. Как Вы думаете, какая процедура для этого служит? Да, конечно же, Read – мы еще не рассматривали данную процедуру, но кто хоть немного знает английский, уже смог догадаться, что называется она именно так.

Ну, хорошо, а вот куда же будут записываться эти прочитанные значения? Куда? Да, в память. А как к ним потом обратиться? В принципе, к любой ячейке памяти можно обратиться по ее адресу, но мы ведь пишем на Паскале. Являясь языком программирования высокого уровня, Паскаль позволяет использовать более удобные средства, например, переменные. Чувствую, Вы задумались над тем, что значит “язык программирования высокого уровня”. Так что кратко поясняю: языками программирования высокого уровня называют такие языки, где одной командой, попросту говоря можно сделать много =). Ну, например, тот же вывод строчки на экран, на языке низкого уровня (Ассемблере) был бы реализован не одной строчкой, а несколькими страницами кода.

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

CompDocs = Классный журнал

Согласно синтаксису Паскаля, это выражение не верно, но мы же сейчас разбираемся с понятием переменной, а не с Паскалем. Итак, что мы имеем? При дальнейшем использовании в программе переменной CompDocs с ней будет связана область памяти, в которой хранится значение Классный журнал. Т.е. это не особо важно, но все же Вам нужно четко уяснить, что ваша переменная в программе это всего лишь ссылка на определенную область памяти. Переменную можно сравнить с ярлыком – он является лишь ссылкой на определенный файл. Зачем были созданы ярлыки? Для удобства работы, например, собрать все самые нужные ярлыки на рабочем столе и запускать файлы простым кликом по ярлыку, вместо указания адреса необходимого файла. То же самое и с переменной. Чтобы избавить программиста от низкоуровневой работы с памятью, с этими длинными адресами и были созданы переменные. Надеюсь, понятно объяснил.

Переменные в Паскале необходимо объявлять в специальной части программы, указывая их тип. В Паскале есть множество типов и групп переменных: для целых чисел, для чисел с точкой, для строк и т.д. Все мы их рассматривать не будем, так как я уже писал в начале, цель статьи не тупое описание синтаксиса Паскаля. Мы бы и не рассматривали объявление переменных в Паскале, но это все же довольно таки важный материал - без переменных Вы не напишите не одной сколько-нибудь полезной программы, а мы не сможем продолжать изучать азы программирования. Итак, объявление переменных в Паскале следует сразу за зарезервированным словом Var (VARiables - переменные) зарезервированные слова это специальные слова Паскаля, которые используются базовым синтаксисом, имена переменных не могут совпадать с именами зарезервированных слов. Сами же имена переменных могут состоять из больших и маленьких латинских букв, цифр и знака “_”. Только первой в имени переменной обязательно должна идти буква. Также обращаю Ваше внимание на то, что в Паскале имена переменных нечувствительны к регистру, т.е. CompDocs, COMPDOCS, compdocs и т.д. это все будет пониматься как одна и та же переменная. Ну и слово Var должно идти в начале программы, а за ним уже, сколько надо описывайте свои переменные. Описание переменной сводится к указанию ее имени и через двоеточие – типа. Как я уже говорил, на типах переменных мы останавливаться не будем. Сегодня будем использовать только один тип – тип Integer. Данный тип описывает переменные для хранения целочисленных данных (т.е. целых цифр типа 1,2,3…) в диапазоне от -32768 до + 32767 – т.е. максимальное число, которое можно записать в переменную данного типа равно 32 тысячи 767, а минимальное – минус 32 768. Такая переменная занимает 2 байта в памяти – не сложно подсчитать: 1 байт = 8 бит, в которых можно хранить числа до 28 - 2 потому что двоичная система, степень 8 – для определения максимально возможного количества комбинаций. Итого получаем 256. Ну, а раз байта два, то 256*256=65536. Разделив на 2 – чтобы можно было описывать положительные и отрицательные числа, и получаем наши значения. Заметили что максимальное положительное число по модулю на единицу больше максимального отрицательного? Мистика? Нет, ноль =). Итак, думаю, некоторые читатели уже догадались о предназначении типов переменных с точки зрения компилятора. Да, правильно, исходя из типов переменных, выделяется соответствующая область памяти. Таким образом, программисту нужно серьезно отнестись к определению типа переменных – в ряде случаев это поможет сократить расходы памяти, например, если мы знаем что значение нашей переменной никогда не уменьшится ниже 0 и не превысит 256, тип переменной можно указать как Byte и она займет всего 1 байт в памяти, а если говорить более относительно – в 2 раза меньше чем Integer. Ну, все, хватит отвлекаться. Пора переходить к пункту 3. Перед этим разве что скажу, что после объявления переменных, до того как Вы еще начали работать, переменные содержат пустые значения – если переменная числовая – это ноль, если, например, строковая – пустая строка (не строка из пробелов, а строка из 0 символов!).

Вот мы и дошли до арифметических действий. Предположим, что первое число содержится в переменной с именем A, второе в переменной с именем B, тогда нам нужно переменной C присвоить сумму чисел A + B, математически это выглядит так: C=A+B. Думаю все согласны =). С Паскалем дело немного иное. Тут есть свои арифметические операторы, которые иногда могут отличаться от привычных нам математических. Не обошло это стороной и наше простое выражение. В частности оператор присвоения ака знак равно “=” в математике, в Паскале имеет вид двоеточие равно, т.е. “:=”. Ну, а плюс так и записывается. Итак, данное выражение на Паскале будет иметь вид:

C:=A+B;

Тут вопросов быть не должно. И не смущайтесь точки с запятой ака “;” в конце строк – в первом уроке я уже писал, что это оператор разделения (кода) в Паскале и его нужно писать в конце каждой строчки кода. Только под строчкой тут подразумевается не строка текста, а именно строка кода. Ничего, всем по началу мало что понятно. Скоро привыкнете, будите на Паскале строчить лучше, чем на родном языке =).

Ну и четвертый пункт. Тут нам опять же понадобится оператор вывода на экран Write, только кроме строки будем выводить и значение переменной. Строки в Паскале выделяются одинарными кавычками, например, так: ‘это строка’, а переменные отделяются от них запятой и пишутся уже все кавычек, все это Вы четко увидите в примере.

Итак, наша программа:

var
a,b,c:integer;
begin
Write(‘Введите А ’);
Read(a);
Write(‘Введите В ’);
Read(b);
c:=a+b;
Write(‘А+В=’,c);
end.

Вот и все. Давайте только не будем оставлять такую маленькую программу столь некрасиво написанной. Вот подумайте, можно ли уменьшить число переменных? Конечно же! Ведь зачем нам C, если мы можем к значению A прибавить значение B и получим A=A+B=C (когда C=A+B). Также можно в два раза уменьшить количество операторов Write и Read в блоке ввода значений. Итак, улучшенный вариант программы:

var
a,b:integer;
begin
Write(‘Введите А и B’);
Read(a,b);
a:=a+b;
Write(‘А+В=’,a);
end.

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

© http://www.ru-coding.com/
Условия использования материалов сайта.
  Счетчики и ссылки

Rambler's Top100


  На правах рекламы
Copyright © 2005-2012 Ru-Coding.com - все о программировании.