20.10.2012, 15:47 | #1 (permalink) |
Member
Регистрация: 07.03.2012
Сообщений: 83
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Задача с if
написать программу, решающую задачуЖ даны целые числа a,b. Найти y= sqrt(-a)/min(a,b) в результате вывести: 1) нет корня, 2) нет дроби, 3) y=.. Программа работает на выявление ошибок, при вводе правильных чисел, компилятор не ругается, и выкидывает в код___ и еще когда ошибка выводится "y", знаю как заменить, есть ли способ по проще? program Project1; {$APPTYPE CONSOLE} uses SysUtils; var a,b:integer; y : real; begin read(a,b); y:=123; {для проверки при ошибках} if a>0 then writeln('xer 1') { ошибка 1} else if (a=0) or (b=0) then writeln('xer 2') {ошибка 2} else if a<b then y:=sqrt((-a)/a) else y:=sqrt((-a)/b); writeln(y:3:3);{ я так понимаю нужно добавить в begin к then и else?} readln; end. Последний раз редактировалось andrew1701; 20.10.2012 в 15:52 |
20.10.2012, 15:47 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
На форуме можно найти похожие топики, помогу вам в этом Задача C++ Задача на C# Задача по С + + Задача по С++ Задача |
20.10.2012, 16:16 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Чего-то, мне кажется, сложновато. Я бы действовал так:
Код:
program Project1; {$APPTYPE CONSOLE} uses SysUtils; var a,b:integer; function min(q,p:integer):integer; begin if q<p then min:=q else min:=p; end; begin Write('Enter a and b: '); readln(a,b); if a>0 then writeln('xer 1') { ошибка 1} else if min(a,b)=0 then writeln('xer 2') {ошибка 2} else writeln('y= ',sqrt(-a)/min(a,b):0:5); readln; end. |
20.10.2012, 16:27 | #5 (permalink) |
Member
Регистрация: 07.03.2012
Сообщений: 83
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Динозавр спасибо, в принципе не плохо, и довольно коротко, но я не знаю function еще не дошли)) про read знаю) ))))
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
20.10.2012, 16:38 | #6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
program Project1; {$APPTYPE CONSOLE} uses SysUtils; var a,b,c:integer; begin Write('Enter a and b: '); readln(a,b); if a<b then c:=a else c:=b; if a>0 then writeln('xer 1') { ошибка 1} else if c=0 then writeln('xer 2') {ошибка 2} else writeln('y=',sqrt(-a)/c:0:5); readln; end. |
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|