Другие вопросы по: Информатика
- Ответов: 3
- 03.03.2019 15:50
- Ответов: 2
- 04.03.2019 04:30
- Ответов: 1
- 06.03.2019 22:30
- Ответов: 3
- 07.03.2019 20:20
- Ответов: 2
- 08.03.2019 09:50
- Ответов: 3
- 08.03.2019 20:20
Знаешь правильный ответ?
Что будет в результате выполнения программы: a = 20b = a + 4a = b * 100print(a)В качестве ответа вве.
Источник: vse-znaniya.com
Программирование на Java
На этой странице приведены задачи к разделу 3. В скобках указано, для какой темы та или иная задача. Для части задач дано решение, разобранное в учебнике, для других решения нет — его должны найти вы.
Совет. Для самопроверки задач на вычисления очень удобно использовать какой-либо инженерный калькулятор. В том числе есть варианты онлайн, например, wolframaplha — там нужно просто написать выражение в окно ввода, и сразу будет ответ. Например, для задачи «посчитать 1-2+3-4+5-6» можно ввести этот же текст в окно ввода и получить ответ -3, см. https://www.wolframalpha.com/input/?i=1-2%2B3-4%2B5-6 Программа не только всё посчитает, но ещё и покажет результат расчета по шагам, что тоже может помочь.
1 год, 3 года, 10 лет
Кстати, если вдруг вам сложно установить Eclipse, Netbeans или IntelliJIdea, то можно сразу пробовать программировать в компиляторах онлайн. Вот например, https://www.jdoodle.com/online-java-compiler/.
Задача 1.3.1 (есть в учебнике, тема 1). Как сделать так, чтобы этот код печатал числа не от 0 до 99, а от 50 до 201?
// Заведем переменную i целого типа и равную нулю int i = 0; // знак цикла while означает // «повторяй блок кода < … >пока верно условие внутри скобок», то есть (i < 100) while (i < 100) < System.out.println (i); // распечатать текущее значение i i = i + 1; // увеличить i на 1 >
В первой строчке объявлена переменная счётчик, которую мы будем постоянно печатать в цикле. Раз уж нам нужны числа от 50, то придадим переменной i новое начальное значение:
int i = 50;
while (i // условие поменяем, чтобы дойти до 201 включительно
System.out.println (i); // сама печать
i ++;
>
Задача 1.3.2 (есть в учебнике, тема 2). Что будет напечатано по итогу выполнения этого кода и почему?
int x = 10; int y = 100; for ( ; x < y; x += 20, y —) ; System.out.println («x равен » + x + » ; y равен » + y);
Правильный вывод программы
x равен 110 ; y равен 95
Объяснение
Сначала x = 10, y = 100. В цикле x каждый раз увеличивается на 20, в то же время y уменьшается на 1. Рассмотрим значения переменных на каждом обороте цикла:
1) x равен 10 ; y равен 100
2) x равен 30 ; y равен 99
3) x равен 50 ; y равен 98
4) x равен 70 ; y равен 97
Мир будущего // Каким будет мир в 2050? // Города будущего // Еда будущего // Будущее цивилизации
5) x равен 90 ; y равен 96
В последний раз выполнена операция, условие стало неверным и после цикла на печати будет выведено: x равен 110 ; y равен 95 .
Пример 1.3.3 (есть в учебнике, тема 3) Посчитаем сумму чисел 1, 2, …, 9.
int i = 1; //заведем переменную, в которой будем накапливать результат: int sum = 0; while (i < 10) < sum += i; // увеличить значение суммы на величину i=1,2,…9 i ++; >System.out.println («Сумма равна» + sum);
В этом примере мы использовали базовый приём — кроме переменной счётчика, которая позволяет сделать последовательность 1,2,3. мы ввели отдельную переменную для хранения результата. Сейчас это сумма всех чисел, и мы назвали эту переменную sum. В начале она равна нулю. На первом обороте к ней прибавляется i=1, на втором i=2, и так постепенно накапливается результат суммирования всех нужных чисел 1+2+3+4+5+6+7+8+9.
В последующих примерах мы часто будем вводить свою переменную для хранения результата, и другие переменные для хранения всех промежуточных расчетов. Так что делайте переменных, сколько вам нужно, под каждый расчёт.
Пример 1.3.4 (есть в учебнике, тема 3). Посчитаем сумму нескольких чётных чисел 8+10+12+14.
Правильный вывод программы
//заведем переменную, в которой будем накапливать результат: int sum = 0; // ясно, что нужно добавить каждое второе число, пишем i += 2 for (int i = 8; i
Пример 1.3.5 (есть в учебнике, тема 3). Посчитаем произведение 4*8*12*16*20. То есть нужно все эти числа перемножить между собой.
Правильный вывод программы
// заведем переменную, в которой будем накапливать результат: // product по-английски «произведение» int prod = 1; // начальное значение 1, а не 0, иначе 0 умножить на любое число опять 0. // ясно, что нужно добавить каждое четвертое число, пишем i += 4 for (int i = 4; i
Пример 1.3.6 (есть в учебнике, тема 3). Посчитаем выражение 1-2+3-4+5-6.
Правильный вывод программы
// заведем переменную, в которой будем накапливать результат: int sum = 0; int znak = 1; // чтобы получить смену знака будем умножать znak на -1 for (int i = 1; i System.out.println (sum);
Пример 1.3.7 (есть в учебнике, тема 3). Посчитаем значения последовательности чисел по такому правилу:
a1 = 5,
a2 = a1*3 + 1,
a3 = a2*3 + 1,
…
a100 = a99*3 + 1.
Если a100 больше 2000000000000000000l, то вывести на экран фразу «до фига получилось!» 🙂 Также вывести количество пройденных оборотов цикла.
Такие последовательности будут нужны, если вас интересует набор чисел, заданных любым соотношением и следующее вычисляется из предыдущего по известному правилу. В коде это выглядит так же, как и в задании:
Правильный вывод программы
До фига получилось!
Оборотов цикла было 100
// Заведем переменную, чтобы хранить очередное число a long a = 5; // именно long, а не int, иначе будет превышен лимит типа данных int i = 1; while (i // Переменные живут дальше после цикла, // можно анализировать работу цикла по их значениям // l в конце числа указывает на тип long, иначе число слишком большое для int if (a > 2000000000000000000l) < System.out.println («До фига получилось!»); System.out.println («Оборотов цикла было » + (i-1)); // (i-1) так как последний i++ уже лишний // Сейчас будет 100 оборотов, но если в будущем обрывать цикл с помощью break, // то уже будет неизвестно заранее, сколько на самом деле прошло оборотов.
Пример 1.3.8 (есть в учебнике, тема 3).
Распечатайте на экран вопрос, «Сколько будет 4*5?». Введите число с ответом клавиатуры. Если пользователь ответил правильно, то поздравьте его и завершите программу. Если же пользователь ответил неверно, то переспросите его, введите новое число, снова проверьте на правильность ответ и так далее, пока не ответит правильно.
Важно понимать – вы можете заставить программу повторить любой набор действий много раз, а не только вычислять что-либо в цикле.
// заведем объект scan класса Scanner для работы с клавиатурой Scanner scan = new Scanner (System.in); //спросим System.out.println («Сколько будет 4*5?»); int ans = 0; // ans от слова answer — ответ пользователя do < ans = scan.nextInt (); if (ans == 20) < System.out.println («Снимаю шляпу 🙂 пока!»); break; // завершить цикл, если человек угадал >// продолжить спрашивать до бесконечности System.out.println («Неверно, попробуйте ещё»); > while (true); // true всегда равно правде, поэтому цикл вечный
Пример 1.3.9 (есть в учебнике, тема 3). Напишите калькулятор. Предложите пользователю ввести число, затем знак одной из арифметических операций +,-,*,/ . Введите ещё число, выполните операцию, распечатайте результат и предложите ввести новую. Если пользователь введёт q, то остановите программу.
Вариант работы программы:
Остановка программы буквой q
Введите число
10
Введите операцию
—
Введите число
100
Результат -90
Введите операцию
*
Введите число
2
Результат -180
Введите число
q
Окончательный результат -180
Пример 1.3.10 (есть в учебнике, тема 4). Распечатайте в программе таблицу умножения чисел от 1 до 10. На экране должно получиться:
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
System.out.println («Это таблица умножения!»); for (int a = 1; a < 10; a ++) < //внутри первого цикла можно сделать 2ой for (int b = 1; b < 10; b ++) System.out.print (» » + a*b); //печатаем числа через пробел System.out.println (); //поставить enter для новой строчки >
Пример 1.3.11 (есть в учебнике, тема 4). Распечатать символ a, так что в первой строке всего один символ, во второй — два, в третьей — три, и так далее до 5.
Будет вот так:
a
aa
aaa
aaaa
aaaaa
for (int i = 1; i System.out.println (); // поставить enter для новой строчки >
Пример 1.3.12 (есть в учебнике, тема 4). Распечатать символ a, так что в первой строке всего один символ, во второй — два, в третьей — три, и так далее до 5. Распечатать последовательно три таких «пирамидки».
int k = 0; while (k < 3) < //внутренние циклы те же, что и выше for (int i = 1; i System.out.println (); //поставить enter для новой строчки > k ++; >
Пример 1.3.13 (есть в учебнике, тема 4). Аналогично предыдущему примеру 1.3.11 распечатать контур пирамидки. То есть должно получиться:
a a a a a
for (int i = 1; i System.out.println(‘a’); //поставить ‘a’ и enter для новой строчки >
Пример 1.3.14 (Тема 1-3). С помощью цикла вычислите:
а) 1+2+3+4
б) 1+2+3+4+5+6+. +100
в) 2+4+6+8
г) 2+4+6+8 + . + 100
д) 3+4+5+6+7+8+9+. +100
е) (2+4+8+16+32+64+128)*100
Вывод программы
а) 10
б) 5050
в) 20
г) 2550
д) 5047
е) 25400
Пример 1.3.15 (Тема 1-3). С помощью цикла рассчитайте значение выражений:
а) 10+20+30+40 (ответ равен 100) б) 10+20+30+40+. +100 (ответ равен 550) в) 30+40+. +100 (ответ равен 520) г) 3+6+9+12+15+18 (ответ равен 63) д) 2 + 4 + 8 + 16 + 32 + 64 + 128 //каждый раз умножаем слагаемое на 2 е) 4 + 9 + 16 + 25 + 36 + 49 + 64 (ответ равен 89439.0) //каждый раз возводим слагаемое в квадрат ж) 10 -20 +30 — 40 +50 — 60 + 70 //то плюс, то минус з) 100 — 99 -98 -97 — 96 -. — 3 -2 -1 //не всё здесь нужно пихать в цикл и можно использовать прошлые задачи как готовые блоки
Вывод программы
а) 100
б) 550
в) 520
г) 63
д) 254
е) 89439.0
ж) 40.0
з) -4850
Пример 1.3.16 (Тема 1-3). Вычислить последовательно числа и все вывести на экран:
a1 = 10 a2 = 10 + a1 a3 = 10 + a2 . a100 = 10 + a99
Вывод программы
В консоли это будет выглядеть примерно так:
Это a1 и она равна 10
Это a2 и она равна 20
Это a3 и она равна 30
.
int a = 10;
int i = 1; // это просто счетчик
while(i<=100)<
a=a+10;
System.out.println(«Это a»+i + » и она равна » + a);
i++;
>
Пример 1.3.17 (Тема 1-3). Вычислите последовательно числа (даны ниже) и выведите их на экран, и также посчитайте их сумму. То есть конкретно посчитайте a1+a2+a3+. +a10
Уточните, что результат укладывается в максимальное значение выбранного вами типа данных и что дробная часть нигде не отброшена.
Имейте в виду, что a1, a2, a3 нужно не только вычислить по отдельности, но ещё и сложить их всех между собой в какой-то отдельной переменной, чтобы посчитать сумму. Значение результата может не поместиться в double — оцените, начиная с какого номера a становится Infinity. Infinity обозначает бесконечность и это уже не обычное число, это значит, что программа работает не нормально. Старайтесь исправлять ситуации в боевых ситуациях, чтобы не приходилось иметь дело с такими огромными числами, а пока просто познакомимся с ними.
a1 = 5 a2 = sqrt ( 10+ a1*a1*a1/1000000 ) + 2* a1*a1 a3 = sqrt ( 10+ a2*a2*a2/1000000 ) + 2* a2*a2 . a10 = sqrt ( 10+ a99*a99*a99/1000000 ) + 2* a99*a99
Источник: progtoday.ru
Что будет в результате выполнения программы a 10 b 20
Пожалуйста, подождите,
пока Ваш запрос будет обработан
![]() |
Доступ к полному тексту документа открыт |
![]() |
Полный текст доступен на сайте издателя |
![]() |
Полный текст может быть получен через систему заказа |
![]() |
Доступ к полному тексту закрыт |
— | Если иконки нет — полный текст документа отсутствует в НЭБ |
Источник: elibrary.ru