Задача 5.9 Составить псевдокод и программу.




Лабораторная работа 5

Темы: Псевдокод. Множественный выбор. Другие конструкции циклов.

Задача 5.0 (устно)

Ряд 1/12 + 1/22 +... + 1/N2 при N → ∞ сходится к π2/6.

Если int n = 1000000;, то какой из циклов посчитает сумму?

a. for (int i = 1; i <= N; i++) sum += 1 / (i*i);

b. for (int i = 1; i <= N; i++) sum += 1.0 / i*i;

c. for (int i = 1; i <= N; i++) sum += 1.0 / (i*i);

d. for (int i = 1; i <= N; i++) sum += 1 / (1.0*i*i);

 

Задача 5.1 Напечатать все четные числа от 0 до n

//Задать int n = 20

//Определить цикл, в котором параметр i «пробегает» от 0 до n

//В теле цикла проверять если текущее значение i четное, то печатать i

public class Vse_chetny {

public static void main(String[] args) {

int n = 20;

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

if(i % 2 == 0){

System.out.println(i);

}

}

} }

 

Задача 5.2 Задано число n. Найти его наибольший делитель, не равный n. (например n=30. Тогда наибольший делитель равен 15)

Идея: Начиная с n-1 перебирать натуральные числа i, сдвигаясь каждый раз на 1 влево по числовой оси и проверять делимость n на х

// Задать int n = 30

// Определить цикл, в котором параметр i «пробегает» от n-1 до 1

//В теле цикла проверять для текущего i условие (n%i==0)

//Если условие дает true, то печатать i и досрочно (break) выходить из //цикла, т.к. наибольший делитель найден.

public class Max_del {

public static void main(String[] args) {

int n = 30;

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

if(n % i == 0){

System.out.println(i);

}

}}

Вывод графиков функций

Находящийся внутри библиотеки stdlib.jar класс StdDraw, содержит методы для вывода в квадрант (0<= x <=1; 0<= y <=1) геометрических фигур: точки, отрезка, окружности и др.

 

 

 
 


Пример: график функции синус на отрезке числовой оси [0,10]

public class Grafic_sin {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

for (double x = 0; x<10.0; x+= 0.01){

double y = Math. sin (x);

StdDraw. point (x/10, (y+1)/2);

StdDraw. point (x/10, 0.5);

}

}

}

Задача 5.3 Создать программу, рисующую n случайных точек с координатами

x = Math.random();

y = Math.random();

 

Задача 5.4. Заменить в программе Задачи 5.3 точки на окружности с центрами в (x,y) и радиусами 0.01.

 

 

Задача 5.5 Создать программу, рисующую график функции у=x*sin(x) в [0,12]

 

Задача5.6 * (дополнительная)

Составить псевдокод и программу.

Найти и напечатать все простые делители целого положительного числа N
(N вводится с клавиатуры)


Дома.

 

Задача 5.7 Составить псевдокод и программу.

Для введенного с клавиатуры положительного целого числа N напечатать все степени 2-х, не превосходящие N

 

Задача 5.8 Оператор switch (разобрать самостоятельно)

Пусть тариф на оплату взятого напрокат автомобиля имеет вид

Количество дней проката Стоимость 1 дня
От 1 до 3  
От 3 до 7  
От 7 до 10  

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

 

Задача 5.9 Составить псевдокод и программу.

Для введенного с клавиатуры положительного целого числа N получить в формате String его бинарное представление и вывести в окно консоли.

Указание. Правило получения знаков бинарного представления справа налево:

1)текущее число делят на два

2)остаток приписывают слева к бинарному представлению

3)ненулевую целую часть объявляют текущим числом и переходят на 1)

Пример текущее число13

Текущее число Остаток Бинарное представление
     
     
     
     

 

Задача5.10. Используя метод random составить программу, отвечающую на вопрос «Какое из событий более вероятно (т.е. случается чаще): выпадение хотя бы одной единицы при подбрасывании кости 6 раз или выпадение хотя бы двух единиц при подбрасывании кости 12 раз

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-15 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: