Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/346: Рейтинг темы: голосов - 346, средняя оценка - 4.88
 Аватар для Most_Guard
6 / 5 / 2
Регистрация: 18.12.2010
Сообщений: 82

Смоделировать работу калькулятора

30.06.2011, 10:12. Показов 76678. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
написать программу, моделирующую работу калькулятора!
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.06.2011, 10:12
Ответы с готовыми решениями:

Смоделировать работу калькулятора для арифметических операций
смоделировать работу калькулятора для операций +,*,-,/

Смоделировать работу метеостанции
Метеостанция 1 раз в час делает замеры температуры воздуха (°C), скорости ветра (м/с) и влажности воздуха (%). 1.Смоделировать работу...

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

10
code code
 Аватар для Шутка
128 / 123 / 77
Регистрация: 11.10.2009
Сообщений: 375
30.06.2011, 12:24
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
p:char;
var
rez:real;
a,b:integer;
begin
readln(p);
case p of
'+': rez:=a+b;
'-': rez:=a-b;
'*': rez:=a*b;
'/': rez:=a/b;
end;
writeln(rez);
end.
писал прямо здесь, проверьте.
2
 Аватар для Most_Guard
6 / 5 / 2
Регистрация: 18.12.2010
Сообщений: 82
30.06.2011, 13:10  [ТС]
спс я немного подправил:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
program z4;
 var a,b:integer;
  rez:real;
  p:char;
begin
 readln(a);
 readln(p);
 readln(b);
 case p of
  '+': rez:=a+b;
  '-': rez:=a-b;
  '*': rez:=a*b;
  '/': rez:=a/b;
end;
writeln(rez);
end.
2
code code
 Аватар для Шутка
128 / 123 / 77
Регистрация: 11.10.2009
Сообщений: 375
01.07.2011, 19:02
Цитата Сообщение от Most_Guard Посмотреть сообщение
спс я немного подправил:
Да, спасибо. Я очень невнимателен ) торопился.
1
1 / 1 / 0
Регистрация: 09.01.2015
Сообщений: 2
09.01.2015, 12:27
Его прога, похожа на мою:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
program KalculatorFEE;
 USES graphabc;
 var a,b,rez:real;
  p,k:char;
begin
  setwindowsize(330,400);
  writeln('Программа - калькулятор была разработанна           Мифтаховом Русланом Борисовичом.');
  writeln('Связь email: [email]mifrus@mail.ru[/email].');
setwindowsize(330,400);
setwindowtitle('Автор:Мифтахов Руслан,Связь:mifrus@mail.ru , версия:2.3"');
write('Напишите 1-ое число :');
 readln(a);
 writeln(a);
write ('Напишите знак :');
readln(p);
case p of
  '+': writeln ('плюс'); 
  '-': writeln ('минус'); 
  '*': writeln ('умножить'); 
  '/': writeln ('делить'); 
end;
 write('Напишите 2-ое число :');
 readln(b);
 writeln(b);
 case p of
  '+': rez:=a+b;
  '-': rez:=a-b;
  '*': rez:=a*b;
  '/': rez:=a/b;
end;
writeln ('Получится :');
writeln (a,p,b,'=',rez);
write('Нажмите enter для завершения');
  read(k);
  while (k<>chr(10)) do read(k);
  clearwindow;
  writeln('');
  writeln('Программа - калькулятор была разработанна');
  writeln('Мифтаховом Русланом Борисовичом.');
  writeln('Связь- email: [email]mifrus@mail.ru[/email].');
  writeln('Спасибо, что используете мой калькулятор.');
  sleep(2000);
  window.close;
end.
Добавлено через 23 минуты
Имеется ошибка, надо из всех переменных(integer) в переменный(real) перенести т.к. при работе с большими числами данный программа будет выдавать ошибку а если все нужные переменные (real) ошибки не будет.
1
0 / 0 / 0
Регистрация: 07.01.2022
Сообщений: 3
09.01.2022, 19:04
Эта прога более или мение красивая. Над визаулизацией долбался.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
uses graphabc;
 
begin
  window.Caption := 'Калькулятор';
  window.SetSize(350, 480);
  window.Fill('FON.bmp');
  var mode: integer;
  writeln('Выберете режим:');
  writeln;
  writeln('1.a+b                   2.a-b                   3.a×b                  4.a÷b                                                          ');
  readln(mode);
  window.Clear;
  if mode = 1 then begin
    window.Fill('1.bmp');
    writeln('Введите 1 слагаемое.');
    var cl1, cl2, cl3: integer;
    readln(cl1);
    writeln('Введите 2 слагаемое.');
    readln(cl2);
    cl3 := cl1 + cl2;
    window.Clear;
    window.Fill('1.bmp');
    writeln(cl1, '+', cl2);
    writeln('Решаю, подождите...');
    sleep(3000);
    writeln('Сумма: ', cl3, '.');
    sleep(3000);
    window.Clear;
    window.Fill('FON.bmp');
    writeln('Спасибо, что вы выбрали мой калькулятор.');
    sleep(1000);
    writeln('Удачного дня!');
    sleep(2000);
    window.Close;
  end;
  if (mode <> 1) and (mode <> 2) and (mode <> 3) and (mode <> 4) then begin
    window.Clear;
    window.Load('Error.bmp');
    writeln('Такого режима нет.');
    sleep(3000);
    writeln('Удачного дня!');
    sleep(3000);
    window.Close;
  end;
  if mode = 2 then begin
    window.Clear;
    window.Fill('2.bmp');
    writeln('Введите уменьшаемое.');
    var um, vu, raz: integer;
    readln(um);
    writeln('Введите вычитаемое.');
    readln(vu);
    raz := um - vu;
    window.Clear;
    window.Fill('2.bmp');
    writeln(um, '-', vu);
    writeln('Решаю, подождите...');
    sleep(3000);
    writeln('Разность: ', raz, '.');
    sleep(3000);
    window.Clear;
    window.Fill('FON.bmp');
    writeln('Спасибо, что вы выбрали мой калькулятор.');
    sleep(1000);
    writeln('Удачного дня!');
    sleep(2000);
    window.Close;
  end;
  if mode = 3 then begin
    window.Clear;
    window.Fill('3.bmp');
    writeln('Введите 1 множитель.');
    var mn1, mn2, pro: integer;
    readln(mn1);
    writeln('Введите 2 множитель.');
    readln(mn2);
    pro := mn1 * mn2;
    window.Clear;
    window.Fill('3.bmp');
    writeln(mn1, '×', mn2);
    writeln('Решаю, подождите...');
    sleep(3000);
    writeln('Произведение: ', pro, '.');
    sleep(3000);
    window.Clear;
    window.Fill('FON.bmp');
    writeln('Спасибо, что вы выбрали мой калькулятор.');
    sleep(1000);
    writeln('Удачного дня!');
    sleep(2000);
    window.Close;
  end;
  if mode = 4 then begin
    window.Clear;
    window.Fill('4.bmp');
    writeln('Введите делимое.');
    var d1, d2, ch: real;
    readln(d1);
    writeln('Введите делитель.');
    readln(d2);
    ch := d1 / d2;
    window.Clear;
    window.Fill('4.bmp');
    writeln(d1, '÷', d2);
    writeln('Решаю, подождите...');
    sleep(3000);
    writeln('Частное: ', ch, '.');
    sleep(3000);
    window.Clear;
    window.Fill('FON.bmp');
    writeln('Спасибо, что вы выбрали мой калькулятор.');
    sleep(1000);
    writeln('Удачного дня!');
    sleep(2000);
    window.Close;
  end;
end.
Вложения
Тип файла: rar Калькулятор.rar (13.0 Кб, 44 просмотров)
0
 Аватар для mr-Crocodile
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,380
10.01.2022, 14:33
Цитата Сообщение от Pascal Master Посмотреть сообщение
Эта прога более или мение красивая. Над визаулизацией долбался.
Только вот ты с разделом маху дал. У тебя код для PascalABC.NET

Запустил сдуру.
Это вообще что???!!

как теперь это развидеть обратно?!
0
0 / 0 / 0
Регистрация: 07.01.2022
Сообщений: 3
16.01.2022, 17:58
Я это делал весь (cenzored) день, а ты просто (cenzored) эту хрень! посмотри эту
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
uses GraphWPF, controls;
 
begin
  window.Title := 'Калькулятор';
  window.SetSize(350, 480);
  leftpanel(175, colors.LimeGreen);
  var s := StatusBar;
  s.Text := 'Строка статуса';
  Textblock('Выберите режим:');
  var rb1 := new RadioButtonWPF('Сложение');
  var rb2 := new RadioButtonWPF('Вычитание');
  var rb3 := new RadioButtonWPF('Умножение');
  var rb4 := new RadioButtonWPF('Деление');
  var rb5 := new RadioButtonWPF('Алгоритм Эвклид');
  
  button('Закрыть').Click := procedure -> window.Close;
  
  rb1.Click := procedure -> begin
    window.Caption := 'Сложение';
    rightpanel(175, colors.White);
    rightpanel(175, colors.White);
    window.Clear;
    rightpanel(175, colors.LimeGreen);
    textblock('Введите 1 слагаемое.');
    var cl1 := integerbox('', -9999, 9999999999);
    textblock('Введите 2 слагаемое.');
    var cl2 := integerbox('', -9999, 9999999999);
    button('Cуммировать').Click := () -> begin
      leftpanel(175, colors.White);
      textblock($'{cl1.Value} + {cl2.Value}');
      textblock($'Сумма: {cl1.Value + cl2.Value}');
      textblock('Удачного времени суток!');
    end;
    button('Закрыть').Click := procedure -> window.Close;
    window.Caption := 'Калькулятор';
    textblock('Спасибо, что используете');
    textblock('мой калькулятор!');
  end;
  rb2.Click := procedure -> begin
    window.Caption := 'Вычитание';
    rightpanel(175, colors.White);
    rightpanel(175, colors.White);
    window.Clear;
    rightpanel(175, colors.LimeGreen);
    textblock('Введите уменьшаемое.');
    var v1 := integerbox('', -9999, 9999999999);
    textblock('Введите вычитаемое.');
    var v2 := integerbox('', -9999, 9999999999);
    button('Вычесть').Click := () -> begin
      leftpanel(175, colors.White);
      textblock($'{v1.Value} - {v2.Value}');
      textblock($'Разность: {v1.Value - v2.Value}');
      textblock('Удачного времени суток!');
    end;
    button('Закрыть').Click := procedure -> window.Close;
    window.Caption := 'Калькулятор';
    textblock('Спасибо, что используете');
    textblock('мой калькулятор!');
  end;
  rb3.Click := procedure -> begin
    window.Caption := 'Умножение';
    rightpanel(175, colors.White);
    rightpanel(175, colors.White);
    window.Clear;
    rightpanel(175, colors.LimeGreen);
    textblock('Введите 1 множитель.');
    var cl1 := integerbox('', -9999, 9999999999);
    textblock('Введите 2 множитель.');
    var cl2 := integerbox('', -9999, 9999999999);
    button('Умножить').Click := () -> begin
      leftpanel(175, colors.White);
      textblock($'{cl1.Value} × {cl2.Value}');
      textblock($'Произведение: {cl1.Value * cl2.Value}');
      textblock('Удачного времени суток!');
    end;
    button('Закрыть').Click := procedure -> window.Close;
    window.Caption := 'Калькулятор';
    textblock('Спасибо, что используете');
    textblock('мой калькулятор!');
  end;
  rb4.Click := procedure -> begin
    window.Caption := 'Деление';
    rightpanel(175, colors.White);
    rightpanel(175, colors.White);
    window.Clear;
    rightpanel(175, colors.LimeGreen);
    textblock('Введите делимое.');
    var cl1 := integerbox('', -9999, 9999999999);
    textblock('Введите делитель.');
    var cl2 := integerbox('', -9999, 9999999999);
    button('Разделить').Click := () -> begin
      leftpanel(175, colors.White);
      textblock($'{cl1.Value} ÷ {cl2.Value}');
      textblock($'Сумма: {cl1.Value / cl2.Value}');
      textblock('Удачного времени суток!');
    end;
    button('Закрыть').Click := procedure -> window.Close;
    window.Caption := 'Калькулятор';
    textblock('Спасибо, что используете');
    textblock('мой калькулятор!');
  end;
  rb5.Click := procedure -> begin
    window.Caption := 'Алгоритм Эвклид';
    leftpanel(175, colors.White);
    rightpanel(175, colors.LimeGreen);
    var m := integerbox('Введите 1 число.', -999999999, 99999);
    var n := integerbox('Введите 2 число.', -999999999, 99999);
    button('Решить').Click := procedure -> begin
      leftpanel(157, colors.White);
      textblock($'a =  {m.Value}');
      textblock($'b = {n.Value}');
      while m.Value <> n.Value do
      begin
        if m.Value > n.Value then
          m := m.Value - n.Value
        else n := n.Value - m.Value;
      end;
      textblock($'НОД = {m.Value}.');
    end;
    textblock('Спасибо, что используете');
    textblock('мой калькулятор!');
  end;
end.
0
Вирусоборец
 Аватар для thyrex
14449 / 7488 / 1582
Регистрация: 06.09.2009
Сообщений: 27,132
16.01.2022, 18:57
Pascal Master, посмотрел.

Циферки в правой части клавиатуры не набираются.
Чтобы проверить работу каждой из операций, приходится перезапускать программу
0
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
17.01.2022, 04:41
Pascal Master, это не на PascalABC!
0
Модератор
10435 / 5724 / 3405
Регистрация: 17.08.2012
Сообщений: 17,429
18.01.2022, 01:35
Pascal Master...

Pascal ABC и Pascal ABC.NET - совершенно разные диалекты паскаля. Эта тема находится в разделе Pascal ABC.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.01.2022, 01:35
Помогаю со студенческими работами здесь

Смоделировать работу сервера
ребята,помогите задачу решить,пожалуйста) К серверу подключено четыре ЭВМ, в которых осуществляется решение задач. По команде в...

Смоделировать работу ЭВМ
Добрый вечер! Срочно нужна Ваша помощь! К ЭВМ подключено четыре терминала, с которых осуществляется решение задач. По команде с...

Смоделировать работу светофора
Нужна помощь Смоделировать работу светофора. Изобразить светофор в виде трех окружностей на черном фоне, способных менять цвет от...

Смоделировать работу транзакций
Добрый день! Есть такое задание: смоделировать ситуации грязного чтения, неповторяемого чтения, возникновения фантомов, после чего...

Смоделировать работу таксопарка
Доброго времени суток. Есть такая задача: В таксопарке N = 200 автомобилей. Город представляет собой область сеткой на 100х100....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru