Возможно, в исходной программе ошибка:
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 - выхода из цикла в случае правильного ответа
begin
readln(x);
k:=0;
while x<>0 do begin
if x mod 2 = 0 then
k:=k+1;
readln(x);
end;
write(k);
readln
end.