nataliaprintroll
?>

Паскаль abc хочу сделать так, что бы если человек писал да, то программа предлагала бы ему ввести значения снова, а она пропускает строку 'введите коффициент а' и если человек отвечает нет или пишет еще что то, она выдавала фразу в конце( за использование что я сделал не так? program pr1; const h = ', '; var a, b, c, d: real; name: string; t: boolean; begin writeln('введите свое имя: '); readln(name); writeln(h, name, ', вас программа-калькулятор квадратного уравнения' ); writeln('введите коеффициент "a"'); readln (a); writeln('введите коeффициент "b"'); readln (b); writeln('введите коeффициент "c"'); readln (c); d : = b*b-4*a*c; if d=0 then begin writeln ('x1, x2 =', (-b+sqrt(d)/(2*; end; if d< 0 then begin writeln ('d< 0, корней нет'); end; if d> 0 then begin writeln('d = ', b*b-4*a*c); writeln ('x1 =', (-b+sqrt(d)/(2*; writeln ('x2 =', (-b-sqrt(d)/(2*; end; writeln ('хотите воспользоваться калькулятором еще раз? введите t(да)\f(нет)'); readln; if t then writeln('введите коеффициент "a"'); readln (a); writeln('введите коeффициент "b"'); readln (b); writeln('введите коeффициент "c"'); readln (c); d : = b*b-4*a*c; if d=0 then begin writeln ('x1, x2 =', (-b+sqrt(d)/(2*; end; if d< 0 then begin writeln ('d< 0, корней нет'); end; if d> 0 then begin writeln('d = ', b*b-4*a*c); writeln ('x1 =', (-b+sqrt(d)/(2*; writeln ('x2 =', (-b-sqrt(d)/(2*; end else writeln (' за использование'); end.

Информатика

Ответы

Nzharenikova
Ты в условном операторе не указал что должно проверяться... И к тому же нет begin и end;. Также переменную t: string; сделай, так как иначе не выйдет.

У тебя:
readln; <- к тому же не указал что надо писать.
if t then <- что это такое? Ошибка.
writeln('Введите коеффициент "a"');
readln (a);
writeln('Введите коeффициент "b"');
readln (b);
writeln('Введите коeффициент "c"');
readln (c);
d := b*b-4*a*c;

Должно быть:

program Pr1;

const 
H = 'Здравствуйте, ';
var
a,b,c,d: real;
name, t: string;

Begin
writeln('Введите свое имя:');
readln(name);
writeln(H, name, ', вас приветствует программа-калькулятор квадратного уравнения' );
writeln('Введите коеффициент "a"');
readln (a);
writeln('Введите коeффициент "b"');
readln (b);
writeln('Введите коeффициент "c"');
readln (c);
d := b*b-4*a*c;
if d=0 then
begin
writeln ('X1,X2 =', (-b+sqrt(d)/(2*a)));
end;
if d<0 then
begin
writeln ('D<0, корней нет');
end;
if d>0 then
begin
writeln('D = ', b*b-4*a*c);
writeln ('X1 =', (-b+sqrt(d)/(2*a)));
writeln ('X2 =', (-b-sqrt(d)/(2*a)));
end;
writeln ('Хотите воспользоваться калькулятором еще раз? Введите T(Да)\F(Нет)');
readln(t);

t := t.ToLower;

if t = 'да' then
begin
writeln('Введите коеффициент "a"');
readln (a);
writeln('Введите коeффициент "b"');
readln (b);
writeln('Введите коeффициент "c"');
readln (c);
d := b*b-4*a*c;
end
else
за использование!');

if d=0 then
begin
writeln ('X1,X2 =', (-b+sqrt(d)/(2*a)));
end;

if d<0 then
begin
writeln ('D<0, корней нет');
end;

if d>0 then
begin
writeln('D = ', b*b-4*a*c);
writeln ('X1 =', (-b+sqrt(d)/(2*a)));
writeln ('X2 =', (-b-sqrt(d)/(2*a)));
end;
end.
sergeystepanov231
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
  var a:=ArrRandom(100,-20,20); a.Println;
  WritelnFormat('Положительных {0}, отрицательных {1}',
    a.Where(x->x>0).Count,a.Where(x->x<0).Count)
end.

Тестовое решение:
-19 12 19 -17 -5 10 -13 -2 -4 16 -6 -12 -3 5 -3 -6 -1 8 -19 -14 -1 9 -10 20 -7 20 5 17 -7 11 -5 -14 -19 -18 16 13 11 -2 -3 9 1 11 10 -13 8 -14 -15 -13 8 5 -7 20 -20 18 2 -8 2 19 10 -5 -15 -10 -16 5 1 -12 -14 -6 9 5 3 -20 -9 -7 6 9 20 -18 -8 -13 14 -3 -11 9 -3 -5 -15 -16 0 4 -10 12 8 -19 4 -10 6 -15 7 0
Положительных 44, отрицательных 54
Probitbiz6
Так как в задании не указано, что введенное слово должно обрамляться пробелами, то код может быть такой:

var s,a:string;
    begin
    write('Введите строку : ');
    readln(s);
    write('Введите слово : ');
    readln(a);
       if(pos(a, s) <> 0) then writeln('Слово "',a,'" в строке есть')
       else writeln('В строке такого слова нет');
    end.

Тест №1
Введите строку : Привет участникам олимпиады!
Введите слово : ник
Слово "ник" в строке есть

Тест №2
Введите строку : Всем привет!
Введите слово : админ
В строке такого слова нет

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Паскаль abc хочу сделать так, что бы если человек писал да, то программа предлагала бы ему ввести значения снова, а она пропускает строку 'введите коффициент а' и если человек отвечает нет или пишет еще что то, она выдавала фразу в конце( за использование что я сделал не так? program pr1; const h = ', '; var a, b, c, d: real; name: string; t: boolean; begin writeln('введите свое имя: '); readln(name); writeln(h, name, ', вас программа-калькулятор квадратного уравнения' ); writeln('введите коеффициент "a"'); readln (a); writeln('введите коeффициент "b"'); readln (b); writeln('введите коeффициент "c"'); readln (c); d : = b*b-4*a*c; if d=0 then begin writeln ('x1, x2 =', (-b+sqrt(d)/(2*; end; if d< 0 then begin writeln ('d< 0, корней нет'); end; if d> 0 then begin writeln('d = ', b*b-4*a*c); writeln ('x1 =', (-b+sqrt(d)/(2*; writeln ('x2 =', (-b-sqrt(d)/(2*; end; writeln ('хотите воспользоваться калькулятором еще раз? введите t(да)\f(нет)'); readln; if t then writeln('введите коеффициент "a"'); readln (a); writeln('введите коeффициент "b"'); readln (b); writeln('введите коeффициент "c"'); readln (c); d : = b*b-4*a*c; if d=0 then begin writeln ('x1, x2 =', (-b+sqrt(d)/(2*; end; if d< 0 then begin writeln ('d< 0, корней нет'); end; if d> 0 then begin writeln('d = ', b*b-4*a*c); writeln ('x1 =', (-b+sqrt(d)/(2*; writeln ('x2 =', (-b-sqrt(d)/(2*; end else writeln (' за использование'); end.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Михайлович1309
snow8646
VladimirovnaKashintsev1151
Zaikinarusina
sryzhova6392
evavard
pozhidaevgv
Igorevich1512
langprint
Korneeva1856
venera2611
ninazholnerova9
struev2003260
siren89
ИльяАндреевич-Мария