Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2010, 19:41   #1
БлондинкО_о
 
Регистрация: 28.11.2010
Сообщений: 8
По умолчанию Задача на Паскале

Определить результаты участников и победителя следующей игры - каждый из двух игроков дважды бросает игральную кость, затем определяется сумма и произведение набранных каждым очков и полученные значения перемножаются; выигрывавшим считается тот, у кого окажется больше это последнее произведение
имена и результаты бросаний кости вводятся с клавиатуры
вывод на экран в виде:
(имя 1го игрока) результат
(имя 2го игрока) результат
победитель (имя)
БлондинкО_о вне форума Ответить с цитированием
Старый 28.11.2010, 20:46   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Как то так наверно
Код:
Var
   name1,name2:String;
   Ochki1,Ochki2,Sum,Pr:Integer;
    Rez1,Rez2:Integer;
Begin
   Write('Введите имя первого игрока ');
   Readln(Name1);
   Writeln;
   Writeln('Введите имя второго игрока ');
   Readln(Name2);
   Writeln;
   Writeln('Введите результат 1-го броска 1-го игрока ');
   Readln(Ochki1);
   Writeln('Введите результат 2-го броска 1-го игрока ');
   Readln(Ochki2);
   Sum:=Ochki1+Ochki2;
   Pr:=Ochki1*Ochki2;
    Rez1:=Sum*Pr;
   Writeln('Введите результат 1-го броска 2-го игрока ');
   Readln(Ochki1);
   Writeln('Введите результат 2-го броска 2-го игрока ');
   Readln(Ochki2);
   Sum:=Ochki1+Ochki2;
   Pr:=Ochki1*Ochki2;
   Rez2:=Ochki1*Ochki2;
   Writeln('Игрок ',name1,' результат ',Rez1);
   Writeln('Игрок ',name2,' результат ',Rez2);
    If Rez1 > Rez2 then Writeln('Победил ',name1)
    Else 
    If Rez2 > Rez1 then Writeln('Победил ',name2)
    Else Writeln('Ничья');
   Readln
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681

Последний раз редактировалось GetMax; 28.11.2010 в 21:00.
GetMax вне форума Ответить с цитированием
Старый 28.11.2010, 21:08   #3
БлондинкО_о
 
Регистрация: 28.11.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от GetMax Посмотреть сообщение
Как то так наверно
Код:
Var
   name1,name2:String;
   Ochki1,Ochki2,Sum,Pr:Integer;
    Rez1,Rez2:Integer;
Begin
   Write('Введите имя первого игрока ');
   Readln(Name1);
   Writeln;
   Writeln('Введите имя второго игрока ');
   Readln(Name2);
   Writeln;
   Writeln('Введите результат 1-го броска 1-го игрока ');
   Readln(Ochki1);
   Writeln('Введите результат 2-го броска 1-го игрока ');
   Readln(Ochki2);
   Sum:=Ochki1+Ochki2;
   Pr:=Ochki1*Ochki2;
    Rez1:=Sum*Pr;
   Writeln('Введите результат 1-го броска 2-го игрока ');
   Readln(Ochki1);
   Writeln('Введите результат 2-го броска 2-го игрока ');
   Readln(Ochki2);
   Sum:=Ochki1+Ochki2;
   Pr:=Ochki1*Ochki2;
   Rez2:=Ochki1*Ochki2;
   Writeln('Игрок ',name1,' результат ',Rez1);
   Writeln('Игрок ',name2,' результат ',Rez2);
    If Rez1 > Rez2 then Writeln('Победил ',name1)
    Else 
    If Rez2 > Rez1 then Writeln('Победил ',name2)
    Else Writeln('Ничья');
   Readln
End.


думаю, что броски с клавы надо ввести
БлондинкО_о вне форума Ответить с цитированием
Старый 28.11.2010, 21:14   #4
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
думаю, что броски с клавы надо ввести
Это как? Можно вывести результат самого броска( первого, потом второго) для каждого игрока в отдельности
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 28.11.2010, 21:17   #5
БлондинкО_о
 
Регистрация: 28.11.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от GetMax Посмотреть сообщение
Это как? Можно вывести результат самого броска( первого, потом второго) для каждого игрока в отдельности
в начале, после имен, нужно ввести результат первого и второго броска. Вот это если бы ты играл со мной, и чтоб не сидеть считать, мы написали бы эту программу, ввели бы туда наши имена и броски и получили бы результат.
БлондинкО_о вне форума Ответить с цитированием
Старый 28.11.2010, 21:27   #6
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Пальцем в небо
Код:
Var
   Ochki1,Ochki2,Ochki3,Ochki4:Integer;
   Sum1,Sum2,Pr1,Pr2,Rez1,Rez2:Integer;
Begin
   Write('Введите имя первого игрока ');
   Readln(Name1);
   Writeln;
   Writeln('Введите результат 1-го броска игрока ',name1);
   Readln(Ochki1);
   Writeln('Введите результат 2-го броска игрока ',name1);
   Readln(Ochki2);
   Writeln;
   Writeln('Введите имя второго игрока ');
   Readln(Name2);
   Writeln;
   Write('Введите результат 1-го броска  игрока ',Name2);
   Readln(Ochki1);
   Writeln('Введите результат 2-го броска -го игрока ',Name2);
   Readln(Ochki2);
   Writeln;
   Sum1:=Ochki1+Ochki2;
   Pr1:=Ochki1*Ochki2;
   Rez1:=Sum1*Sum2;
   Sum2:=Ochki3+Ochki4;
   Pr2:=Ochki3*Ochki4;
   Rez2:=Sum2*Pr2;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 28.11.2010, 21:28   #7
БлондинкО_о
 
Регистрация: 28.11.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от GetMax Посмотреть сообщение
Пальцем в небо
Код:
Var
   Ochki1,Ochki2,Ochki3,Ochki4:Integer;
   Sum1,Sum2,Pr1,Pr2,Rez1,Rez2:Integer;
Begin
   Write('Введите имя первого игрока ');
   Readln(Name1);
   Writeln;
   Writeln('Введите результат 1-го броска игрока ',name1);
   Readln(Ochki1);
   Writeln('Введите результат 2-го броска игрока ',name1);
   Readln(Ochki2);
   Writeln;
   Writeln('Введите имя второго игрока ');
   Readln(Name2);
   Writeln;
   Write('Введите результат 1-го броска  игрока ',Name2);
   Readln(Ochki1);
   Writeln('Введите результат 2-го броска -го игрока ',Name2);
   Readln(Ochki2);
   Writeln;
   Sum1:=Ochki1+Ochki2;
   Pr1:=Ochki1*Ochki2;
   Rez1:=Sum1*Sum2;
   Sum2:=Ochki3+Ochki4;
   Pr2:=Ochki3*Ochki4;
   Rez2:=Sum2*Pr2;
а как учесть, что очки могут быть от 1 до 6, не больше, на кубике ж только 6 максимум.
БлондинкО_о вне форума Ответить с цитированием
Старый 28.11.2010, 21:53   #8
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
  
  Write('Vvedite imya pervogo igroka ');
   Readln(Name1);
   Writeln('Vvedite rezultat pervogo broska ',name1);
   Readln(Ochki1);
   If Ochki1 > 6 then
   Repeat
     Writeln('Povtorite vvod');
     Readln(Ochki1)
   Until Ochki1 <=6;
   Writeln('vvedite rezultat vtorogo broska ',name1);
   Readln(Ochki2);
   If ochki2 > 6 then
   Repeat
    Writeln('Povtorite vvod');
    Readln(Ochki2)
   Until Ochki2 <=6;
   Writeln('Vvedite imya vtorogo igroka ');
   Readln(Name2);
   Writeln;
   Write('Vvedite rezultat pervogo broska vtorogo igroka ',Name2);
   Readln(Ochki3);
   If Ochki3 > 6 then
   Repeat
     Writeln('Povtorite vvod');
     Readln(Ochki3)
   Until Ochki3 <=6;
   Writeln('Vvedite rezultat vtorogo broska ',Name2);
   Readln(Ochki4);
   If Ochki4 > 6 then
   Repeat
     Writeln('Povtorite vvod');
     Readln(Ochki4)
   Until Ochki4 <=6;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 29.11.2010, 11:59   #9
БлондинкО_о
 
Регистрация: 28.11.2010
Сообщений: 8
По умолчанию

Цитата:
Сообщение от GetMax Посмотреть сообщение
Код:
  
  Write('Vvedite imya pervogo igroka ');
   Readln(Name1);
   Writeln('Vvedite rezultat pervogo broska ',name1);
   Readln(Ochki1);
   If Ochki1 > 6 then
   Repeat
     Writeln('Povtorite vvod');
     Readln(Ochki1)
   Until Ochki1 <=6;
   Writeln('vvedite rezultat vtorogo broska ',name1);
   Readln(Ochki2);
   If ochki2 > 6 then
   Repeat
    Writeln('Povtorite vvod');
    Readln(Ochki2)
   Until Ochki2 <=6;
   Writeln('Vvedite imya vtorogo igroka ');
   Readln(Name2);
   Writeln;
   Write('Vvedite rezultat pervogo broska vtorogo igroka ',Name2);
   Readln(Ochki3);
   If Ochki3 > 6 then
   Repeat
     Writeln('Povtorite vvod');
     Readln(Ochki3)
   Until Ochki3 <=6;
   Writeln('Vvedite rezultat vtorogo broska ',Name2);
   Readln(Ochki4);
   If Ochki4 > 6 then
   Repeat
     Writeln('Povtorite vvod');
     Readln(Ochki4)
   Until Ochki4 <=6;
спасибо, работает, но можно еще ограничение на отрицательные сделать?
БлондинкО_о вне форума Ответить с цитированием
Старый 29.11.2010, 12:02   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну сделайте хоть чтото сами.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в Паскале Наталия2012 Помощь студентам 1 26.07.2010 20:56
Задача в Паскале koshkarjov Помощь студентам 3 02.03.2009 22:11