Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

PI-Popovichenko / ПІ_ПЗС-1244_Поповіченко_Лаб№2

.doc
Скачиваний:
8
Добавлен:
23.02.2016
Размер:
87.04 Кб
Скачать

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ

Черкаський державний технологічний університет

Кафедра програмного забезпечення автоматизованих систем

ЗВІТ

з лабораторної роботи № 2

з дисципліни «Програмування інтернет»

на тему: «Основи програмного забезпечення Web–клієнта на прикладі використання сценаріїв JavaScript»

Перевірив:

Виконав:

асистент кафедри ПЗАС

Металап В.В.

__________________________

студент групи ПЗС-1244

Поповіченко Антон

__________________________

Черкаси 2013

Тема: Основи програмного забезпечення Web–клієнта на прикладі використання сценаріїв JavaScript.

Мета роботи: розглянути можливості роботи з датою в JavaScript, використання масивів та циклів в JavaScript, перевірки значень в коді скрипта. Навчитися створювати і використовувати об’єкти користувача в JavaScript.

Виконати поставлену задачу, використовуючи один масив, елементами якого виступатимуть об’єкти користувача. Всі перевірки та виведення повідомлень реалізувати через методи описаного об’єкта. В заголовку описати функцію для порівняння вказаної дати з сьогоднішньою датою (вказаного часу з поточним часом). Назначити цю функцію як метод свого обєкта. Реалізувати перевірку значень, використовуючи масиви та цикли. Індивідуальне завдання згідно номеру варіанту в таблиці.

Варіант

Завдання

№1

Створити масиви значень:

− імя друга;

− дата народження;

− номер телефону (допускаються пусті значення).

За 3 дні потрібно відправити вітальну листівку, а в день народження

поздоровити іменинника особисто по телефону. Вивести

повідомлення про необхідність відправлення листівки чи

телефонного дзвінка. Вивести додаткове повідомлення, якщо

телефон відсутній.

Теоритичні відомості

Робота з датою в JavaScript

Об’єкт Data дозволяє використовувати в сценаріях JavaScript дати та числа. Конструктор об’єкту має такий формат: <змінна_дати> = new Date ({Рік}, {Місяць}, {Число} [, {Години} [, {Хвилини} [, {Секунди} [, {Мілісекунди}]]]]), де new – ключове слово, яке використовується для ініціалізації об’єкту вказаного типу. Якщо не вказаний жоден параметр, конструктор ініціалізує об’єкт поточною датою. Дати в JavaScript зберігаються в мілісекундах, починаючи з 00:00:00 1 січня 1970 року. Дати до цього моменту в скриптах використовувати не рекомендується. Це пов’язано з тим, що в сценаріях значно частіше приходиться мати справу з теперішнім і майбутнім часом, ніж з минулим.

Масиви

Тип "Array" введений у JavaScript 1.1 для можливості маніпулювання самими різними об'єктами, що відображаються браузером. Користувач може створити власний масив, використовуючи конструктор Array(). Приклад використання конструктора масиву:

− new_array = new Array();

− new_array5 = new Array(5);

− colors = new Array ("red","white","blue");

Розмірність масиву може динамічно змінюватися. Можна спочатку визначити масив, а потім присвоїти одному з його елементів значення.

Об’єкти користувача в JavaScript

Хоча змінні і масиви JavaScript надають досить великі можливості збереження даних, іноді потрібно використовувати складніші структури. При використанні звичних об’ємів змінних програма стане громіздкою і складною в управлінні. Масиви полегшують задачу. При їх використанні працювати з даними буде легше, однак незручно. За допомогою об'єктів можна всі змінні, пов’язані між собою, зберігати у вигляді одного елементу (подібно одній картці в картотеці). B об'єкт також можна додати спеціальні методи, що дозволять обробляти і відображати на екрані необхідну інформацію.

Лістинг програми

<script language="javascript">

function group(name, count, genre){ // Конструктор обєкту група

this.name=name;

this.count=count;

this.genre=genre;

this.getName = function(){

alert(this.name);

}

}

function concert(venue, dateOf, group){ // Конструктор обєкту концерт

this.venue=venue;

this.dateOf=dateOf;

this.group=group;

this.address_concert = function (){

if ((this.venue=="") || (this.venue==undefined)) alert("Невідома адреса концерту гр. "+this.group.name);

}

this.date_concert = function(){

var newDate = new Date();

if ((newDate.getMonth()==this.dateOf.getMonth()) && (newDate.getDate()==(this.dateOf.getDate()-5))){

alert("Сьогодні останій день покупки квитка на концерт гр. "+this.group.name+" що відбудеться у м. "+this.venue);

return "Останній день покупки квитка";

}

if ((newDate.getMonth()==this.dateOf.getMonth()) && (newDate.getDate()==this.dateOf.getDate())){

alert("Сьогодні відбудеться концерт гр. "+this.group.name+" в м. "+this.venue);

return "Сьогодні концерт";

}

if ((newDate.getMonth()>=this.dateOf.getMonth()) && (newDate.getDate()>this.dateOf.getDate())){

alert("Концертна гр. "+this.group.name+" уже відбувся");

return "відбувся";

}

if ((newDate.getMonth()<this.dateOf.getMonth())){

alert("Ще є час до покупки квитка на концерт гр. "+this.group.name);

return "Є час для покупки квитка";

}

if ((newDate.getMonth()==this.dateOf.getMonth()) && (newDate.getDate()<this.dateOf.getDate()-5)){

var day = (this.dateOf.getDate()-5)-newDate.getDate();

alert("Для покупки квитка на концерт гр. "+this.group.name+" залишилось "+day+" дні(в)");

return day+" дні(в) для покупки квитка";

}

if ((newDate.getMonth()==this.dateOf.getMonth()) && (newDate.getDate()>this.dateOf.getDate()-5) && (newDate.getDate()<this.dateOf.getDate())){

var day = (this.dateOf.getDate())-newDate.getDate();

alert("До концерту гр. "+this.group.name+" залишилось "+day+" дні(в)");

return day+" дні(в) до концерту";

}

}

}

var Groups = new Array(); //

Groups[0] = new group("Hi-fi", 3, "Pop");

Groups[1] = new group("Брати Грим", 2, "Pop");

Groups[2] = new group("Смоки Мо", 1, "Rep");

Groups[3] = new group("Птаха", 1, "Pop");

Groups[4] = new group("One Love", 2, "Hip");

var Concerts = new Array();

Concerts[0] = new concert("Черкаси", new Date(2013,3,18), Groups[0]);

Concerts[1] = new concert("Київ", new Date(2013,3,22), Groups[0]);

Concerts[2] = new concert("Чернігів", new Date(2013,3,16), Groups[1]);

Concerts[3] = new concert("Тальне", new Date(2013,3,20), Groups[2]);

Concerts[4] = new concert("Львів", new Date(2013,3,28), Groups[3]);

Concerts[5] = new concert("Черкаси", new Date(2013,3,10), Groups[4]);

document.write("<table border=1>");

document.write("<caption>Концерти</caption>");

document.write("<tr><td>Місто</td><td>Група</td><td>Дата</td><td>Статус</td></tr>");

Concerts[0].address_concert();

for (var i=0; i<Concerts.length; i++){

document.write("<tr><td>"+Concerts[i].venue+"</td><td>"+Concerts[i].group.name+"</td><td>"+Concerts[i].dateOf.getFullYear()+"."+0+Concerts[i].dateOf.getMonth()+"."+Concerts[i].dateOf.getDate()+"</td><td>"+Concerts[i].date_concert()+"</td></tr>");

}

document.write("</table>");

</script>

Результати виконання js-скрипта у вікні браузера

Висновок

При виконанні даної лабораторної роботи було опрацьовано теоретичні відомості, на основі отриманої інформації по вказаному варіанті розроблений скрипт який працює із створеними масивами обєктів, а також з порівнянням дати.