Ошибка сервера в приложении ‘/’.
Описание: На сервере возникла ошибка приложения. Текущая пользовательская настройка ошибок для этого приложения не позволяет удаленно просматривать сведения об ошибке данного приложения (из соображений безопасности). Однако, сведения можно просматривать в браузерах, запущенных на локальном сервере.
Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег <customErrors> в файле конфигурации "web.config", который находится в корневом каталоге текущего веб-приложения. В теге <customErrors> следует задать атрибут "mode" со значением "Off".
Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут "defaultRedirect" тега конфигурации <customErrors> приложения таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.
Помогите дописать программу в Паскаль. Задача ниже. Не знаю как сделать ее со скобками.
Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются знаки «+», «–», «*» и «/») и круглых скобок. Выражение вводится как символьная строка, все числа целые. Операция «/» выполняется как целочисленное деление (div). Пример: Введите выражение: 2*(3+45)+4 Ответ: 100
Вот что у меня есть: ( я сделала, чтобы вычисляло выражение их 3 чисел и двух знаков, но не получается сделать так, чтобы учитывались круглые скобки )
var s, s1, s2, s3, s4: string;
i, a, b, c, d, e, f: integer;
begin
Writeln(‘Введите строку: ‘);
Readln(s);
for i := 1 to length(s) do
begin
if (s[i] = ‘+’) or (s[i] = ‘-‘) or (s[i] = ‘*’) or (s[i] = ‘/’) then
begin
s1 := copy(s, 1, i-1);
s2 := copy(s, i+1, length(s));
c := i;
end;
end;
for i := 1 to length(s1) do
begin
if (s1[i] = ‘+’) or (s1[i] = ‘-‘) or (s1[i] = ‘*’) or (s1[i] = ‘/’) then
begin
s3 := copy(s1, 1, i-1);
s4 := copy(s1, i+1, length(s1));
e := i;
end;
end;
Val(s3, a, d);
Val(s4, b, d);
Val(s2, f, d);
if (s[e] = ‘/’) and (s[c] = ‘/’) then Writeln((a div b) div f);
if (s[e] = ‘/’) and (s[c] = ‘*’) then Writeln((a div b) * f);
if (s[e] = ‘+’) and (s[c] = ‘*’) then Writeln(a + (b * f));
if (s[e] = ‘*’) and (s[c] = ‘*’) then Writeln(a * b * f);
if (s[e] = ‘+’) and (s[c] = ‘/’) then Writeln(a + (b div f));
if (s[e] = ‘*’) and (s[c] = ‘+’) then Writeln((a * b) + f);
if (s[e] = ‘/’) and (s[c] = ‘+’) then Writeln((a div b) + f);
if (s[e] = ‘*’) and (s[c] = ‘/’) then Writeln((a * b) div f);
if (s[e] = ‘+’) and (s[c] = ‘+’) then Writeln(a + b + f);
if (s[e] = ‘-‘) and (s[c] = ‘-‘) then Writeln(a — b — f);
if (s[e] = ‘+’) and (s[c] = ‘-‘) then Writeln(a + b — f);
if (s[e] = ‘-‘) and (s[c] = ‘+’) then Writeln(a — b + f);
if (s[e] = ‘*’) and (s[c] = ‘-‘) then Writeln((a * b) — f);
if (s[e] = ‘/’) and (s[c] = ‘-‘) then Writeln((a div b) — f);
if (s[e] = ‘-‘) and (s[c] = ‘*’) then Writeln(a- (b * f));
if (s[e] = ‘-‘) and (s[c] = ‘/’) then Writeln(a — (b div f));
end.
нужно учесть, что div — целочисленное деление
function indexOf(var str:string; last:boolean):integer;
var a,i:integer;
begin
a := 0;
for i := 1 to Length(str) do
begin
case str[i] of
‘+’: a:=Pos(‘+’,str);
‘-‘: a:=Pos(‘-‘,str);
‘*’: a:=Pos(‘*’,str);
‘/’: a:=Pos(‘/’,str);
end;
if ((a<>0)and not(last)) then break;
end;
indexOf := a;
end;
function func(var s:string):integer;
var str1,str2,str3:string;
var ind1,ind2,r,a1,a2,a3,err:integer;
begin
ind1:= indexOf(s,false);
ind2:= indexOf(s,true);
str1:=copy(s, 1, ind1-1);
str2:=copy(s,ind1+1,ind2-1);
str3:=copy(s, ind2+1, Length(s));
Val(str1,a1,err);
Val(str2,a2,err);
Val(str3,a3,err);
В мире информатики и математики!
2. Разберите решение задачи, представленной в презентации.
3. Напишите программы на языке программирования Python (с помощью веб-приложения TrinketCode) для решения представленных ниже задач.
Задача 1. Напишите программу, которая вычисляет сумму трех чисел, введенную в форме символьной строки. Все числа целые.
Пример:
Введите выражение:
12+3+45
Ответ: 60
Задача 2. Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются только знаки «+» или «–»). Выражение вводится как символьная строка, все числа целые.
Пример:
Введите выражение:
12-3+45
Ответ: 54