В прошлый раз мы уже работали с переменной. Мы спрашивали у пользователя класный ли он программист. На сей раз напишем что-то по сложнее. Например калькулятор! Итак у нас будет текстовый калькулятор который будет совершать 5 действий. Но для начала немного теории по поводу переменных.
Для того чтобы работать с переменной её надо обьявить. Для этого, как я уже говорил, используется команда Var. Поскольку возникают вопросы по поводу синтаксиса команд, я буду расписывать каждую команду:
Пишется перед Begin Var переменная1,переменная2,переменная3...:тип переменной;
Var должен быть одним в программе. Если переменные разного типа, то просто ставим Enter, и пишем следующие переменные. Как видите при объявлении переменной нужно указать её тип. Пока я скажу три основных типа: Integer - Целое число Число может быть не больше чем 32 тысячи Real - Число с точкой String - Текс. Не больше 255 символов.
Для изменения переменных существует оператор присваивания := Пример: c:=a+b; Теперь вернемся к нашему калькулятору. Пишем:
Program CALC; {Название программы} Begin {Начало программы} End. {Конец программы}
Это - ОБЯЗАТЕЛЬНАЯ часть любой программы на Pascal!!! Теперь делаем то, для чего я сейчас єто пишу: Обьявляем переменные! Нам понадобится одна текстовая и три целочисленных переменных Для этого перед Begin пишем:
Var deistvie:string; {Обьявляем одну текстовую...} a,b,c:integer; {... и три целочисленных}
Теперь самая главная часть - а именно сама программа! Пояснение в коментариях!
WriteLn('Введите дейсвие[+,-,*,/,sqr] а затем два числа'); ReadLn(deistvie,a,b); {Спрашиваем числа} If deistvie='+' then c:=a+b; {Если действие + тогда складываем} If deistvie='-' then c:=a-b; {Если действие - тогда вычитаем} If deistvie='*' then c:=a*b; {Если действие * тогда умножаем} If deistvie='/' then c:=a div b; {Если действие / тогда делим} {При этом если переменная целочисленная} {то и делить нужно целочисленно} {Для этого используем div} If deistvie='sqr' then c:=a sqr b; {Если действие sqr тогда находим корень кв.} WriteLn(c); {Выводим результат}
Теперь весь код:
Program CALC; {Название программы} Var deistvie:string; {Обьявляем одну текстовую...}
a,b,c:integer; {... и три целочисленных}
Begin {Начало программы} WriteLn('Введите дейсвие[+,-,*,/,sqr] а затем два числа');
ReadLn(deistvie,a,b); {Спрашиваем числа}
If deistvie='+' then c:=a+b; {Если действие + тогда складываем} If deistvie='-' then c:=a-b; {Если действие - тогда вычитаем}
If deistvie='*' then c:=a*b; {Если действие * тогда умножаем}
If deistvie='/' then c:=a div b; {Если действие / тогда делим}
{При этом если переменная целочисленная}
{то и делить нужно целочисленно}
{Для этого используем div}
If deistvie='sqr' then c:=a sqr b; {Если действие sqr тогда находим корень кв.}
WriteLn(c); {Выводим результат}
End. {Конец программы}
у меня не работает строка If deistvie='sqr' then c:=a sqr b; {Если действие sqr тогда находим корень кв.} если её убираю, то всё нормально, а с неё выдаёт ошибку ....