Возможно, в исходной программе ошибка:
write('Введите a:');
readln(a);
write('Введите b:');
readln(a); - повторный ввод a, вместо b.
Переведенный в C# и синтаксически верный код данной программы:
using System;
namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
int a=0, b=0, c=0;
double x;
Console.Write("Введите a: ");
a = int.Parse(Console.ReadLine());
Console.Write("Введите b: ");
a = int.Parse(Console.ReadLine());
Console.Write("Введите c: ");
c = int.Parse(Console.ReadLine());
x = b + (Math.Sqrt((b * b) + (4 * a * c)) / (2 * a)) - (a * a * a * c) + (b * b) - 2;
Console.Write("Результат: " + string.Format("{0:##.##}", x));
Console.ReadLine();
}
}
}
var s, s1: string;
begin
writeln('Как тебя зовут?');
readln(s);
writeln('Привет, ', s, '. А ты любишь читать?(Да/Нет).');
while true do begin
readln(s1);
if s1 = 'Да' then begin
writeln('Хорошо, книга – источник знаний.');
break;
end else if s1 = 'Нет' then begin
writeln('Плохо, нужно читать книги!');
break;
end else
writeln(s, ', ответь Да или Нет.');
end;
end.
Объяснение:
это один из вариантов - бесконечный цикл с командами break - выхода из цикла в случае правильного ответа
Поделитесь своими знаниями, ответьте на вопрос:
Получить максимальное число из трех целых чисел. даны целые числа x, y, z. вычислить max(x+y+z, x*y*z вычислить min(x+y+z, x*y*z). , у меня постоянно выдает ошибку в паскале
x, y, z, m, n, min, max:integer;
begin
readln(x,y,z);
m:=x+y+z;
n:=x*y*z;
if m>n then begin
max:=m;
min:=n;
end else begin
max:=n;
min:=m;
end;
writeln('Max(',m,',',n,')=',max);
writeln('Min(',m,',',n,')=',min);
end.