Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 19.05.2019, 09:17   #1
Gregorianec
Новичок
 
Регистрация: 19.05.2019
Сообщений: 2
Репутация: 10
По умолчанию Работа с if

Не понимаю в чем ошибка! Я написал вот такой код:
Код:
Program Progvhr;
 var a,b,c,d : integer;
Operation:string;
 begin
 writeln('Выберите что нужно вычеслить: V, h, r основания конуса'); readln(Operation);

ReadLn(Operation);
if Operation=('v') then 
 writeln('Введите радиус');
readln(a);
 writeln('Введите высоту');
readln(b); 
 writeln(a*a*b/3);
 
if Operation=('h') then 
writeln('Введите радиус');
readln(a);
 writeln('Введите высоту');
readln(b); 
 writeln(sqrt((3*pi*a*b)/(pi*b)));

if Operation=('r') then 
 writeln('Введите объем');
readln(c);
 writeln('Введите площадь');
readln(d);
 writeln((3*c)/d); 
end.
Код должен выполнять очень простую функцию. 1. Ты задаешь одно из значений, которое нужно вычислить, после этого, ты задаешь что тебе известнл по формуле
3. Тебе расчитывает с помощью формул ответ.

Программа не робит, не понимаю как сделать переход на другую переменную, по мимо V.
Запустите программу и увидите, что 2 другие единицы не возможно просчитать
Gregorianec вне форума   Ответить с цитированием
Старый 19.05.2019, 09:19   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,658
Репутация: 2631
По умолчанию

Прочитайте про begin|end и зачем они. У вас под условиями только по одному оператору.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 19.05.2019, 09:34   #3
Gregorianec
Новичок
 
Регистрация: 19.05.2019
Сообщений: 2
Репутация: 10
По умолчанию

Спасибо вам за быстрый ответ! Все заработало! Скажите, можно ли упростить код?
Код:
Program Progvhr;
 var a,b,c,d : integer;
Operation:string;
 begin
 writeln('Выберите что нужно вычеслить: V, h, r основания конуса'); 

ReadLn(Operation);
if Operation=('v') then 
Begin
 writeln('Введите радиус');
readln(a);
 writeln('Введите высоту');
readln(b); 
 writeln(a*a*b/3);
 end;
 
 
if Operation=('h') then 
Begin
writeln('Введите радиус');
readln(a);
 writeln('Введите высоту');
readln(b); 
 writeln(sqrt((3*pi*a*b)/(pi*b)));
end;


if Operation=('r') then 
Begin
 writeln('Введите объем');
readln(c);
 writeln('Введите площадь');
readln(d);
 writeln((3*c)/d); 
end;
end.
Gregorianec вне форума   Ответить с цитированием
Старый 19.05.2019, 13:26   #4
digitalis
Профессионал
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 1,621
Репутация: 586
По умолчанию

Программа и так проста донельзя, но упростить можно. Ввод параметров вынести в прцедуру, у которой 4 параметра: вопрос 1, вопрос 2, переменные : куда_вводить_1 куда_вводить_2.
Код:
Var a,b,c,d:integer ;

Procedure InDat(p1,p2:string; var i1: integer ; var i2: integer) ;
Begin
  Write ('Input ',p1,' ') ;
  Readln (i1) ;
  Write ('Input ',p2,' ') ;
  Readln (i2)
End ;
    
Begin
  InpDat ('a','b',a,b) ; 
  .....................
Как-то так.

Последний раз редактировалось digitalis; 20.05.2019 в 00:11.
digitalis вне форума   Ответить с цитированием
Старый 21.05.2019, 11:03   #5
digitalis
Профессионал
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 1,621
Репутация: 586
По умолчанию

ТС слинял, но мы и без него обойдемся. "Упрощать - так упрощать", как сказал бы Остап.
Код:
Var a,b:integer ;

Procedure InDat(p1:string; var i1: integer) ;
Begin
  Write ('Input ',p1,' ') ;
  Readln (i1) ;
End ;
    
Begin
  InpDat ('a',a) ; 
  InpDat ('b',b) ; 
  .....................
digitalis вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лабораторная работа(очень простая) Структуры, работа с файлами yurda Фриланс 2 11.06.2016 09:44
Работа с ems api: корректная работа только при явном указании города mrdemkin JavaScript, Ajax 3 02.03.2015 19:23
Работа с матрицами (норма матрицы, работа со строками) Neitrosha Помощь студентам 1 26.11.2010 21:19
Работа с webbrowser - Фреймы, работа с конкретным феймом в фрейме NewDelphi Фриланс 2 08.10.2009 11:00


06:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.