четверг, 22 сентября 2011 г.

Второе домашнее задание для группы из Салавата


Комментарий: это такие задачки, в которых хорошо отрабатываются навыки "разборки" вводимого с клавиатуры числа на составные части и составления из полученных частей новых значений (чисел).
Предполагается, что задачи рассчитаны на "умного пользователя": то есть, если в тексте сказано "вводится двузначное число", то программу можно (пока!) писать из расчета, что именно такое число и водится.
И еще: ребята, я обещал вам задачи на циклы -- выставлю их через пару дней -- очень жду решений этих задач. Уверен, что все пойдет успешно!

1. Назовем "весом числа" сумму его цифр. Напиши класс (программу) которая принимает с клавиатуры число (двузначное) число и выводит на экран его "вес".

2. Назовем "весом числа" сумму его цифр. Напиши класс (программу) которая принимает с клавиатуры число (трехзначное) число и выводит на экран его "вес".

3. Назовем "длиной двузначного числа" разницу между числом десятков (первая цифра) и числом единиц (вторая цифра). Напиши класс (программу) которая принимает с клавиатуры двузначное число и выводит на экран его "длину".

4. Назовем "перестановкой" операцию над числом, при котором его первая и последняя цифры меняются местами. Например, из числа 1234 получается число 4231. Напиши программу, которая принимает с клавиатуры трехзначное число и строит из него новое число методом "перестановки".

5. Напиши программу, которая выполняет перестановку над четырехзначным числом.

6. Назовем "линейным сдвигом числа влево" операцию, при котором его цифры перемещаются на одну позицию влево (единицы – на место десятков, десятки – на место сотен, сотни – на место тысяч и так далее) – при этом первая цифра удаляется из числа, а на место единиц записывается ноль.
Например, из числа 1234 после такой операции получается число 2340. Напиши класс (программу) которая принимает с клавиатуры трехзначное число и строит новое число, полученное "линейным сдвигом влево".

7. Напиши класс (программу) которая выполняет "линейный сдвиг влево" для четырехзначного числа.

8. Назовем "сдвигом числа влево по кругу" операцию, при котором его цифры перемещаются на одну позицию влево (единицы – на место десятков, десятки – на место сотен, сотни – на место тысяч и так далее) – при этом первая цифра перемещается на место единиц.
Например, из числа 1234 получается число 2341.
Напиши программу, которая принимает с клавиатуры трехзначное число и строит новое число, полученное "сдвигом влево по кругу".

9. Напиши класс (программу) которая выполняет "сдвиг влево по кругу" для четырехзначного числа.

10. Назовем "сдвигом числа вправо по кругу" операцию, при которой все цифры числа сдвигаются вправо, а число единиц (последняя цифра) перемещается в старший разряд числа (первая цифра).
Например, из числа 1234 получается число 4123.
Напиши программу, которая принимает с клавиатуры трехзначное число и строит новое число, полученное "сдвигом вправо по кругу".

11. Напиши класс (программу) которая выполняет "сдвиг вправо по кругу" для четырехзначного числа.

5 комментариев:

  1. Здравствуйте! Хотелось бы поделиться своим решением задач

    Задание №1
    import java.util.*;
    class Zadanie_1
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x1,x2,s;
    x=reader.nextInt ();
    x1=(x/10);
    x2=(x%10);
    s=x1+x2;
    System.out.println ("Вес данного числа равен "+s);
    }
    }

    Задание №2
    import java.util.*;
    class Zadanie_2
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x1,x2,x3,s;
    x=reader.nextInt ();
    x1=(x/100);
    x2=((x/10)%10);
    x3=(x%10);
    s=x1+x2+x3;
    System.out.println ("Вес данного числа равен "+s);
    }
    }

    Задание №3
    import java.util.*;
    class Zadanie_3
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x1,x2,d;
    x=reader.nextInt ();
    x1=(x/10);
    x2=(x%10);
    d=x1-x2;
    System.out.println ("Длина данного числа равна "+d);
    }
    }

    Задание №4
    import java.util.*;
    class Zadanie_4
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x1,x2,x3;
    x=reader.nextInt ();
    x1=(x/100);
    x2=((x/10)%10);
    x3=(x%10);
    System.out.println ("Новое число "+x3+x2+x1);
    }
    }

    Задание №5
    import java.util.*;
    class Zadanie_5
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x1,x2,x3,x4;
    x=reader.nextInt ();
    x1=(x/1000);
    x2=((x/100)%10);
    x3=((x/10)%10);
    x4=(x%10);
    System.out.println ("Новое число "+x4+x2+x3+x1);
    }
    }

    Задание №6
    import java.util.*;
    class Zadanie_6
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x2,x3;
    x=reader.nextInt ();
    x2=((x/10)%10);
    x3=(x%10);

    System.out.println ("Новое число "+x2+x3+0);
    }
    }

    ОтветитьУдалить
  2. По поручению Annie Black из Салавате -- остальные решения заданий (ею же и сделанные)

    Задание №7
    import java.util.*;
    class Zadanie_7
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x2,x3,x4;
    x=reader.nextInt ();
    x2=((x/100)%10);
    x3=((x/10)%10);
    x4=(x%10);
    System.out.println ("Новое число "+x2+x3+x4+0);
    }
    }

    Задание №8
    import java.util.*;
    class Zadanie_8
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x1,x2,x3;
    x=reader.nextInt ();
    x1=(x/100);
    x2=((x/10)%10);
    x3=(x%10);
    System.out.println ("Новое число "+x2+x3+x1);
    }
    }

    Задание №9
    import java.util.*;
    class Zadanie_9
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x1,x2,x3,x4;
    x=reader.nextInt ();
    x1=(x/1000);
    x2=((x/100)%10);
    x3=((x/10)%10);
    x4=(x%10);
    System.out.println ("Новое число "+x2+x3+x4+x1);
    }
    }

    Задание №10
    import java.util.*;
    class Zadanie_10
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x1,x2,x3;
    x=reader.nextInt ();
    x1=(x/100);
    x2=((x/10)%10);
    x3=(x%10);
    System.out.println ("Новое число "+x3+x1+x2);
    }
    }

    Задание №11
    import java.util.*;
    class Zadanie_11
    {
    static Scanner reader = new Scanner (System.in);
    public static void main (String [] args)
    {
    System.out.println ("Введите число");
    int x,x1,x2,x3,x4;
    x=reader.nextInt ();
    x1=(x/1000);
    x2=((x/100)%10);
    x3=((x/10)%10);
    x4=(x%10);
    System.out.println ("Новое число "+x4+x1+x2+x3);
    }
    }

    ОтветитьУдалить
  3. Этот комментарий был удален автором.

    ОтветитьУдалить
  4. Этот комментарий был удален автором.

    ОтветитьУдалить
  5. Тут некоторые задания объединены, но там по имени класса можно понять

    import java.util.*;
    class z3_1_and_2
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[]args)
    {
    int a,s;
    a=reader.nextInt();
    s=0;
    if ((a>=10)&&(a<=99)) s=(a%10)+(a/10);
    else if ((a>=100)&&(a<=999)) s=(a%10)+((a/10)%10)+(a/100);
    System.out.println("Вес числа - "+s);
    }
    }

    import java.util.*;
    class z3_3
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[]args)
    {
    int a,l;
    a=reader.nextInt();
    l=(a/10)-(a%10);
    System.out.println("Длина числа - "+l);
    }
    }

    import java.util.*;
    class z3_4_and_5
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[]args)
    {
    int a,b;
    a=reader.nextInt();
    b=0;
    if ((a>=100)&&(a<=999)) b=a+99*(a%10)-99*(a/100);
    else if ((a>=1000)&&(a<=9999)) b=a+999*(a%10)-999*(a/1000);
    System.out.println("Новое число - "+b);
    }
    }

    import java.util.*;
    class z3_6_and_7
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[]args)
    {
    int a,b;
    a=reader.nextInt();
    b=0;
    if ((a>=100)&&(a<=999)) b=(a%100)*10;
    else if ((a>=1000)&&(a<=9999)) b=(a%1000)*10;
    System.out.println("Новое число - "+b);
    }
    }

    import java.util.*;
    class z3_8_and_9
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[]args)
    {
    int a,b;
    a=reader.nextInt();
    b=0;
    if ((a>=100)&&(a<=999)) b=(a%100)*10+(a/100);
    else if ((a>=1000)&&(a<=9999)) b=(a%1000)*10+(a/1000);
    System.out.println("Новое число - "+b);
    }
    }

    import java.util.*;
    class z3_10_and_11
    {
    static Scanner reader=new Scanner(System.in);
    public static void main(String[]args)
    {
    int a,b;
    a=reader.nextInt();
    b=0;
    if ((a>=100)&&(a<=999)) b=(a/10)+(a%10)*100;
    else if ((a>=1000)&&(a<=9999)) b=(a/10)+(a%10)*1000;
    System.out.println("Новое число - "+b);
    }
    }

    ОтветитьУдалить