Урок 2. Пишем псевдо-калькулятор (пока только на 2 числа).
А сейчас мы напишем калькулятор. В прошлом уроке я вам объяснил типы переменных string и integer. Сейчас объясню еще 2. Как обычно - начинаем программу:
Теперь поговорим о новых типах переменных: real. Т.к. integer у нас - только целые числа, то real - десятичные (с остатком). Пишем:
var a,b,r:real//Задаем переменную r, типа real. Она у нас послужит для результата.
Так же присутствует тип char - символ. Он может быть на +, так и W, -, / и т.д. Пишем:
s:char//Задаем переменную s типа char. Она у нас послужит для знаков, типа +, - и т.д.
Первая часть закончена. Переходим к следующей - основной. И так, сделаем чтобы игрок по очереди вводил каждую переменную (кроме r), сначала a, потом s, потом b. Если вы читали прошлый урок - то уже поняли, что для этого есть функция readln. Поехали.
readln(a);//Вести переменную a
readln(s);//Вести переменную s
readln(b);//Вести переменную b
Теперь настало самое интересное. Как сделать, чтобы введенные числа взаимодействовали друг с другом? Для этого нам поможет case - оператор выбора. В нашем случае это используется для того, чтобы не писать if 4 раза подряд. То есть - если s=+ - a и b складываются и т.д. Все это происходит с переменной s, т.к. она является переменной типа char. Пишем:
case s of//Все происходит с s.
'+': r:=a+b;//Если + - то a и b складываются.
'-': r:=a-b;//Если - - то вычитаются.
'*': r:=a*b;//Если * - умножаются.
'/': r:=a/b;//Если / - делятся.
end;
Вот и все. Осталось, как всегда, закрыть программу.
Вот и все. Второй урок окончен.
Добавлено: Август 07, 2014, 16:40:37 Подразумевается, что модули crt(потом понадобятся и graph) уже подключены?
Так же, не плохо было бы чистить экран clrscr. И перед end разве не нужно прописать readkey?
О, спасибо, не подумал =).
Добавлено: Август 07, 2014, 16:43:39 Подразумевается, что модули crt(потом понадобятся и graph) уже подключены?
Так же, не плохо было бы чистить экран clrscr. И перед end разве не нужно прописать readkey?
Нет, это не обязательно. Могу кинуть исходник
Подразумевается, что модули crt(потом понадобятся и graph) уже подключены?
.
Нет, так как в текущих программах подключать их нет смысла - они не используются. И подключатся они будут там, где они необходимы - потому, что каждый урок - новая программа.