Пример решения задачи C с помощью цикла for



 

Вариант C.0.

Нужно написать программу, формирующую и выводящую в консоль узор из чисел по заданной схеме.

 

Ввод:

N = 5

Вывод:

5

4 5

3 4 5

2 3 4 5

1 2 3 4 5

 

Код программы:

 

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

 

publicclass Test_for1 {

 

publicstaticvoid main(String[] args) {

         

     int n;

     System.out.print("Введите n: ");

     try {

          BufferedReader br = new BufferedReader(new

               InputStreamReader(System.in));

          //Читаем из консоли

          String s = br.readLine();

          //конвертируемстрокувчисло

          n = Integer.parseInt(s);

     } catch (IOExceptione) {

          //Выводим сообщение об исключении в консоль

          System.out.println("IOException: "

                    +e.getMessage());

          // завершаемработупрограммы

          return;

     } catch (NumberFormatExceptione) {

          //Выводим сообщение об исключении в консоль

          System.out.println("NumberFormatException: "

               + e.getMessage());

          // завершаемработупрограммы

     return;

     }

                   

     // Формируем узор

     for (int i = n; i >= 1; i--) {              

          for (int j = i; j <= n; j++) {

               System.out.print(j + " ");

          }

          System.out.println();

     }        

}

}

 

 

Блок-схема для этого кода:

 

 

Рис. 4.12. Блок-схема задачи С с циклом for

Пример решения задачи C с помощью цикла do while

 

Кодпрограммы:

importjava.io.BufferedReader;

importjava.io.IOException;

import java.io.InputStreamReader;

 

 

publicclass Test_do_while {

 

publicstaticvoid main(String[] args) {      

     int n;

     System.out.print("Введите n: ");

     try {

          BufferedReader br = new BufferedReader(new

                    InputStreamReader(System.in));

          //Читаем из консоли

          String s = br.readLine();

          //конвертируемстрокувчисло

          n = Integer.parseInt(s);

     } catch (IOExceptione) {

          //Выводим сообщение об исключении в консоль

          System.out.println("IOException: "

                    +e.getMessage());

          // завершаемработупрограммы

          return;

     } catch (NumberFormatExceptione) {

          //Выводим сообщение об исключении в консоль

          System.out.println("NumberFormatException: "

                    +e.getMessage());

          // завершаем работу программы

          return;

     }

 

     // Формируем узор

     inti = n;

     do {

          int j = i;

              

          do {

               System.out.print(j + " ");

               j++;

          } while (j <= n);

              

          System.out.println();

          i--;

     } while (i>= 1);

         

}

 

}

 

Блок-схема выглядит так:

 

 

Рис. 4.13. Блок-схема задачи C с циклом dowhile


ВАРИАНТЫ ЗАДАЧ

 

Варианты задачи A (развилки)

 

Общие требования

 

При решении задачи AОБЯЗАТЕЛЬНО нужно использовать вложенныеразвилки. Нельзя использовать массивы, циклы, собственные функции.

Нужно организовать ввод с клавиатуры, вывод в консоль. Необходимо обеспечить обработку исключений.

В задаче нужно написать программу, и подготовить отчет, в котором нарисовать (от руки) блок-схему для этой программы.

Защита работы включает в себя демонстрацию работоспособности программы на разных входных данных, демонстрацию трассировки выполнения программы, переработкувложенных развилок в усеченные.

 

Варианты

 

0. Для введенного числа t (температура на улице в конце января) вывести прилагательное, характеризующее температуру качественно.

Если t>–5, то вывести «Тепло».

Если –5>= t>–20, то вывести «Нормально».

Если –20>= t, то вывести «Холодно».

 

1. По введенному номеру месяца вывести его название (7– июль, 11– ноябрь).

2. По введенному номеру определить цвет радуги (1 – красный, 4 – зеленый и т.д.)

3. По введенному номеру вывести соответствующую ноту (2 – «ре», 4 – «фа» и т.д.).

4. По введенному номеру определить день недели (1 – понедельник, 5 – пятница и т.д.).

5. Для введенного числа (от 1 до 5) вывести его название на русском и английском языках (1 – “один/one”) .

6. По введенному числу (от 1 до 10) вывести соответствующий числу элемент таблицы Менделеева(6 – С (Углерод), 8 – O (Кислород) и т.д.).

7. По коду региона вывести название региона. (для 6-8 регионов) (63 – Самарская область, 73 – «Ульяновская область» и т.д.).

8. По введенному номеру контакта USB вывести его название и цвет провода (1 – VCC/Красный, 4 – GND/Черный и т.д.).

9. По введенному номеру контакта VGA вывести название сигнала (1 – RED, 6 – RGND и т.д.).

 

10. По введенному номеру месяца, определить сезон года (1 – «зима», 3 – «весна» и т.д.).

11. Для любого товара вывести «дешево», «нормально», «дорого», «очень дорого» на основании его цены (данные взять реальные!).

12. По расстоянию в километрах указать «далеко», «близко» и т.п. находится город (200  – «не далеко»).

13. По времени ходьбы пешком до пункта B из пункта A вывести, насколько близко или далеко он находится (5 мин – «близко», 15 минут – «не далеко», 60 минут – «очень далеко» и т.п.).

14. По количеству баллов, набранных на ЕГЭ вывести оценку для аттестата (100 – «отлично»).

15. По количеству секунд, потребовавшихся студенту для преодоления дистанции в 400 м на уроке физкультуры, вывести, какую оценку он должен получить (цифры взять реальные).

16. По количеству подтягиваний на физкультуре вывести оценку от «неуд» до «отл».

17. По введенному времени в часах вывести время суток: «утро», «день», «вечер», «ночь». (13 – «День», 0 – «Ночь»).

18. По введенному числу в градусах (от 1 до 179) определить угол ( 30 – «острый», 90 – «прямой», 110 – «тупой» и т.д.).

19. По введенному возрасту вывести: от 0 до 12  – ребенок, от 13 до 19 – подросток, с 20 до 25 – молодой, с 25 до 55 – взрослый, от 55 и выше – пожилой.

 

20. Для введенного числа k вывести фразу «Мы нашли k грибов в лесу», согласовав слово «гриб» с числом k.

21. Составить программу, которая выводит введенный возраст человека с добавлением слов «год», «года», «лет» (41 год, 3 года, 20 лет).

22. Для целого числа d от 1 до 100, обозначающего денежную единицу, дописать слово «рубль» в правильной форме. (1 рубль, 2 рубля, 5 рублей и т.д.)

23. Для целого числа d от 1 до 100, обозначающего денежную единицу, дописать слово «доллар» в правильной форме. (1 доллар, 5 долларов, 24 доллара и т.д.)

24. Пользователь вводит целое число от –999 до +999. Вывести на экран, сколько в этом числе цифр и положительное оно или отрицательное. Например, «2 – это однозначное положительное число».

25. Ввести число от 1 до 999. Вывести строку описание – с указанием количества знаков и четностью или нечетностью. (74 – «четное двузначное число»).

26. Ввести 3 числа. Вывести вначале большее, а затем меньшее из них. (Ввод: 10 20 15 – Вывод: 20 10)

27. Определить, является ли данный год високосным. (Год является високосным, если его номер кратен 4, но не кратен 100, а также, если он кратен 400) (1990  –«не високосный», 2000 –«високосный»).

28. По введенной мощности двигателя легкового авто рассчитать и вывести сумму налога за автомобиль. (Источник –http://zakon-auto.ru/info/tnalog/ulyanovskaya-oblast.php).

29. В коробку помещается 12 пачек печенья. В ящик помещается 18 коробок. Вводится число d (от 1 до 999)– количество требуемых пачек печенья. Нужно вывести фразу «Вы заказали X пачек печенья. Ваш заказ будет доставлен в Y ящиках + Z коробок + W пачек». Нужно согласовать окончания слов с количеством ящиков и коробок. Например, для d=229 должна быть выведена фраза: «Вы заказали 229 пачек печенья. Ваш заказ будет доставлен в 1 ящике + 1 коробка + 1 пачка».

 

 


 

Варианты задачи B (циклы)

 

Общие требования

 

В каждом варианте требуется сделать 2 программы

B1. Решение с использованием DOWHILE.

B2. Решение с использованием WHILE

 

В задаче нужно написать программу и подготовить отчет, в котором нарисовать (от руки) блок-схему. 

Защита работы включает в себя демонстрацию работоспособности программ на разных входных данных, демонстрациютрассировки выполнения программ.

 

Варианты

 

0. Население города увеличивается на 3% каждый год. В 2013 году население города составляло 650000 человек. Напишите программу, которая выведет на экран предсказываемую численность населения города в каждом году, вплоть до 2040.

 

1. Дано целое число X — цена 1 кг конфет. Вывести стоимость 1, 2, 3, … , 10 кг конфет.

2. Банк начисляет на вклады 12% каждый год. Начисленные проценты присоединяются к основному вкладу. Напечатать таблицу увеличения суммы вклада на ближайшие 20 лет. Сумма вклада вводится с клавиатуры.

3. В начале года в банк положили X рублей. Банк начисляет на вклады 0,95% каждый месяц. Начисленные проценты присоединяются к основному вкладу. Напечатать таблицу увеличения суммы вклада по месяцам на год. Сумма вклада вводится с клавиатуры.

4. Напечатать таблицу перевода температуры из градусов по шкале Цельсия в градусы по шкале Фаренгейта для значений от 15°С до 38°С с шагом 1°С (перевод осуществляется по формуле F=1,8C+32)

5. Ввести два целых числа A и B (A<B). Вывести в порядке возрастания все целые числа, расположенные между A и B (включая сами числа A и B), а также количество N этих чисел.

6. Ввести два целых числа A и B (A<B). Вывести в порядке убывания все целые числа, расположенные между A и B (не включая числа A и B), а также количество N этих чисел.

7. Даны два целых числа A и B (A < B). Найти произведение всех целых чисел от A до B включительно.

8. Даны два целых числа A и B (A < B). Найти сумму квадратов всех целых чисел от A до B включительно.

9. Даны два целых числа A и B (A < B). Найти сумму кубов всех целых чисел от A до B включительно.

 

10. Дано целое число N> 0. Найти сумму 1 + 1/2 + 1/3 + … + 1/N (вещественное число).

11. Дано целое число N> 0. Найти квадрат данного числа, используя для его вычисления следующую формулу: N2 = 1 + 3 + 5 + … + (2·N – 1). После добавления к сумме каждого слагаемого выводить текущее значение суммы (в результате будут выведены квадраты всех целых чисел от 1 до N).

12. Дано вещественное число A и целое число N (N>0). Найти A в степени N,используя операцию умножения:

AN = A·A· … ·A (числа A перемножаются N раз).

13. Дано вещественное число A и целое число N (N>0). Используя один цикл, вывести все целые степени числа A от 1 до N.

14. Дано вещественное число A и целое число N (N>0). Используя один цикл, найти сумму 1 + A + A2 + A3 + … + AN.

15. Дано вещественное число A и целое число N(N>0). Используя один цикл, найти значение выражения 1 – A + A2 – A3 + … + (–1)N·AN. Условный оператор не использовать.

16. Дано целое число N(N>1). Вывести наименьшее из целых чисел K, для которых сумма 1 + 2 + … + K будет больше или равна N, и саму эту сумму.

17. Ввести число N. Вывести все квадраты натуральных чисел, не превосходящие данного числа N (N=50 – 1 4 9 16 25 36 49)

18. Даны натуральные числа от 20 до 50. Напечатать те из них, которые делятся на 3, но не делятся на 5.

19. Напечатать те из двузначных чисел, которые делятся на 4, но не делятся на 6.

 

20. Население двух стран в 2014 году равно N1 и N2человек соответственно. Прирост населения этих стран составляет P1 и P2 % в год соответственно. Население N1 <N2, а P1 >P2. Определить, в каком году население первой страны превзойдет население второй страны.

21. Ежегодный прирост рыбы в пруду составляет 15%. Запасы рыбы оценены в A тонн. Ежегодный план отлова B тонн. Наименьший запас рыбы, ниже которого запас уже не восстанавливается, составляет С тонн. Составить алгоритм и программу, подсчитывающую, сколько лет можно выдержать заданный план.

22. Для натурального числа N вывести все делители, кроме единицы и самого числа. (Ввод 12 – Вывод 2 3 4 6).

23. Выяснить,N является простым или составным числом. (Ввод 13 – Вывод «простое»).

24. Проверка гипотезы Сиракуз. Возьмем любое натуральное число. Если оно четное – разделим его пополам, если нечетное – умножим на 3, прибавим 1 и разделим пополам. Повторим эти действия с вновь полученным числом. Гипотеза гласит, что независимо от выбора первого числа рано или поздно мы получим 1.

25. В банк сделали 2 вклада – один вклад 100000 рублей под 10% годовых, второй 200000 рублей под 2% годовых. Вывести изменение суммы вкладов по годам до тех пор, пока сумма на первом вкладе не превысит сумму на втором.

26. Ввести число. Найти произведение его цифр.

27. Ввести число N (от 1 до 1 000 000 000). Проверить, является ли введенное число десятичным палиндромом (палиндром – это симметричный относительно своей середины набор символов). (1224 – не палиндром, 12321 – палиндром)

28. Вводится число. Преобразовать его в другое число, цифры которого будут следовать в обратном порядке по сравнению с введенным числом. (Ввод 125 – Вывод 521).

29. Ввести два двухзначных (от 10 до 99) числа:X – начало диапазона и Y – конец диапазона. Определить сумму всех цифр всех чисел диапазона. (Ввод X = 21 Y = 24 – Вывод S = (2 + 1) + (2 + 2) + + (2+3)+(2+4) = 18).

 


 


Дата добавления: 2018-04-04; просмотров: 622;