Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2009, 20:10   #1
Shevali
Пользователь
 
Регистрация: 09.03.2009
Сообщений: 49
По умолчанию небольшой калькулятор

Здравствуйте. Тут такая задачка (для Вас простая, но я новичок, так что будьте снисходительны):
Ввести с клавиатуры число, символ арифметического действия (+, -, *, /) и еще одно число. Компьютер должен напечатать результат.
Я пробовал так:

var x, y: integer; z: char;
begin
writeln ('введите числа и символ');
readln (x,y); case z of
+ : writeln (x+y);
- : writeln (x-y);
* : writeln (x*y);
/ : writeln (x/y);
end;

Желательно обойтись словами: case, of, if, else, then
end.

Коряво конечно, ну вот так получилось.
Спасибо, если поможите.

Последний раз редактировалось Shevali; 26.03.2009 в 20:16.
Shevali вне форума Ответить с цитированием
Старый 26.03.2009, 20:25   #2
spring
 
Аватар для spring
 
Регистрация: 26.03.2009
Сообщений: 9
По умолчанию

+: begin writeln(x+y);readln end;

Последний раз редактировалось spring; 26.03.2009 в 20:28.
spring вне форума Ответить с цитированием
Старый 26.03.2009, 20:26   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
readln (x,y); case z of
Так а где вы z вводите? Правильно, нигде.
И '+','-' и прочее - это символы. А значит должны быть заключены в одинарные кавычки.
Например:
Код:
'+' : writeln (x+y);
Цитата:
Сообщение от spring
+: begin writeln(x+y);readln end;
Это работать не будет. Причина выше.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 26.03.2009 в 20:31.
Sazary вне форума Ответить с цитированием
Старый 26.03.2009, 20:35   #4
spring
 
Аватар для spring
 
Регистрация: 26.03.2009
Сообщений: 9
По умолчанию

esli ona xocet videt rezultat to doljna napisat readln pered poslednem 'end'om i luchse vseqo napisat kod znakov
spring вне форума Ответить с цитированием
Старый 26.03.2009, 20:53   #5
Shevali
Пользователь
 
Регистрация: 09.03.2009
Сообщений: 49
По умолчанию Небольшой калькулятор

Ну вот сделал я как Вы советовали:

var x, y: integer; z: char;
begin
writeln ('введите числа и символ');
readln (x,z,y); case z of
'+' : writeln (x+y);
'-' : writeln (x-y);
'*' : writeln (x*y);
'/' : writeln (x/y);
end;
readln;
end.

Но только не подсчитывает (не выдаёт результат). Может ещё что не так?
Shevali вне форума Ответить с цитированием
Старый 26.03.2009, 20:56   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Тогда уж так:
Код:
uses crt;
var x, y: integer; z: char;
begin
clrscr;
writeln ('введите числа и символ');
readln (x);
readln(z);
readln(y);
case z of
'+' : writeln (x+y);
'-' : writeln (x-y);
'*' : writeln (x*y);
'/' : writeln (x/y);
end;
readln;
end.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 26.03.2009, 21:07   #7
Shevali
Пользователь
 
Регистрация: 09.03.2009
Сообщений: 49
По умолчанию

В таком варианте работает. Спасибо. Хотя в учебнике (по которому я занимаюсь) в этой главе ни про uses crt, ни про clrscr ничего не сказано, а задачку вложили. Видимо или ошибочно, или есть другой вариант решения. Всё равно спасибо.
Shevali вне форума Ответить с цитированием
Старый 26.03.2009, 21:10   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Shevali Не беспокойтесь ) Это можно безболезненно удалить:
Код:
var x, y: integer; z: char;
begin
writeln ('введите числа и символ');
readln (x);
readln(z);
readln(y);
case z of
'+' : writeln (x+y);
'-' : writeln (x-y);
'*' : writeln (x*y);
'/' : writeln (x/y);
end;
readln;
end.
Код:
uses crt;
Этим мы подключаем модуль CRT.
В нем содержится функция очистки экрана clrscr.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 26.03.2009, 21:17   #9
Shevali
Пользователь
 
Регистрация: 09.03.2009
Сообщений: 49
По умолчанию

Спасибо Sazary. С Вами приятно работать.
Shevali вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшой кроссворд на crt Extreme Паскаль, Turbo Pascal, PascalABC.NET 2 04.03.2009 18:56
Небольшой вопрос по транспонированию Deman4eg Microsoft Office Excel 11 21.02.2008 11:09