Циклы

Последнее обновление: 01.11.2018
Вопрос 1

В стране XYZ население равно 10 миллионов человек. Рождаемость составляет 14 человек на 1000 человек, смертность - 8 человек. Рассчитайте, какая численность населения будет через 10 лет, принимая во внимание, что показатели рождаемости и смертности постоянны.

public class Program {
  
    public static void main(String[] args) {
          
		int population = 10000000;
		int born = 14;
		int death = 8;
		int dif = born - death;
        for(int i = 1; i <= 10; i++){
			population += population * dif / 1000;
		}
		System.out.println(population);
    }
}
Упражнение 2

В стране XYZ население равно 10 миллионов человек. Рождаемость составляет 14 человек на 1000 человек, смертность - 8 человек. Каждый год рождается и умирает на 1 человек, меньше чем в предыдущий год. Рассчитайте, какая численность населения будет через 10 лет, учитывая, что рождаемость не может быть меньше 7 человек на 1000 человек, а смертностность не может быть меньше 6 человек на 1000 человек.

public class Program {
  
    public static void main(String[] args) {
          
		int population = 10000000;
		int born = 14;
		int death = 8;
        for(int i = 1; i <= 10; i++){
			if (born > 7) born -= 1;
			if	(death > 6) death -=1;
			population += population * (born - death) / 1000;
		}
		System.out.println(population);
    }
}
Упражнение 3

За каждый месяц банк начисляет к сумме вклада 7% от суммы. Напишите консольную программу, в которую пользователь вводит сумму вклада и количество месяцев. А банк вычисляет конечную сумму вклада с учетом начисления процентов за каждый месяц.

Для вычисления суммы с учетом процентов используйте цикл for. Пусть сумма вклада будет представлять тип float.

Пример работы программы:

Введите сумму вклада: 100
Введите срок вклада в месяцах: 1
После 1 месяцев сумма вклада составит 107,000000
import java.util.Scanner;

public class Program {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        System.out.print("Введите сумму вклада: ");
        float sum = in.nextFloat();
        System.out.print("Введите срок вклада в месяцах: ");
        int period = in.nextInt();
		
        for(int i = 1; i <= period; i++){
            sum += sum * 0.07;
        }
        System.out.printf("После %d месяцев сумма вклада составит %f", period, sum);
		in.close();
    }
}

Упражнение 4

Перепишите предыдущую программу, только вместо цикла for используйте цикл while.

import java.util.Scanner;

public class Program {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        System.out.print("Введите сумму вклада: ");
        float sum = in.nextFloat();
        System.out.print("Введите срок вклада в месяцах: ");
        int period = in.nextInt();
        int i = period;

        while (i > 0){
            sum += sum * 0.07;
            i--;
        }
        System.out.printf("После %d месяцев сумма вклада составит %f", period, sum);
		in.close();
    }
}
Упражнение 5

Напишите программу, которая выводит на консоль таблицу умножения

Пример работы программы:

1	2	3	4	5	6	7	8	9	
2	4	6	8	10	12	14	16	18	
3	6	9	12	15	18	21	24	27	
4	8	12	16	20	24	28	32	36	
5	10	15	20	25	30	35	40	45	
6	12	18	24	30	36	42	48	54	
7	14	21	28	35	42	49	56	63	
8	16	24	32	40	48	56	64	72	
9	18	27	36	45	54	63	72	81	
public class Program {

    public static void main(String[] args) {

        for (int i = 1; i < 10; i++) {
            for (int j = 1; j < 10; j++) {
                System.out.printf("%d\t", i * j);
            }
            System.out.println();
        }
    }
}
Упражнение 6

В цикле программа просит у пользователя ввести два числа и выводит результат их умножения.

После вывода результата умножения программа спрашивает, надо ли завершить выполнение. И если пользователь введет число 1, то программа завершает цикл. Если введено любое другое число, то программа продолжает спрашивать у пользователя два числа и умножать их.

import java.util.Scanner;

public class Program {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        int n = 0;
        do
        {
            System.out.println("Введите первое число: ");
            int num1 = in.nextInt();
            System.out.println("Введите второе число: ");
            int num2 = in.nextInt();
            System.out.printf("%d * %d = %d \n", num1, num2, num1 * num2);

            System.out.println("Для выхода из программы нажмите цифру 1, для подолжения любую другую цифру");
            n = in.nextInt();
        }
        while(n!=1);
		in.close();
    }
}
Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850