Professional Documents
Culture Documents
Звіт з Практики-3 - В3
Звіт з Практики-3 - В3
Перевірив викладач
________________Г.В. Носова
(дата, підпис)
2023
Частина 1. Розробка веб-сторінок, використовуючи HTML, CSS, CSS-фреймворк Bootstrap
1. (Обов’язковий рівень) Створити макет сторінки index.html, використовуючи табличне верстання, згідно варіанту
завдання.
Варіант 3
3-А. (Обов’язковий рівень) Використовуючи атрибути тегів HTML, налаштувати макет наступним чином:
- встановити ширину колонок таблиці – меню 20%, сайд бар (якщо присутній) 20%, логотип (якщо присутній) – 20%, «хлібні
крихти» - як ширина блоку контенту;
- розфарбувати комірки таблиці кольорами, що мають рядкові константи (наприклад, «red», «green», «yellow»);
- встановити кольори комірок таблиці у шістнадцятиричному форматі (наприклад FF0000, A0A0A0, 00FF00);
4-А. (Обов’язковий рівень) Змінити зовнішній вигляд пунктів меню, використовуючи атрибути HTML
4-Б. (Бажаний рівень) Змінити зовнішній вигляд меню з використанням CSS
4-В
(Високий рівень) Змінити зовнішній вигляд меню та хлібних крихт з використанням CSS
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Demon Slayer</title>
<link href="https://fonts.googleapis.com/css2?family=Anton&family=Open+Sans&display=swap"
rel="stylesheet">
</head>
<body>
<div class="container">
<div class="nav">
<ul class="menu">
<li>
<a href="#">Main</a>
</li>
<li>
<a href="#">About</a>
</li>
<li>
<a href="#">Heroes</a>
</li>
<li>
<a href="#">Contacts</a>
</li>
</ul>
</div>
<div>
Экранизацию Kimetsu no Yaiba можно посоветовать даже тем, кто не любит сёнэны. В ней авторы
постарались обойти или немного сгладить жанровые штампы, сделать историю мрачной и жестокой —
при этом не растеряв юмора. А ещё это просто один из самых красивых аниме-сериалов этого года.
Разбираем мангу, её экранизацию, достоинства и основные проблемы.</p>
В один из зимних дней Тандзиро до позднего вечера задержался в деревне. На обратном пути он
встретил знакомого старичка Сабуро, который порекомендовал парню остаться у него на ночь, ведь
после захода солнца в лесу бродят демоны. Эти мифические создания нападают на людей, пьют их
кровь и пожирают плоть. Тандзиро никогда не верил в сверхъестественное, но он очень устал, поэтому
всё-таки решил остаться у старика на ночь. Парень и не подозревал, что эта случайная встреча спасла
ему жизнь.
По возвращению домой он увидел, что вся его семья жестоко растерзана демонами. Единственная
выжившая — сестра Нэдзуко, которая потеряла много крови и обратилась в монстра. Она хоть и
заражена демонической кровью, но каким-то чудом сохранила некоторую часть человеческого
рассудка. В голодном порыве Нэдзуко напала на брата, но в битву родственников вмешался охотник на
демонов Гию Томиока.
После этой судьбоносной встречи и знакомства с мастером боевых искусств Сакондзи Урокодаки,
Тандзиро решает стать убийцей демонов, отомстить за смерть близких и вернуть сестре человеческий
облик. В своих путешествиях он найдет новых друзей и познакомится с другими охотниками на
демонов.
Манга ещё не закончена и вряд ли мы увидим концовку в ближайшее время. В целом, если
внимательно изучить развитие сюжета во всех томах и официальные комментарии в журнале Shonen
Jump, то есть некоторые предпосылки к тому, что история ушла дальше середины и вот вот начнётся
(или уже началась) финальная сюжетная арка.</p>
</div>
</div>
</header>
<div class="menu-left">
<ul class="menu">
<li>
</li>
<li>
<a href="#">Меню слева))</a>
</li>
<li>
</li>
<li>
</li>
</ul>
<p>
random text random text random text random text random text
random text random text random text random text random text random text random text random text
random text vrandom text random text random text random text random text random text random text
random text random text random text random text random text random text random text random text
random text random text random text random text random text random text vvrandom text random text
random text random text random text random text random text random text random text random text
random text random text random text random text random text random text random text vvvrandom text
vrandom text random text random text random text random text vvvrandom text random text random text
random text random text random text random text random text random text random text random text
random text random text random text random text random text random text random text random text
random text random text vrandom text
</p>
</div>
<div class="content">
<div class="container">
<div class="description">
<div class="desc-left">
<p>
Но главная проблема манги совсем не в этом. В ранних томах темп и размеренность повествования
сильно хромали. Сюжет развивался стремительно, сражения редко длились больше трёх глав и были
небрежно нарисованы. Слабо чувствовалась напряжённость и драматизм, а окружающий мир выглядел
просто поверхностно.
</p>
</div>
<div class="desc-right">
<p>
За прошедшие годы стиль Готогэ изменился в лучшую сторону, однако в самом начале её рисунок имел
довольно минимальную детализацию. Персонажам порой не хватало деталей, пропорции были
расплывчаты, а фоны во многих фреймах либо отсутствовали (белый или чёрный фон), либо
представляли собой что-то схематичное. С другой стороны, в неряшливом рисунке был свой шарм, а за
развитием авторского стиля всегда интересно наблюдать.
Но главная проблема манги совсем не в этом. В ранних томах темп и размеренность повествования
сильно хромали. Сюжет развивался стремительно, сражения редко длились больше трёх глав и были
небрежно нарисованы. Слабо чувствовалась напряжённость и драматизм, а окружающий мир выглядел
просто поверхностно.
</p>
</div>
</div>
<div class="gallery">
<img
src="https://demonslayer-anime.com/risshihen/assets/img/top/img_main_sp.jpg">
</div>
</div>
</div>
</section>
<div class="container">
Дешкантом Александром
</div>
</footer>
</body>
</html>
body {
padding: o;
margin: 0;
color: 000;
font-size: 16px;
h1,h2,h3,h4,h5,h6 {
padding: o;
margin: 0;
text-transform: uppercase;
margin-top: 40px;
h2{
margin-top: 80px;
ul,li {
display: block;
li{
border-style: outset;
.container {
.box {
width: 100px;
height: 100px;
header{
padding-top: 57px;
padding-left: 10%;
padding-right: 10%;
}
header a{
color: #ffffff;
.logo {
margin-right: 69px;
.menu {
display: flex;
.menu li a {
text-transform: uppercase;
text-decoration: none;
font-size: 14px;
letter-spacing: 0.1em;
.menu li {
margin-right: 40px;
header{
.tel {
font-size: 17px;
text-decoration: none;
margin-left: auto;
letter-spacing: 0.1em;
margin: 0 auto;
.nav {
display: flex;
align-items: center;
p{
font-size: 17px;
font-family: Anton;
.description {
display: flex;
justify-self: space-between;
margin-top: 67px;
.description p {
font-family: 'Anton';
font-weight: 567;
text-align: justify;
line-height: 1.62em;
.desc-left, .desc-right {
width: 600px;
.desc-left{
margin-right: 100px;
.menu-left {
width: 30%;
float: left;
max-height: 700px;
margin-top: 30px;
.content {
width: 100%;
.gallery {
margin-left: 25%;
<html lang="en">
<head>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css2?family=Anton&family=Open+Sans&display=swap"
rel="stylesheet">
<title>Задание 1 Факториал</title>
</head>
<body>
<div class="kr-content">
<h1>Факториал числа</h1>
<div class="kr-form">
<label>
<br>
<br>
<br>
</form>
<p id="result"></p>
</div>
</div>
<script>
var frm=document.getElementById("form");
frm.onsubmit=function() {
var num=document.getElementById("number").value;
var result=document.getElementById("result");
var i,mult=1;
for (i=1;i<=num;i++){
mult=mult*i;
result.innerHTML=mult;
return false;
</script>
</body>
</html>
body {
font-size: 11px;
background-color: #4b5f77;
.kr-content {
width: 640px;
text-align: left;
vertical-align: top;
font-size: 12px;
color: #333333;
line-height: 21px;
display: table-cell;
padding-left: 40%;
padding-top: 200px;
.kr-content h1 {
max-width: 90vw;
font-size: 22px;
line-height: 22px;
.kr-content h2 {
width: 85vw;
font-size: 18px;
.kr-form {
width: 87vw;
margin-left: auto;
margin-right: auto;
display: block;
}
.kr-form {
background: none;
text-align: left;
margin: 4px;
width: 400px;
padding: 10px;
display: table-cell;
border-radius: 6px;
.kr-form input[type=text] {
width: 390px;
height: 24px;
font-size: 16px;
text-align: center;
.kr-center {
text-align: center;
margin: auto;
justify-content: center;
input {
text-rendering: auto;
color: fieldtext;
letter-spacing: normal;
word-spacing: normal;
line-height: normal;
text-transform: none;
text-indent: 0px;
text-shadow: none;
display: inline-block;
text-align: start;
appearance: auto;
-webkit-rtl-ordering: logical;
cursor: text;
background-color: field;
margin: 0em;
border-width: 2px;
border-style: inset;
border-image: initial;
form{
text-align: center;
input{
padding: 7px;
text-align: center;
font-family: monospace;
#result{
font-size: 22px;
color: green;
text-align: center;
Код JavaScript
var frm=document.getElementById("form");
frm.onsubmit=function() {
var num=document.getElementById("number").value;
var result=document.getElementById("result");
var i,mult=1;
for (i=1;i<=num;i++){
mult=mult*i;
result.innerHTML=mult;
return false;
В3. Дано випадаючий список з п’ятьма пунктами. Виводити повідомлення про вибраний пункт,
під час вибору.
Код HTML-CSS файлу:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Вибір обоїв</title>
<style>
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
.dropdown {
margin-right: 10px;
.dropdown-menu {
display: none;
.menu-active {
display: block;
</style>
</head>
<body>
<div class="container d-flex justify-content-center">
<div class="dropdown">
</button>
</ul>
</div>
</div>
<script src="index.js"></script>
</body>
</html>
Код JavaScript:
let intervalId;
document.querySelectorAll('.dropdown-toggle').forEach(e => {
e.addEventListener('click', e => {
document.querySelectorAll('.dropdown-menu').forEach(e => {
if (!document.querySelector(`[data-target=${menu}]`).classList.contains('open')) {
e.classList.remove('menu-active');
e.classList.remove('open');
document.querySelector(`[data-target=${menu}]`).classList.add('menu-active');
intervalId = setTimeout(() => {
document.querySelector(`[data-target=${menu}]`).classList.add('open');
}, 0);
if (document.querySelector(`[data-target=${menu}]`).classList.contains('open')) {
clearTimeout(intervalId);
document.querySelector(`[data-target=${menu}]`).classList.remove('menu-active');
document.querySelector(`[data-target=${menu}]`).classList.remove('open');
}, 0);
window.onclick = e => {
return;
} else {
document.querySelector(`[data-target=${menu}]`).classList.remove('menu-active');
document.querySelector(`[data-target=${menu}]`).classList.remove('open');
});
});
});
№ Завдання
1 Створити таблиці із запропонованим вмістом та встановити між ними зв’язки.
2 Кожен встановлений зв'язок проілюструвати пов’язаними формами.
3 Створити для кожної таблиці форму.
(Кожна нова форма має відрізнятися за зовнішнім виглядом від попередньої.)
4 Створити набір підпорядкованих форм для бази.
5 Створити головну кнопкову форму для забезпечення повної взаємодії з базою
5.1 перегляду таблиць,
5.2 перегляду форм,
5.3 роботи з запитами,
5.4 перегляду і підготовки для друку звітів.
6 Виконати запропоновані запити.
6.1 перехресний запит для визначення залежності вартості перельоту від класу
літака і компанії перевізника
6.2 запит на визначення класів літаків і напрямків, за якими відбувається політ,
якщо на рейс нема вільних місць.
6.3 запит на визначення напрямку руху та їх тривалості, якщо вартість квитка
знаходиться у вказаних межах.
6.4 запит на визначення кількості компаній-перевізниць, що мають вартість
квитка більшу за середню
6.5 запит, що визначає сумарну вартість квитків на рейси, що вилітають з
аеропорту Бориспіль
7 Для таблиці, що містить інформацію про квитки, створити форму, що за зовнішнім
виглядом максимально наближена до квитка – розташувати елементи форми
згідно зразка, додати фонове зображення.
Завдання 1
Використовуючи пакет StarUml, виконати практичне завдання згідно варіанту.
2.1 Скласти текстову постановку задачі з вказаної предметної області (див. табл. 1).
Побудувати діаграму варіантів використання
2.2 На основі розробленої діаграми прецедентів побудувати діаграму класів, кількість
класів – 3-5 об’єктів. Вказати операції, типи атрибутів, їх властивості.
2.3 Створити діаграму послідовності для одного із сценаріїв виконання (як основного так і
альтернативного потоку подій)
2.4 Роздрукувати постановку задачі та спроектовані діаграми.
3 Виробництво • Код виробу, назва виробу, є типовими, примітка - для яких цілей
призначений;
• код, назва, адреса і телефон підприємств, що випускають вироби;
• рік випуску обсяг випуску даного виробу підприємством.
Нехай потрібно розробити інформаційну систему для автоматизації обліку випуску виробів у
підприємтсві. Система повинна передбачати режими ведення системного каталогу, що відображає
перелік віиробів, які випускають на підприємтвах. Усередині підприємств області знань в
систематичному каталозі можуть мати унікальний внутрішній номер і повне найменування. Кожен вироб
може містити відомості на яких підприємтвах він був вироблений. Кожен вироб, що випускається на
підприємтсвах , характеризується наступними параметрами :
• Код виробу;
• назва виробу;
• є типовими
• рік випуску;
Вироби можуть мати однакові назви, але вони розрізняються за своїм унікальним кодом (ISBN).
• домашня адреса;
• дата народження.
Кожен вироб у підприємтві може бути в наявності у безліч екземплярів. Кожен екземпляр має такі
характеристики:
• код товару;
У разі замовлення товару клієнтом у підприємтві зберігається копія квітанції, у якій мають бути
записані такі відомості: