Ю3.11

Ковальський Олександр Дмитрович
Ковальський Олександр Дмитрович

Latest posts by Ковальський Олександр Дмитрович (see all)

Задача.

Получить таблицу пересчета миль в километры и обратно (1 миля=1,609344 км) для расстояний,не превышающих км, в следующем виде:

мили км
0,6214 1,0000
1,0000 1,6093
1,2428 2,0000
1,8641 3,0000
2,0000 3,2187

Тесты.

Ввод Вывод
k
3 mile     km
0.6214 1.0000
1.0000 1.6093
1.2427 2.0000
1.8641 3.0000
7 mile     km
0.6214 1.0000
1.0000 1.6093
1.2427 2.0000
1.8641 3.0000
2.0000 3.2187
2.4855 4.0000
3.0000 4.8280
3.1069 5.0000
3.7282 6.0000
4.0000 6.4374
4.3496 7.0000
0 mile      km
3.3 mile     km
0.6214 1.0000
1.0000 1.6093
1.2427 2.0000
1.8641 3.0000
2.0000 3.2187

 

 

 

Решение.

 

Читаем значение k. В цикле имеем два значения n  и i, значение  увеличиваем в каждом витке цикла, а значение  тогда, когда значение [latex]i/1.609344[/latex] превысит значение n. Пока этого не произошло печатаем значения соответствующие км и [latex]i/1.609344[/latex] милям. Когда-же значение [latex]i/1.609344[/latex] превысило значение n проверяем, если значение [latex]n\times 1.609344[/latex] меньше или равно печатаем строку, где значения миль равно n, а значение км [latex]n\times 1.609344[/latex], потом проверяем если значение i  меньше или равно значению k, то печатаем строку, где значение миль равно[latex]i/1.609344[/latex]а значение км равно i. То есть для подсчёта целых значений миль используем параметр n, а для подсчёта целых значений км параметр i.

Ю1.1

Ковальський Олександр Дмитрович
Ковальський Олександр Дмитрович

Latest posts by Ковальський Олександр Дмитрович (see all)

Задача.

Из градусов в радианы. Угол α задан в градусах, минутах и секундах. Найти его величину в радианах(с максимально возможной точностью).

Тесты.

Ввод Вывод
градусы(grad) минуты(min) Секунды(sec) радианы(rad)
0 0 0 0
90 0 0 1.570796326794897
179 59 60 3.141592653589793
-270 0 0 -4.7123889803847

 

 

 

 

Решение.

Обозначим через переменные grad, min,  sec  число градусов, минут, секунд.

1 градус= 60 минут= 3600 секунд.

Сначала проверяем число градусов больше 3600  или нет. Если меньше то ничего не меняем, а если больше то от числа градусов отнимаем 360 до тех пор пока оно не станет меньше 360. После используем формулы перевода градусов, минут и секунд в радианы:

[latex]\mathit{rad=grad\frac{\pi }{180}}[/latex]

 

[latex]\mathit{rad=min\frac{\pi }{180}/60}[/latex]

 

[latex]\mathit{rad=sec\frac{\pi }{180}/3600}[/latex]

Если число градусов положительно то используем конечную формулу:

[latex]\mathit{rad=grad\frac{\pi }{180}+min\frac{\pi }{180}/60+sec\frac{\pi }{180}/3600}[/latex]

Если же оно отрицательно то используем другую формулу:

[latex]\mathit{rad=grad\frac{\pi }{180}-min\frac{\pi }{180}/60-sec\frac{\pi }{180}/3600}[/latex]

 

Ю1.3

Вустянюк Ігор Дмитрович
Вустянюк Ігор Дмитрович

Latest posts by Вустянюк Ігор Дмитрович (see all)

Задача.

Длина отрезка задана в дюймах (1 дюйм = 2,54 см). Перевести значение длины в метрическую системы, т.е. выразить её в метрах, сантиметрах и миллиметрах. Например, 21 дюйм = 0 м 53 см 3,4 м.

Тесты.

Ввод Вывод
0 0 м  0 см  0 мм
0.3 0 м  0 см  7.62 мм
21 0 м  53 см  3.4 мм
40.5 1 м  2 см  8.7 мм
100 2 м  54 см  0 мм
5000 127 м  0 см  0 мм

Код.

Ideone (C++)

Код (Java)

Ideone (Java)

Решение.

Обозначим через  [latex] x [/latex]  длину в дюймах, которую вводит пользователь; через   [latex] y [/latex]  длину в миллиметрах.  Согласно формуле перевода,  [latex] y = 25.4 \cdot x[/latex].

Один метр есть тысяча миллиметров. Чтобы получить целое число метров, содержащихся в   [latex] y[/latex] , разделим   [latex] y[/latex]  на тысячу и извлечём целую часть:    [latex] m = \left[\frac{x}{1000} \right][/latex].

Один сантиметр есть десять миллиметров. Избавимся от метров, разделим полученное число на десять и извлечём целую часть — получим целое число сантиметров, содержащихся в   [latex] y [/latex]:  [latex] y = \left[\frac{y-1000\cdot m}{10} \right] [/latex]

Оставшееся — число миллиметров:   [latex] mm = y — 1000 \cdot m — 10 \cdot cm [/latex] .