Практикум по программированию. Основы. Циклы. Игра в 100

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
 
(3 intermediate revisions by one user not shown)
Line 8: Line 8:
 
==Java==
 
==Java==
  
<pre>
+
<source lang="java">
 
import java.util.Scanner;
 
import java.util.Scanner;
  
Line 14: Line 14:
  
 
     public static void main(String[] args) {
 
     public static void main(String[] args) {
       
+
 
 
         Scanner in = new Scanner(System.in);
 
         Scanner in = new Scanner(System.in);
       
+
 
System.out.println();
+
        System.out.println();
 
         System.out.println("---------------------- И Г Р А ----------------------");
 
         System.out.println("---------------------- И Г Р А ----------------------");
         System.out.println(" Вы и компьютер по очереди называете числа: 1 ... 10 ");
+
         System.out.println(" Вы и компьютер по очереди называете числа: 1 ... 10");
         System.out.println(" Числа складываются. Кто первым достигнет 100,       ");
+
         System.out.println(" Числа складываются.");
         System.out.println(" тот выиграл. Ваш ход - первый.                     ");
+
        System.out.println(" Кто первым достигнет 100, тот выиграл.");
 +
         System.out.println(" Ваш ход - первый.");
 
         System.out.println("-----------------------------------------------------");
 
         System.out.println("-----------------------------------------------------");
  
int win, n, k, d, s = 0;
+
        int n, d, sum = 0;
 +
        String winner;
  
do {
+
        do {
    if (s == 0) {
+
k = 12;
+
    } else {
+
k = 11;
+
    }
+
  
    do {
+
            do {
    System.out.print("  Ваш ход: ");
+
                System.out.print("  Ваш ход: ");
    n = in.nextInt();
+
                n = in.nextInt();
    } while ((n < 1) || (n > 10));
+
            } while (n < 1 || n > 10);
  
    s += n;
+
            sum += n;
    win = 1;
+
            winner = "user";
  
    if (s < 100) {
+
            if (sum < 100) {
d = k - n;
+
                // sum == n - индикатор первого хода пользователя
System.out.print(" Компьютер: " + d);
+
                d = sum == n ? 12 - n : 11 - n;
s += d;
+
                sum += d;
win = 2;
+
                System.out.print(" Компьютер: " + d);
    }
+
                winner = "computer";
 +
            }
  
    System.out.println("  Сумма: " + s);
+
            System.out.println("  Сумма: " + sum);
  
} while(s < 100);
+
        } while (sum < 100);
  
System.out.println("-----------------------------------");
+
        System.out.println("-----------------------------------------------------");
  
if (win == 1) {
+
        if (winner.equals("user")) {
    System.out.println(" Вы выиграли!");
+
            System.out.println(" Вы выиграли!");
} else {
+
        } else {
    System.out.println(" Выиграл компьютер!");
+
            System.out.println(" Выиграл компьютер!");
}
+
        }
 
     }
 
     }
 
}
 
}
</pre>
+
</source>
  
  
 
==C++==
 
==C++==
  
<pre>
+
<source lang="cpp">
</pre>
+
// g++ 4.2
 +
 
 +
#include <iostream>
 +
 
 +
using namespace std;
 +
 
 +
int main() {
 +
   
 +
    cout << "\n---------------------- И Г Р А ----------------------\n";
 +
    cout << " Вы и компьютер по очереди называете числа: 1 ... 10\n";
 +
    cout << " Числа складываются.\n";
 +
    cout << " Кто первым достигнет 100, тот выиграл.\n";
 +
    cout << " Ваш ход - первый.\n";
 +
    cout << "-----------------------------------------------------\n";
 +
 
 +
    int n, d, sum = 0;
 +
    string winner;
 +
   
 +
    do {
 +
       
 +
        do {
 +
            cout << "  Ваш ход: ";
 +
            cin >> n;
 +
        } while (n < 1 || n > 10);
 +
       
 +
        sum += n;
 +
        winner = "user";
 +
       
 +
        if (sum < 100) {
 +
            // sum == n - индикатор первого хода пользователя
 +
            d = sum == n ? 12 - n : 11 - n;
 +
            sum += d;
 +
            cout << " Компьютер: " << d;
 +
            winner = "computer";
 +
        }
 +
       
 +
        cout << "  Сумма: " << sum << "\n";
 +
       
 +
    } while (sum < 100);
 +
   
 +
    cout << "-----------------------------------------------------\n";
 +
   
 +
    if (winner == "user") {
 +
        cout << " Вы выиграли!";
 +
    } else {
 +
        cout << " Выиграл компьютер!";
 +
    }
 +
 
 +
    cout << "\n\n";
 +
    return 0;
 +
}
 +
</source>
  
  
 
==Pascal==
 
==Pascal==
  
<pre>
+
<source lang="delphi">
</pre>
+
</source>
 +
 
 +
 
 +
==JavaScript==
 +
 
 +
<source lang="js">
 +
<html lang="ru">
 +
<head>
 +
    <meta charset="UTF-8">
 +
    <script>
 +
 
 +
        var sum;
 +
 
 +
        function start() {
 +
            document.getElementById('userActionId').disabled = false;
 +
            document.getElementById('userActionId').value = "";
 +
            document.getElementById('userActionId').focus();
 +
            document.getElementById('computerActionId').innerHTML = "Компьютер:";
 +
            sum = 0;
 +
            document.getElementById('amountId').innerHTML = "Сумма: " + sum;
 +
        }
 +
 
 +
        function stop(winner) {
 +
            document.getElementById('userActionId').disabled = true;
 +
            document.getElementById('resultId').innerHTML =
 +
                    winner == "user" ? "Вы выиграли!" : "Выиграл компьютер!";
 +
        }
 +
 
 +
        function checkUserAction() {
 +
 
 +
            var n = Number(document.getElementById('userActionId').value);
 +
 
 +
            if (isNaN(n) || n < 1 || n > 10) {
 +
                document.getElementById('userActionId').value = "число от 1 до 10";
 +
                return;
 +
            }
 +
 
 +
            sum += n;
 +
            var winner = "user";
 +
 
 +
            if (sum < 100) {
 +
                // sum == n - индикатор первого хода пользователя
 +
                var d = sum == n ? 12 - n : 11 - n;
 +
                sum += d;
 +
                document.getElementById('computerActionId').innerHTML = "Компьютер: "+ d;
 +
                winner = "computer";
 +
            }
 +
 
 +
            document.getElementById('amountId').innerHTML = "Сумма: " + sum;
 +
            document.getElementById('userActionId').value = "";
 +
 
 +
            if (sum >= 100) {
 +
                stop(winner);
 +
            }
 +
        }
 +
    </script>
 +
</head>
 +
<body>
 +
 
 +
<p>******************* И Г Р А ******************* <br>
 +
Вы и компьютер по очереди называете числа: 1 ... 10 <br>
 +
Числа складываются. <br>
 +
Кто первым достигнет 100, тот выиграл. <br>
 +
Ваш ход - первый.</p>
 +
<hr>
 +
<p>Ваш ход: <input id="userActionId" size="15" onchange="checkUserAction()" disabled></p>
 +
<p id="computerActionId">Компьютер:</p>
 +
<p id="amountId">Сумма:</p>
 +
<hr>
 +
<p id="resultId"></p>
 +
 
 +
<button onclick="start()">Старт</button>
 +
 
 +
</body>
 +
</html>
 +
</source>
  
  

Latest revision as of 19:11, 22 March 2016

Назад · Задачи · Дальше


Contents

[edit] Java

import java.util.Scanner;

public class Task17 {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        System.out.println();
        System.out.println("---------------------- И Г Р А ----------------------");
        System.out.println(" Вы и компьютер по очереди называете числа: 1 ... 10");
        System.out.println(" Числа складываются.");
        System.out.println(" Кто первым достигнет 100, тот выиграл.");
        System.out.println(" Ваш ход - первый.");
        System.out.println("-----------------------------------------------------");

        int n, d, sum = 0;
        String winner;

        do {

            do {
                System.out.print("   Ваш ход: ");
                n = in.nextInt();
            } while (n < 1 || n > 10);

            sum += n;
            winner = "user";

            if (sum < 100) {
                // sum == n - индикатор первого хода пользователя
                d = sum == n ? 12 - n : 11 - n;
                sum += d;
                System.out.print(" Компьютер: " + d);
                winner = "computer";
            }

            System.out.println("  Сумма: " + sum);

        } while (sum < 100);

        System.out.println("-----------------------------------------------------");

        if (winner.equals("user")) {
            System.out.println(" Вы выиграли!");
        } else {
            System.out.println(" Выиграл компьютер!");
        }
    }
}


[edit] C++

// g++ 4.2

#include <iostream>

using namespace std;

int main() {
    
    cout << "\n---------------------- И Г Р А ----------------------\n";
    cout << " Вы и компьютер по очереди называете числа: 1 ... 10\n";
    cout << " Числа складываются.\n";
    cout << " Кто первым достигнет 100, тот выиграл.\n";
    cout << " Ваш ход - первый.\n";
    cout << "-----------------------------------------------------\n";

    int n, d, sum = 0;
    string winner;
    
    do {
        
        do {
            cout << "   Ваш ход: ";
            cin >> n;
        } while (n < 1 || n > 10);
        
        sum += n;
        winner = "user";
        
        if (sum < 100) {
            // sum == n - индикатор первого хода пользователя
            d = sum == n ? 12 - n : 11 - n;
            sum += d;
            cout << " Компьютер: " << d;
            winner = "computer";
        }
        
        cout << "  Сумма: " << sum << "\n";
        
    } while (sum < 100);
    
    cout << "-----------------------------------------------------\n";
    
    if (winner == "user") {
        cout << " Вы выиграли!";
    } else {
        cout << " Выиграл компьютер!";
    }

    cout << "\n\n";
    return 0;
}


[edit] Pascal



[edit] JavaScript

<html lang="ru">
<head>
    <meta charset="UTF-8">
    <script>

        var sum;

        function start() {
            document.getElementById('userActionId').disabled = false;
            document.getElementById('userActionId').value = "";
            document.getElementById('userActionId').focus();
            document.getElementById('computerActionId').innerHTML = "Компьютер:";
            sum = 0;
            document.getElementById('amountId').innerHTML = "Сумма: " + sum;
        }

        function stop(winner) {
            document.getElementById('userActionId').disabled = true;
            document.getElementById('resultId').innerHTML =
                    winner == "user" ? "Вы выиграли!" : "Выиграл компьютер!";
        }

        function checkUserAction() {

            var n = Number(document.getElementById('userActionId').value);

            if (isNaN(n) || n < 1 || n > 10) {
                document.getElementById('userActionId').value = "число от 1 до 10";
                return;
            }

            sum += n;
            var winner = "user";

            if (sum < 100) {
                // sum == n - индикатор первого хода пользователя
                var d = sum == n ? 12 - n : 11 - n;
                sum += d;
                document.getElementById('computerActionId').innerHTML = "Компьютер: "+ d;
                winner = "computer";
            }

            document.getElementById('amountId').innerHTML = "Сумма: " + sum;
            document.getElementById('userActionId').value = "";

            if (sum >= 100) {
                stop(winner);
            }
        }
    </script>
</head>
<body>

<p>******************* И Г Р А ******************* <br>
Вы и компьютер по очереди называете числа: 1 ... 10 <br>
Числа складываются. <br>
Кто первым достигнет 100, тот выиграл. <br>
Ваш ход - первый.</p>
<hr>
<p>Ваш ход: <input id="userActionId" size="15" onchange="checkUserAction()" disabled></p>
<p id="computerActionId">Компьютер:</p>
<p id="amountId">Сумма:</p>
<hr>
<p id="resultId"></p>

<button onclick="start()">Старт</button>

</body>
</html>



Назад · Задачи · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools