Половина куба калибра что это
I Portal
IT новости | теория | практика
Решение задач по SQL
Знание SQL необходимо любому back-end разработчику, независимо от языка программирования. В данном выпуске продемонстрирован список вариантов решений задач популярного сайта sql-ex.ru.
Перед выполнением задач, необходимо понимать структуру sql запроса:
Оператор HAVING позволяет выполнить фильтрацию групп, то есть определяет, какие группы будут включены в выходной результат.
1. Найдите номер модели, скорость и размер жесткого диска для всех ПК стоимостью менее 500 дол. Вывести: model, speed и hd
select model, speed, hd from pc where price 1000
4. Найдите все записи таблицы Printer для цветных принтеров.
Select * from printer where color = ‘y’
5. Найдите номер модели, скорость и размер жесткого диска ПК, имеющих 12x или 24x CD и цену менее 600 дол.
Select model, speed, hd from pc where (cd = ’12x’ or cd = ’24x’) and price = 10
7. Найдите номера моделей и цены всех имеющихся в продаже продуктов (любого типа) производителя B (латинская буква).
Select distinct p.model, pc.price from product p join pc on p.model = pc.model where maker = ‘B’ union Select distinct p.model, l.price from product p join laptop l on p.model = l.model where maker = ‘B’ union Select distinct p.model, pr.price from product p join printer pr on p.model = pr.model where maker = ‘B’
8. Найдите производителя, выпускающего ПК, но не ПК-блокноты.
select maker from product where type = ‘pc’ except select maker from product where type = ‘laptop’ или select distinct maker from product where type = ‘pc’ and maker not in (SELECT maker from product where type = ‘laptop’)
9. Найдите производителей ПК с процессором не менее 450 Мгц. Вывести: Maker
Select distinct p.maker from product p join pc pc on p.model = pc.model where pc.speed >= ‘450’
10. Найдите модели принтеров, имеющих самую высокую цену. Вывести: model, price
SELECT DISTINCT model, price FROM printer where price = (SELECT MAX(price) FROM printer)
11. Найдите среднюю скорость ПК.
SELECT AVG(speed) FROM PC
12. Найдите среднюю скорость ПК-блокнотов, цена которых превышает 1000 дол.
Select AVG(speed) from laptop where price > ‘1000’
13. Найдите среднюю скорость ПК, выпущенных производителем A
Select avg(pc.speed) from pc join product p on pc.model = p.model where maker = ‘A’
14. Найдите класс, имя и страну для кораблей из таблицы Ships, имеющих не менее 10 орудий.
Select s.class, s.name, c.country from classes c join ships s on c.class = s.class where numguns >= ’10’
15. Найдите размеры жестких дисков, совпадающих у двух и более PC. Вывести: HD
SELECT hd FROM PC group by hd having count(model) >= 2
16. Найдите пары моделей PC, имеющих одинаковые скорость и RAM. В результате каждая пара указывается только один раз, т.е. (i,j), но не (j,i), Порядок вывода: модель с большим номером, модель с меньшим номером, скорость и RAM.
SELECT DISTINCT A.model AS model, B.model AS model, A.speed As speed, A.ram As ram FROM PC AS A, PC B WHERE A.speed = B.speed AND A.ram = B.ram AND A.model > B.model
17. Найдите модели ПК-блокнотов, скорость которых меньше скорости каждого из ПК. Вывести: type, model, speed
SELECT DISTINCT type, model, speed
FROM Laptop, (SELECT type FROM Product) AS Prod(type) WHERE speed = 3
21. Найдите максимальную цену ПК, выпускаемых каждым производителем, у которого есть модели в таблице PC.
Вывести: maker, максимальная цена.
Select p.maker, max(pc.price) as max_price from product p join pc pc on p.model = pc.model group by maker
22. Для каждого значения скорости ПК, превышающего 600 МГц, определите среднюю цену ПК с такой же скоростью. Вывести: speed, средняя цена.
Select speed, avg(price) from pc where speed > ‘600’ group by speed
23. Найдите производителей, которые производили бы как ПК
со скоростью не менее 750 МГц, так и ПК-блокноты со скоростью не менее 750 МГц. Вывести: Maker
Select p.maker from product p join pc pc on p.model = pc.model where pc.speed >= ‘750’ intersect Select p.maker from product p join laptop l on p.model = l.model where l.speed >= ‘750’
24. Перечислите номера моделей любых типов, имеющих самую высокую цену по всей имеющейся в базе данных продукции.
WITH all_model AS (
SELECT model, price FROM pc
UNION ALL
SELECT model, price FROM printer
UNION ALL
SELECT model, price FROM laptop )
SELECT distinct model
FROM all_model WHERE price = ALL ( SELECT max(price) FROM all_model)
25. Найдите производителей принтеров, которые производят ПК с наименьшим объемом RAM и с самым быстрым процессором среди всех ПК, имеющих наименьший объем RAM. Вывести: Maker
select distinct p.maker from product p join pc on p.model = pc.model where pc.ram = (select min(ram) from pc) and pc.speed = (SELECT MAX(speed) FROM pc WHERE ram = (SELECT MIN(ram) FROM pc)) and p.maker in (SELECT maker FROM product WHERE type = ‘printer’)
26. Найдите среднюю цену ПК и ПК-блокнотов, выпущенных производителем A (латинская буква). Вывести: одна общая средняя цена.
SELECT AVG(price) as Avg_price FROM (SELECT price
FROM PC WHERE model IN (SELECT model FROM product WHERE maker=’A’ AND type=’PC’) UNION ALL SELECT price
FROM Laptop
WHERE model IN (SELECT model FROM product WHERE maker=’A’ AND
type=’Laptop’)
) AS prods
27. Найдите средний размер диска ПК каждого из тех производителей, которые выпускают и принтеры. Вывести: maker, средний размер HD.
SELECT p.maker, avg(pc.hd) from product p join pc pc on p.model = pc.model WHERE pc.model IN (SELECT model FROM pc) AND maker IN (
SELECT maker FROM product WHERE type=’printer’) group by maker или select p.maker, avg(pc.hd) as avg_hd from product p join pc on p.model = pc.model where p.maker in (select maker from product where type = ‘printer’) group by p.maker
28. Используя таблицу Product, определить количество производителей, выпускающих по одной модели.
select count(maker) as qty from (SELECT distinct maker
FROM product group by maker having count(model) = 1) AS prod или select distinct count(maker) as qty from product where maker in (Select maker from product group by maker having count(model) = 1)
29. В предположении, что приход и расход денег на каждом пункте приема фиксируется не чаще одного раза в день [т.е. первичный ключ (пункт, дата)], написать запрос с выходными данными (пункт, дата, приход, расход). Использовать таблицы Income_o и Outcome_o.
Select i.point, i.date, inc, out from income_o i left join outcome_o o on i.point = o.point and i.date = o.date
union
Select o.point, o.date, inc, out from income_o i right join outcome_o o on i.point = o.point and i.date = o.date
30. В предположении, что приход и расход денег на каждом пункте приема фиксируется произвольное число раз (первичным ключом в таблицах является столбец code), требуется получить таблицу, в которой каждому пункту за каждую дату выполнения операций будет соответствовать одна строка.
Вывод: point, date, суммарный расход пункта за день (out), суммарный приход пункта за день (inc). Отсутствующие значения считать неопределенными (NULL).
select point, date, SUM(sum_out), SUM(sum_inc)
from( select point, date, SUM(inc) as sum_inc, null as sum_out from Income Group by point, date
Union
select point, date, null as sum_inc, SUM(out) as sum_out from Outcome Group by point, date ) as t
group by point, date order by point
31. Для классов кораблей, калибр орудий которых не менее 16 дюймов, укажите класс и страну.
Select class, country from classes where bore >= ’16’
32. Одной из характеристик корабля является половина куба калибра его главных орудий (mw). С точностью до 2 десятичных знаков определите среднее значение mw для кораблей каждой страны, у которой есть корабли в базе данных.
Select country, cast(avg((power(bore,3)/2)) as numeric(6,2)) as weight
from (select country, classes.class, bore, name from classes left join ships on classes.class=ships.class
union all
select distinct country, class, bore, ship from classes t1 left join outcomes t2 on t1.class=t2.ship
where ship=class and ship not in (select name from ships) ) a
where name!=’null’ group by country
33. Укажите корабли, потопленные в сражениях в Северной Атлантике (North Atlantic). Вывод: ship.
Select ship from outcomes where result = ‘sunk’ and battle = ‘North Atlantic’
34. По Вашингтонскому международному договору от начала 1922 г. запрещалось строить линейные корабли водоизмещением более 35 тыс.тонн. Укажите корабли, нарушившие этот договор (учитывать только корабли c известным годом спуска на воду). Вывести названия кораблей.
Select distinct name from classes, ships where launched >=1922 and displacement>35000 and type=’bb’ and
ships.class = classes.class
35. В таблице Product найти модели, которые состоят только из цифр или только из латинских букв (A-Z, без учета регистра).
Вывод: номер модели, тип модели.
Select model, type from product where model NOT LIKE ‘%[^0-9]%’ OR model NOT LIKE ‘%[^a-z]%’
36. Перечислите названия головных кораблей, имеющихся в базе данных (учесть корабли в Outcomes).
Select distinct c.class from classes c join outcomes o on c.class = o.ship
union
Select distinct c.class from classes c join ships s on c.class = s.class where s.class = s.name
37. Найдите классы, в которые входит только один корабль из базы данных (учесть также корабли в Outcomes).
select class from (Select distinct c.class, o.ship as name from classes c join outcomes o on c.class = o.ship
union
Select distinct c.class,s.name from classes c join ships s on c.class = s.class) as main_class group by class having count(main_class.name) = 1
Select class from(select class, name from ships
union
select class, ship as name from outcomes join classes on classes.class = outcomes.ship) as A
group by class having count(A.name)=1
38. Найдите страны, имевшие когда-либо классы обычных боевых кораблей (‘bb’) и имевшие когда-либо классы крейсеров (‘bc’).
SELECT country FROM classes where type = ‘bb’
INTERSECT
SELECT country FROM classes where type = ‘bc’
39. Найдите корабли, `сохранившиеся для будущих сражений`; т.е. выведенные из строя в одной битве (damaged), они участвовали в другой, произошедшей позже.
select distinct B.ship
from(select * from outcomes left join battles on battle=name where result=’damaged’) as B
where exists (select ship from outcomes left join battles on battle=name
where ship=B.ship and B.date b.date and outcomes.ship = o.ship)
select distinct o.ship from outcomes o join battles b on o.battle = b.name where o.result = ‘damaged’ AND
EXISTS (SELECT battles.date
FROM battles join outcomes on outcomes.battle = battles.name
WHERE battles.date > b.date and outcomes.ship = o.ship)
40. Найти производителей, которые выпускают более одной модели, при этом все выпускаемые производителем модели являются продуктами одного типа. Вывести: maker, type
select maker, type from product
where maker in (SELECT maker FROM
(SELECT maker, type FROM Product GROUP BY maker, type) Alias
group by maker having count(maker) = 1) group by maker, type having count(type)>1
SELECT distinct maker, max(type) as type
FROM product
GROUP BY maker
HAVING COUNT(distinct type) = 1 AND COUNT(model) > 1
41. Для каждого производителя, у которого присутствуют модели хотя бы в одной из таблиц PC, Laptop или Printer,
определить максимальную цену на его продукцию.
Вывод: имя производителя, если среди цен на продукцию данного производителя присутствует NULL, то выводить для этого производителя NULL,
иначе максимальную цену.
with D as
(select model, price from PC
union
select model, price from Laptop
union
select model, price from Printer)
Select distinct P.maker,
CASE WHEN MAX(CASE WHEN D.price IS NULL THEN 1 ELSE 0 END) = 0 THEN
MAX(D.price) END
from Product P
right join D on P.model=D.model
group by P.maker
42. Найдите названия кораблей, потопленных в сражениях, и название сражения, в котором они были потоплены.
Select ship, battle from outcomes where result = ‘sunk’
43. Укажите сражения, которые произошли в годы, не совпадающие ни с одним из годов спуска кораблей на воду.
select name from battles where DATEPART(yy, date) not in (select DATEPART(yy, date)
from battles join ships on DATEPART(yy, date)=launched)
SELECT distinct b.name
FROM Outcomes o right JOIN
battles b ON o.ship = b.name where DATEPART(yy, b.date) not in (select launched from ships)
44. Найдите названия всех кораблей в базе данных, начинающихся с буквы R.
Select name from ships where name like ‘R%’
union
Select ship from outcomes where ship like ‘R%’
45. Найдите названия всех кораблей в базе данных, состоящие из трех и более слов (например, King George V).
Считать, что слова в названиях разделяются единичными пробелами, и нет концевых пробелов.
Select name from ships where name like ‘% % %’
union
Select ship from outcomes where ship like ‘% % %’
46. Для каждого корабля, участвовавшего в сражении при Гвадалканале (Guadalcanal), вывести название, водоизмещение и число орудий.
SELECT DISTINCT ship, displacement, numguns
FROM classes LEFT JOIN ships ON classes.class=ships.class RIGHT JOIN outcomes ON classes.class=ship OR ships.name=ship
WHERE battle=’Guadalcanal’
47. Определить страны, которые потеряли в сражениях все свои корабли.
WITH out AS (SELECT *
FROM outcomes JOIN (SELECT ships.name s_name, classes.class s_class, classes.country s_country
FROM ships FULL JOIN classes
ON ships.class = classes.class
) u
ON outcomes.ship=u.s_class
UNION
SELECT *
FROM outcomes JOIN (SELECT ships.name s_name, classes.class s_class, classes.country s_country
FROM ships FULL JOIN classes
ON ships.class = classes.class
) u
ON outcomes.ship=u.s_name)
SELECT fin.country
FROM (
SELECT DISTINCT t.country, COUNT(t.name) AS num_ships
FROM (
select distinct c.country, s.name
from classes c
inner join Ships s on s.class= c.class
union
select distinct c.country, o.ship
from classes c
inner join Outcomes o on o.ship= c.class) t
GROUP BY t.country
SELECT out.s_country, COUNT(out.ship) AS num_ships
FROM out
WHERE out.result=’sunk’
GROUP BY out.s_country) fin
48. Найдите классы кораблей, в которых хотя бы один корабль был потоплен в сражении.
select class
from classes t1 left join outcomes t2 on t1.class=t2.ship where result=’sunk’
union
select class
from ships left join outcomes on ships.name=outcomes.ship where result=’sunk’
49. Найдите названия кораблей с орудиями калибра 16 дюймов (учесть корабли из таблицы Outcomes).
select s.name from ships s join classes c on s.name=c.class or s.class = c.class where c.bore = 16
union
select o.ship from outcomes o join classes c on o.ship=c.class where c.bore = 16
50. Найдите сражения, в которых участвовали корабли класса Kongo из таблицы Ships.
Select distinct o.battle from ships s join outcomes o on s.name = o.ship where s.class = ‘kongo’
51. Найдите названия кораблей, имеющих наибольшее число орудий среди всех имеющихся кораблей такого же водоизмещения (учесть корабли из таблицы Outcomes).
select NAME from(select name as NAME, displacement, numguns from ships inner join classes on ships.class = classes.class union select ship as NAME, displacement, numguns from outcomes inner join classes on outcomes.ship= classes.class) as d1 inner join (select displacement, max(numGuns) as numguns from ( select displacement, numguns from ships inner join classes on ships.class = classes.class union select displacement, numguns from outcomes inner join classes on outcomes.ship= classes.class) as f group by displacement) as d2 on d1.displacement=d2.displacement and d1.numguns =d2.numguns
52. Определить названия всех кораблей из таблицы Ships, которые могут быть линейным японским кораблем, имеющим число главных орудий не менее девяти, калибр орудий менее 19 дюймов и водоизмещение не более 65 тыс.тонн
select s.name from ships s join classes c on s.class = c.class where country = ‘japan’ and (numGuns >= ‘9’ or numGuns is null) and (bore Категории Программирование
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Половина куба калибра его главных орудий mw. Главный калибр линкоров типа «Cоветский Cоюз
The weight of a shell fired by the gun, in pounds, is nearly equal to half the cube of its caliber. Define the average weight of shells for ships of each country. Take into account the ships from the Outcomes table, too.
The guns» caliber, as well as the country, is an attribute of the Classes table. That means we need to find all ships in the database for which the class is known. The hint to remember the ships from the Outcomes table, as usual, signifies that the leading ship»s class is known even if it»s not included in the Ships table.
Then add a calculations column to define the weight of a shell and count the average value of that weight, arranging the ships by countries.
Let»s take a look at the query the system declines:
SELECT DISTINCT Classes.country, (SELECT AVG(pen.p) FROM
SELECT (c1.bore*c1.bore*c1.bore)/2 AS p FROM Classes AS c1, Ships AS s1
WHERE c1.class=s1.class AND c1.country = Classes.country
AND c1.bore IS NOT NULL
UNION ALL
SELECT (c2.bore*c2.bore*c2.bore)/2 FROM Classes AS c2, Outcomes
WHERE c2.country = Classes.country AND c2.class=Outcomes.ship
AND c2.bore IS NOT NULL
AND Outcomes.ship NOT IN (SELECT ss.name FROM Ships AS ss)
) AS pen
WHERE pen.p IS NOT NULL
) AS weight
FROM Classes
WHERE Classes.country IS NOT NULL
This query is interesting because it doesn»t use grouping and the average value for a country is defined with the help of the correlating subquery executed for every country from the Classes table. Besides, it is made fully according to the standard. We can immediately mark the inefficiency of this query»s execution because if a county has several classes of ships, which is not surprising for us, the subquery will be performed for each class, and that»s obviously odd. The duplicates we get as a result are removed by DISTINCT and that will influence the velocity. But there»s another question that concerns us, why is this request wrong. To understand it let»s examine it by parts.
Let»s begin form the subquery where two queries are combined (UNION ALL):
(1)
SELECT (c1.bore*c1.bore*c1.bore)/2 AS p FROM Classes AS c1, Ships AS s1
WHERE c1.class=s1.class AND c1.country = Classes.country
AND c1.bore IS NOT NULL
(2)
SELECT (c2.bore*c2.bore*c2.bore)/2 FROM Classes AS c2, Outcomes
WHERE c2.country = Classes.country AND c2.class= Outcomes.ship
AND c2.bore IS NOT NULL
AND Outcomes.ship NOT IN (SELECT ss.name FROM Ships AS ss)
In query (1) the weight of ships» shells from the Ships table is counted for a country that is forwarded from the outer request (correlating subquery). The clause c1.bore IS NOT NULL seems absolutely unnecessary to me, for even if there are classes with unknown caliber, these values will be automatically excluded while calculating the average value by the AVG function. But that»s not the mistake in the solution of this task.
In query (2) the equivalent calculations are performed for the leading ships from the Outcomes table, which are absent in the Ships table.
Then the conjunction by UNION ALL allows keeping all the weight duplicates, which is necessary as at least ships of the same class have shells of one caliber (weight).
In the outer query the average value for the country is counted, filtering the case when the caliber is unknown for all ships of a country (WHERE pen.p IS NOT NULL). This is explained by the fact that if AVG is applied to an empty set the result of the calculation will be NULL.
At last, in the main request we print out the data we need for this task.
Have you found the mistake yet? If not, the knowledge of the subject area will help us. What is the Outcomes table? The data on ships that took place in battles is stored here. And if the ship was not sunk it can take part in several battles. So we potentially count the leading ship several times. If considering formally, the primary key on this table
At the same time we can»t use UNION instead of UNION ALL according to the reasons discussed above but anyway it won»t be very difficult for you to correct this query now.
Pointing out the mistakes of our visitors, I indicate those data variants on which the queries we discuss return incorrect data. I advice you to fill your database with similar data so the testing of your queries will be more efficient even on other tasks.
На закрытой территории Ржевского полигона стоит орудие, которое по праву можно было бы назвать «Главным калибром Советского Союза». С равным успехом оно может претендовать и на титул «Царь-пушки». Еще бы, ведь его калибр ни много ни мало 406 мм. Созданная накануне Великой Отечественной войны артиллерийская установка предназначалась для вооружения крупнейших в мире линкоров «Советский Союз», «Советская Белоруссия» и «Советская Россия». Планам этим не суждено было сбыться, но сами пушки сослужили добрую службу в период обороны Ленинграда и одним только этим заслужили право занять достойное место в музее. Но пока уникальный памятник отечественного не имеет даже статуса музейного экспоната…
Кто бывал в московском Кремле, конечно, видел там знаменитую «Царь-пушку», отлитую русским орудийным мастером Андреем Чоховым в 1586 году. Но мало кто знает, что существует ее советский аналог. Это самое крупнокалиберное артиллерийское орудие Советского Союза, накануне войны прошедшее полигонные испытания, а в годы Великой Отечественной защищавшее от врага блокадный Ленинград.
В начале 1920-х годов корабельная и береговая артиллерия советского Военно-морского флота значительно отставала от соответствующей артиллерии ведущих капиталистических государств. В то время в СССР работала целая плеяда талантливых конструкторов морских артиллерийских систем и организаторов их серийного производства: И.И. Иванов, М.Я. Крупчатников, Б.С. Коробов, Д.Е. Бриль, А.А. Флоренский и другие.
Конструкторы Иванов И.И., Крупчатников М.Я., Грабин В.Г. (слева направо)
Крупнейшим успехом советских конструкторов и артиллерийских заводов стало создание уникальной и сложнейшей 406-мм артиллерийской системы – прототипа пушек главного калибра новых линкоров.
В соответствии с новой кораблестроительной программой СССР на стапелях судостроительных заводов были заложены новые линейные корабли: в 1938 году – «Советский Союз» и «Советская Украина», в 1939 году – «Советская Белоруссия» и в 1940 году – «Советская Россия». Полное водоизмещение каждого из линкоров, воплотивших традиции отечественного кораблестроения и новейшие достижения науки и техники, составляло 65 150 тонн. Силовая установка должна была обеспечить скорость 29 узлов (53,4 км/ч). Основное вооружение линкоров – девять 406-мм орудий – размещалось в трех броневых башнях, две из которых находились в носовой части. Такое расположение главного калибра позволяло наилучшим образом направлять и концентрировать огонь 16-дюймовок, стрелявших тысячекилограммовыми снарядами на дальность 45 км. В артиллерийское вооружение новых линкоров входили также двенадцать новых 152-мм орудий, восемь 100-мм универсальных пушек, а противовоздушную оборону каждого корабля обеспечивали тридцать две 37-мм зенитки. Наведение артиллерии осуществлялось с помощью новейших дальномеров, автоматических приборов управления огнем и четырех гидросамолетов-корректировщиков, для запуска которых предусматривалась катапульта.
Сама опытная артустановка МК-1 была изготовлена меньше чем за год.
Приказом Народного Комиссара ВМФ адмирала Н.Г. Кузнецова № 0350 от 9 июня 1940 года для производства полигонных испытаний 406-мм орудия Б-37, качающейся части МК-1 к орудию Б-37, полигонного станка МП-10 и боеприпасов к артустановке (снарядов, зарядов, порохов и взрывателей) была назначена комиссия под председательством контр-адмирала И.И. Грена. Программа испытаний, разработанная АНИМИ (Артиллерийским научно-исследовательским морским институтом), была утверждена начальником АУ ВМФ генерал-лейтенантом береговой службы И.С. Мушновым. Руководителем испытаний был назначен военинженер 2 ранга С.М. Рейдман.
Инженер-капитан 2 ранга С. М. Рейдман. 1943 г.
Полигонные испытания начались на НИМАП (Научно-исследовательским морским артиллерийским полигоном) 6 июля 1940 года. Общий объем испытаний определялся в 173 выстрела при ожидаемой живучести ствола 150 выстрелов.
Баллистические характеристики орудия были следующие: начальная скорость полета снаряда при его весе 1 105 кг – 830 м/с, дульная энергия – 38 800 т. м., максимальное давление пороховых газов в канале ствола – 3 200 кг/см2, максимальная дальность полета снаряда – 45,5 км. Вес качающейся части – 198 тонн, отношение дульной энергии к весу качающейся части – 196,5 тонн. Масса ствола с казенником и затвором Б-37 составляла 140 тонн, а скорострельность орудия – 2,6 выстрела в минуту.
В этот период на морском артиллерийском полигоне была проделана большая работа по подготовке измерительной базы, которая к 1940 году достигла весьма высокого уровня и позволяла в практике испытаний широко применять приборные методы контроля, в том числе и осциллографирование динамических процессов.
Подготовка и проведение испытаний были трудными и напряженными, особенно в части подготовки боеприпасов (вес снаряда – 1 105 кг, заряда – 319 кг), много времени уходило на их выкапывание из грунта после выстрела, сборку и доставку в лабораторию для осмотра и обмеров. Многие эксперименты в процессе испытаний носили новаторский характер. Так, при стрельбе на дистанцию 25 км для выяснения причин повышенного рассеивания снарядов пришлось строить баллистические рамы высотой 40 метров. В то время начальная скорость полета снарядов определялась только по хронографам, поэтому после каждого выстрела на этих рамах-мишенях необходимо было менять поврежденную зарядом проволочную навивку, что также представляло большие трудности. Каждый выстрел из орудия Б-37 имел высокую значимость, поэтому испытания строились очень продуманно в интересах всего комплекса задач. Результаты каждой стрельбы рассматривались в подкомиссиях по принадлежности вопросов и очень часто обсуждались на общем заседании комиссии.
2 октября 1940 года полигонные испытания орудия Б-37, качающейся части МК-1, станка МП-10 и боеприпасов были закончены.
В выводах отчета комиссии отмечалось: «Проведенные испытания 406/50-мм орудия Б-37, качающейся части МК-1 и полигонного станка МП-10 дали вполне удовлетворительные результаты». Вот так лаконично был отмечен многомесячный напряженный труд инженеров-конструкторов и артиллеристов-испытателей.
Качающаяся часть МК-1 с орудием Б-37 были рекомендованы комиссией для серийного изготовления с внесением некоторых конструктивных изменений.
Контр-адмирал И.И. Грен. 1942 г.
19 октября 1940 года, в связи с обострением международной обстановки, советским правительством было принято постановление о сосредоточении усилий на строительстве малых и средних боевых кораблей и на достройке заложенных крупных кораблей с большой степенью готовности. Линкор «Советский Союз» в число последних не входил, поэтому серийное производство 406-мм орудий развернуто не было. После окончания полигонных испытаний орудие Б-37 продолжало оставаться на НИМАП в Ленинграде.
Краснознаменный Балтийский флот, в конце августа 1941 года сосредоточенный в Ленинграде и Кронштадте, оказал значительную помощь Ленинградскому фронту своей мощной дальнобойной корабельной и береговой артиллерией, которая всю блокаду надежным огневым щитом прикрывала город.
Сразу же после начала войны НИМАП принял активное участие в решении вопросов, связанных с подготовкой Ленинграда к обороне. В кротчайшие сроки была произведена умелая, быстрая и целенаправленная перестройка его работы в интересах обороны города. Артустановки морского полигона из-за большого веса не могли быть эвакуированы, и их стали готовить к битве за Ленинград.
В июле-августе 1941 года на морском артиллерийском полигоне было приведено к бою все имевшиеся в наличии артиллерийское вооружение, сформированы и подготовлены к боевым действиям артиллерийский дивизион и команда МПВО (местной противовоздушной обороны).
В период подготовки НИМАП к обороне Ленинграда была произведена смена ствола и бронирование 406-мм орудия (Б-37), все артустановки подготовлены для кругового обстрела, установлены точки наводки со световым ориентиром для ночных стрельб, оборудованы четыре командных пункта артбатарей и два броневых артиллерийских погреба вблизи огневых позиций.
Воентехник 1 ранга Кухарчук, командир батареи № 1 НИМАП, в которую входило 406-мм орудие. 1941 г.
Вся артиллерия морского полигона состояла из четырнадцати орудий: одного 406 мм, одного 356 мм, двух 305 мм, пяти 180 мм, одного 152 мм и четырех 130 мм. Орудие калибра 406 мм вошло в состав батареи № 1, в которую кроме него также входили одно 356-мм и два 305-мм орудия. Это были орудия главного калибра, самые мощные и дальнобойные. Командиром батареи был назначен воентехник 2 ранга Александр Петрович Кухарчук.
В конце августа 1941 года артиллерия НИМАП готова была приступить к выполнению боевых задач, а накануне этого в газете «Ленинградская правда» было опубликовано следующее сообщение: «Начиная с 22 августа с морского полигона в Ленинграде будет проводиться пробная стрельба, о чем доводится до всеобщего сведения. Военный комендант города Ленинграда полковник Денисов».
Первые боевые выстрелы НИМАП произвел 29 августа 1941 года по скоплению войск противника в районе совхоза «Красный Бор» на колпинском направлении именно из Б-37, самого мощного и дальнобойного орудия Военно-морского флота СССР. А уже в начале сентября на том же самом направлении двигалась колонна вражеских танков с целью прорыва к Ленинграду, и опять мощные разрывы 406-мм снарядов, ложившиеся в голове и хвосте колонны, вызвали замешательство у противника и заставили его остановиться. Уцелевшие танки повернули вспять. Бойцы народного ополчения из Ижорского батальона, защищавшие Колпино, всегда с большой благодарностью вспоминали артиллеристов морского полигона, которые своим огнем помогли им в 1941 году удержать рубежи обороны на подступах к Ленинграду.
В 1942 году морской артиллерийский полигон выполнил 9 боевых стрельб. 10 февраля орудие Б-37 своим огнем поддерживало наступательную операцию 55-й армии в районе населенных пунктов Красный Бор, Ям-Ижора и Саблино. Было израсходовано три снаряда. Об итогах этой операции известно, что: «…на участке, где оборону держала 55-я армия, отличились артиллеристы. За один этот день они уничтожили 18 орудий и 27 пулеметов, разрушили 19 дзотов и землянок». В эти потери врага внесло свой вклад и 406-мм орудие морского артиллерийского полигона.
Командный и инженерно-технический состав Научно-испытательного морского артиллерийского полигона (НИМАП). 1942 г.
Вот как описывает свои впечатления от боевого применения Б-37 очевидец тех событий, участник обороны Ленинграда, Николай Кислицын: «Вспоминается, как среди привычно звучащих разрывов снарядов и выстрелов нашей артиллерии изредка где-то раздавался глуховатый мощный звук, сотрясающий стекла. Долго я тогда недоумевал, пока не встретился с одним артиллеристом. Оказалось, что в предвоенное время было развернуто проектирование и строительство новейших надводных кораблей высокого класса. Для них на морском полигоне под Ленинградом проводились испытания орудия калибром 406 мм. Стрельбы из этого орудия охолощенными снарядами велись с большой дальностью по определенной площади полигона. Орудие успешно проходило испытания. В связи с началом войны испытания были прекращены. Когда Ленинград оказался в блокаде, это мощное орудие было использовано для поражения важных военных объектов в глубине расположения противника. Запас снарядов оказался небольшим, и, когда он был израсходован, артиллеристы стали выкапывать глубоко зарывшиеся в землю во время испытаний снаряды и приводить их в боевое состояние. Вражеская авиация тщетно искала огневую позицию этого гиганта, умелая маскировка помогла ему оставаться необнаруженным…»
8 декабря 1942 года Ставка Верховного Главного командования Красной армии издала директиву о проведении наступательной операции по прорыву блокады Ленинграда.
Операция началась 12 января 1943 года в 9 часов 30 минут. В течение 2 часов 20 минут на позициях противника бушевал артиллерийский ураган – это били 4 500 орудий и реактивных минометов двух советских фронтов и Краснознаменного Балтийского флота: 11 артиллерийских батарей стационарной береговой артиллерии, 16 батарей железнодорожной артиллерии, артиллерия лидера «Ленинград», 4 эскадренных миноносцев и 3 канонерских лодок. В составе артиллерии КБФ было и 406-мм орудие морского артиллерийского полигона
12 января оно в течение 3 часов 10 минут вело методичный огонь по узлам сопротивления противника в районе 8-й ГЭС, было израсходовано 22 фугасных снаряда.
13 февраля оно же вело артиллерийский огонь по оборонительным рубежам, огневым средствам и живой силе противника в районе 8-й ГЭС и 2-го Рабочего поселка, было израсходовано 16 снарядов (12 фугасных и 4 бронебойных).
Развалины 6-й ГЭС после обстрела 406-мм орудием в ходе операции по прорыву блокады Ленинграда. Январь 1943 г.
В конце 1943 года Ленинград продолжал оставаться на передовой линии огня. Если самолеты противника уже не имели возможности бомбить город ни в ноябре, ни в декабре, то обстрелы из орудий крупного калибра продолжались. Артиллерийские обстрелы держали Ленинград в постоянном напряжении, необходимо было избавить город от них. Соображения стратегического плана требовали полного снятия блокады Ленинграда и изгнания немецко-фашистских захватчиков из Ленинградской области.
Ставка Верховного Главного командования, планируя боевые действия по освобождению территории Советского Союза, приняла решение начать 1944 год с наступательной операции под Ленинградом и Новгородом (Первый Сталинский удар).
На 14 января 1944 года было намечено начало операции по полному освобождению Ленинграда от вражеской блокады.
Утром 14 января в течение 65 минут позиции противника обстреливались артиллерией Ленинградского фронта и КБФ, 100 тысяч снарядов и мин обрушились на боевые порядки врага.
Вражеский ДОТ, разрушенный огнем 406-мм орудия. Красное Село. Январь 1944 г.
В наступательной операции Ленинградский фронт поддерживала артиллерия КБФ в составе 215 орудий калибром от 100 до 406 мм. Привлечение крупнокалиберной береговой (стационарной и железнодорожной) и корабельной артиллерии обеспечивало поражение целей, находящихся на значительном удалении от передовой обороны противника.
15 января 406-мм орудие вело огонь по плановым целям в районе г. Пушкина, было израсходовано 30 снарядов.
20 января оно обстреливало цели в районе деревни Копорская и ж. д. станции Антропшино, было израсходовано три снаряда.
С 15 по 20 января 1944 года в ходе наступательной операции Ленинградского фронта по полному освобождению Ленинграда от вражеской блокады, орудием Б-37 было выпущено 33 снаряда (28 фугасных и 5 бронебойных).
В ходе этой операции была уничтожена цель № 23 (высота 112,0) – узел сопротивления противника на подступах к г. Пушкину с севера.
Артиллерия Краснознаменного Балтийского флота выполнила поставленные перед ней задачи по обеспечению наступления войск Ленинградского фронта и освобождению Ленинграда от вражеской блокады. За 14 дней наступательной операции она провела 1 005 стрельб, выпустив по врагу 23600 снарядов разных калибров от 100 мм до 406 мм.
После разгрома немецко-фашистских войск на юго-западном направлении для Ленинграда сохранялась угроза с северо-запада, со стороны Финляндии, армия которой занимала оборону на Карельском перешейке уже около трех лет.
В Выборгской наступательной операции от КБФ принимало участие 49 корабельных (130–305 мм); 125 береговых (100–406 мм). В соответствии с приказом командующего артиллерией КБФ № 001/ОП от 2 июня 1944 года два дальнобойных орудия морского полигона, 406 мм и 356 мм, вошли в третью артиллерийскую группу.
За первые четыре дня наступления артиллерия КБФ провела 582 стрельбы и израсходовала более 11 000 снарядов калибром от 100 мм до 406 мм.
9 июня орудие Б-37 вело огонь по плановым целям, при этом было израсходовано 20 снарядов, а 10 июня оно же вело огонь по одной неплановой цели, и было израсходовано 10 снарядов. Все снаряды были фугасные.
По результатам осмотра поражения целей возле железнодорожной станции Белоостров были получены следующие результаты:
– огонь по цели Г-208 – командная высота, входившая в общую систему узла сопротивления противника. Огонь вело 406-мм орудие. Были уничтожены: пулеметная точка вместе с расчетом, два пулеметных гнезда, бронированная наблюдательная вышка. Также были разрушены траншеи и участок дороги, это вынудило противника бросить четыре 76-мм орудия. На дороге осталось лежать много трупов вражеских офицеров и солдат;
– огонь по цели Г-181 – командная высота в деревни Камешки. Огонь вело 406-мм орудие. Прямым попаданием снаряда был разрушен перекресток дорог с трех направлений, это помешало противнику вывезти противотанковую и зенитную батареи. В районе расположения позиций 152-мм и 210-мм вражеских артиллерийских батарей находились воронки от попадания 406-мм снарядов.
В результате Выборгской наступательной операции была разгромлена крупная группировка финских войск и освобождена северная часть Ленинградской области, после этого битва за Ленинград была окончательно завершена.
Для орудия Б-37 это были последние боевые стрельбы.
За весь период обороны Ленинграда из 406-мм орудия было сделано 185 выстрелов, при этом было выпущено 109 фугасных и 76 бронебойных снарядов.
Мемориальная плита, увековечивающая боевые заслуги 406-мм орудия Краснознаменного НИМАП. Центральный военно-морской музей
После окончания Великой Отечественной войны по решению командования ВМФ на Б-37 была установлена мемориальная плита, в настоящее время хранящаяся в Центральном военно-морском музее в Санкт-Петербурге. На ней выбито следующее: «406-мм артустановка Военно-морского флота Союза ССР. Это орудие Краснознаменного НИМАП с 29 августа 1941 года по 10 июня 1944 года принимало активное участие в обороне Ленинграда и разгроме врага. Метким огнем оно разрушало мощные опорные пункты и узлы сопротивления, уничтожало боевую технику и живую силу противника, поддерживало действия частей Красной армии Ленинградского фронта и Краснознаменного Балтийского флота на Невском, Колпинском, Урицко-Пушкинском, Красносельском и Карельском направлениях».
406-мм орудийная установка на Ржевском полигоне. 2008 г.
Одной из характеристик корабля является половина куба калибра его главных орудий (mw). С точностью до 2 десятичных знаков определите среднее значение mw для кораблей каждой страны, у которой есть корабли в базе данных.
Калибр орудий, как и страна, является атрибутом таблицы Classes. Таким образом, здесь нужно найти все корабли в базе данных, для которых известен класс. Замечание об учете кораблей из таблицы Outcomes означает, как обычно, что класс головного корабля может быть известен, даже если его нет в таблице Ships.
Затем следует добавить вычисляемый столбец для определения веса снаряда и посчитать среднее значение этого веса, сгруппировав корабли по странам.
Рассмотрим следующий запрос, отбраковываемый системой.
SELECT DISTINCT Classes.country,
FROM (SELECT (c1.bore*c1.bore*c1.bore) /2 AS p
FROM Classes AS c1, Ships AS s1
c1.country = Classes.country AND
c1.bore IS NOT NULL
SELECT (c2.bore*c2.bore*c2.bore) /2
FROM Classes AS c2, Outcomes
c2.class = Outcomes.ship AND
c2.bore IS NOT NULL AND
Outcomes.ship NOT IN (SELECT ss.name
SELECT DISTINCT Classes.country, (SELECT AVG(pen.p) FROM (SELECT (c1.bore*c1.bore*c1.bore)/2 AS p FROM Classes AS c1, Ships AS s1 WHERE c1.class = s1.class AND c1.country = Classes.country AND c1.bore IS NOT NULL UNION ALL SELECT (c2.bore*c2.bore*c2.bore)/2 FROM Classes AS c2, Outcomes WHERE c2.country = Classes.country AND c2.class = Outcomes.ship AND c2.bore IS NOT NULL AND Outcomes.ship NOT IN (SELECT ss.name FROM Ships AS ss)) AS pen WHERE pen.p IS NOT NULL) AS weight FROM Classes WHERE Classes.country IS NOT NULL;
Начнем с подзапроса, в котором объединяются (UNION ALL ) два запроса:
В запросе (2) аналогичные вычисления делаются для головных кораблей из Outcomes, которые отсутствуют в Ships.
Наконец, в основном запросе выводим требуемые по условиям задачи данные.
Вы уже нашли ошибку? Если нет, то нам помогут знания предметной области. Что за таблица Outcomes? Здесь хранятся данные об участии кораблей в сражениях. А корабль, если он не был потоплен, может принимать участие в нескольких сражениях. Таким образом, мы потенциально учитываем головной корабль несколько раз. Если же рассуждать формально, то первичный ключ на этой таблице <корабль, сражение>допускает появление одного и того же корабля неоднократно.
При этом мы не можем вместо UNION ALL использовать UNION по описанным выше причинам, но, тем не менее, исправить теперь этот запрос вам будет несложно.
Разбирая ошибки наших посетителей, автор обычно указывает те варианты данных, на которых рассматриваемые запросы возвращают неверные данные. Советуем вам наполнять свою базу аналогичными данными, тогда тестирование ваших запросов также и на других задачах будет более эффективным.
Наступательная тяжелая артиллерия линейного корабля обычно состоит из 8- 12 орудий крупного калибра. Корабль вооружен еще и другими, менее сильными орудиями, но их калибр в несколько раз меньше, чем калибр тяжелых орудий корабля. Поэтому тяжелая артиллерия линейного корабля называется «главной» или «главным калибром».
Ни на одном из существующих линейных кораблей главный калибр не превышает 406 миллиметров, но нет орудий главного калибра и меньше 305 миллиметров. Обычно чем больше главный калибр, тем меньше число его орудий. При калибре в 406 миллиметров число орудий ни на одном из современных линейных кораблей не превышает девяти.
Может возникнуть законное недоумение: к чему эти огромные пушки, если в наше время существует своего рода «крылатая артиллерия» – самолеты-бомбардировщики? Ведь эта артиллерия неизмеримо дальнобойнее, она настигает свои цели даже на расстоянии в сотни километров. Ее снаряды-бомбы бывают не только не меньше, но даже больше снарядов главного калибра линейного корабля. При этом не нужно ни дорогостоящих кораблей-гигантов, ни огромных пушек.
В чем же преимущество главного калибра линейного корабля? Только ли в том, что самолетам-бомбардировщикам трудно приблизиться и «накрыть» сильно вооруженную и хорошо охраняемую цель?
Оказывается, существует еще одно большое преимущество тяжелой артиллерий линейного корабля: сила ударов его снарядов намного превышает силу бомбовых ударов самолетов.
Мы уже знаем, что чем больше скорость полета снаряда, тем больше и сила его Удара.
Бомбы, сброшенные с самолета обычным способом, падают вниз под влиянием силы тяжести. Скорость падения при этом колеблется в зависимости от высоты сбрасывания: она не больше 270 метров в секунду, если высота сбрасывания около 6 километров (или больше); если же высота сбрасывания 600-700 метров, скорость падения бомбы снижается до 140-150 метров в секунду.
Вот почему в момент вылета из дула «начальная» скорость снаряда почти километр в секунду. И даже на исходе этой дистанции скорость полета снаряда немного меньше полукилометра в секунду.
Такая скорость и придает снаряду орудия главного калибра ту чудовищную разрушительную силу, которую испытали на себе гитлеровцы под Ленинградом и «Бисмарк» в Атлантике в последний день своего существования.
До недавнего времени трудно было поверить, что могут появиться такие пушки. Но еще перед второй мировой войной в печать проскальзывали сообщения о том, что возможно появление линейных кораблей, вооруженных орудиями калибра 508 миллиметров.
На стволе такой пушки могут выстроиться в ряд сорок матросов
Устройство главных башен – это сумма самых удивительных чудес современной техники.
Ведь для того, чтобы правильно навести орудие на движущуюся цель, надо иметь возможность поворачивать башни, а также придавать стволу орудия необходимый угол возвышения. И это нужно делать очень быстро, так как линейный корабль и его противник быстро передвигаются по морю. Башня весит до 2 тысяч тонн, но небольшой поворот штурвала заставляет ее плавно вращаться. Мощные моторы и специальные. регуляторы обеспечивают легкость и любую скорость вращения – от наименьшей до наибольшей, до 10 градусов в секунду.
Скорость в 10 градусов в секунду может показаться небольшой, но присмотримся внимательнее к этой цифре: ведь длина ствола орудия примерно 15 метров; весь путь, который пройдет конец дула орудия, если он опишет полную окружность, будет равен 94 метрам. А так как 10 градусов составляют только 1/36 часть полного кругового пути орудия, то за одну секунду конец ствола – его дульная часть – переместится на 94/36 =2,6 метра.
Так подавали снаряды из погреба к орудиям корабля в прошлые времена; освободившаяся «тара» сбрасывалась обратно в погреб.
Из книги Малая скоростная автоматизированная подводная лодка-истребитель пр. 705(705К) автора Автор неизвестен
М.Г.Русанов – Главный конструктор АПЛ пр.705 и 705К Б.В.Григорьев21 ноября 2000 г. исполнилось 90 лет со дня рождения Михаила Георгиевича Русанова – Главного конструктора СПМБМ «Малахит» (СКБ-143), создателя высокоскоростной автоматизированной АПЛ малого водоизмещения
9 Советский Главный конструктор и спутник Я предполагаю, что, когда мы, наконец, доберемся до Луны, нам придется пройти через русскую таможню. Вернер фон Браун У каждого героя большой драмы должен быть двойник, в сравнении с которым более ярко проявляются его качества. Был
Глава 16. Сэр Э.Дж. Рид, главный строитель флота в 1863-1870 гг. [До 1860 г. эта должность в британском Королевском флоте носила название Surveyor of the Navy («Инспектор Флота»), которое в 1860 г. в связи с бурным развитием новых технологий в кораблестроении было заменено на Chief Constructor («Главный
Глава 57. Сэр Уильям Уайт, главный строитель флота в 1886-1903 гг. Уильям Генри Уайт родился в Дрю-коттэдж 2 февраля 1845 г. Будучи допущенным в 1859 г. к вступительным экзаменам на казённую верфь он, когда выяснилось, что его рост не дотягивает до принятого стандарта, подложил в
Конкурентный «Калибр» В 1990 году в США был принята на вооружение очередная модификация ПЛРК, получившая название Asroc-VLA. Его основным отличием стала модернизированная ракета RUM-139, предназначенная для вертикального запуска из универсальных ПУ Мк41 современных и
Появилось приложение, которое позволяет узнать, как ваш телефон записан у друзей
Как узнать забытый пароль подключенной сети Wi-Fi?
На службе виртуальной реальности
Создание VPN-сервера средствами Windows
Как сохранить веб-страницу в PDF без всяких расширений