Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- daysOfWeek = new Array("Понедельник", "Вторник", "Среда",
- "Четверг", "Пятница", "Суббота");
- var count = daysOfWeek.length;
- kateSchedule = {
- dayOfWeek: new Array(),
- startLessons: new Array(),
- endLessons: new Array()
- };
- vladSchedule = {
- dayOfWeek: new Array(),
- startLessons: new Array(),
- endLessons: new Array()
- };
- (function Main () {
- addScheduleForKate();
- addScheduleForVlad();
- showShedules();
- analysisShedules();
- })();
- function addScheduleForKate() {
- alert('Ввод расписания Кати');
- for (var i = 0; i < count; i++) {
- kateSchedule.dayOfWeek[i] = daysOfWeek[i];
- kateSchedule.startLessons[i] = prompt("С какой пары начинаются пары в "
- + daysOfWeek[i] + "?");
- kateSchedule.endLessons[i] = prompt("По какую?");
- }
- }
- function addScheduleForVlad() {
- alert('Ввод расписания Влада');
- for (var i = 0; i < count; i++) {
- vladSchedule.dayOfWeek[i] = daysOfWeek[i];
- vladSchedule.startLessons[i] = prompt("С какой пары начинаются пары в "
- + daysOfWeek[i] + "?");
- vladSchedule.endLessons[i] = prompt("По какую?");
- }
- }
- function showShedules() {
- var div = document.getElementById('info'), string;
- div.innerHTML+='<b>'+"Расписание Кати: "+'</b><br>';
- for (var i = 0; i < count; i++) {
- if (isFreeDay(kateSchedule.startLessons[i], kateSchedule.endLessons[i])) {
- string = daysOfWeek[i]+": "+'<font style="color:green">'+" Выходной день"+'</font><br>';
- }
- else {
- string = daysOfWeek[i]+": с "+ kateSchedule.startLessons[i]+
- " по "+kateSchedule.endLessons[i]+'<br>';
- }
- div.innerHTML+=string;
- }
- div.innerHTML+='<br><b>'+"Расписание Влада: "+'</b><br>';
- for (var i = 0; i < count; i++) {
- if (isFreeDay(vladSchedule.startLessons[i], vladSchedule.endLessons[i])) {
- string = daysOfWeek[i]+": "+'<font style="color:green">'+" Выходной день"+'</font><br>';
- }
- else {
- string = daysOfWeek[i]+": с "+ vladSchedule.startLessons[i]+
- " по "+vladSchedule.endLessons[i]+'<br>';
- }
- div.innerHTML+=string;
- }
- div.innerHTML+='<br><br>';
- }
- // конструктор для объекта с рез-тами анализа
- function createObject() {
- this.daysOfWeek = new Array();
- this.freeTimes = new Array();
- }
- function isFreeDay(startLesson, endLesson) {
- return (startLesson == 0 && endLesson == 0) ? true : false;
- }
- function UnionSortArr(A,B)
- {
- var N = A.length, M = B.length, C = [];
- for (var i=0, j=0, k=0; k<N+M; k++)
- { if (i==N){ C[k] = B[j++]; continue; }
- if (j==M){ C[k] = A[i++]; continue; }
- C[k] = (A[ i ]<B[j]) ? A[i++] : B[j++];
- }
- for (var i=1, j=C[0], k=1; i<N+M; i++)
- { if (C[ i ] !== j)
- { C[k++] = C[ i ]; j = C[ i ]; }
- }
- C.length = k;
- return C;
- }
- function analysisShedules() {
- var analysisResult = new createObject();
- for (var i = 0; i < count; i++) {
- var A = new Array(), B = new Array();
- for (var j=vladSchedule.startLessons[i]-1;j<=vladSchedule.endLessons[i];j++) A[A.length] = j;
- for (var v=kateSchedule.startLessons[i]-1;v<=kateSchedule.endLessons[i];v++) B[B.length] = v;
- analysisResult.daysOfWeek[i] = daysOfWeek[i];
- A.splice(0,1); B.splice(0,1);
- analysisResult.freeTimes[i] = UnionSortArr(A, B);
- }
- showAnalysisResult(analysisResult);
- }
- function showAnalysisResult(analysisResult)
- {
- var div = document.getElementById('info'), string;
- for (var i = 0; i < count; i++) {
- string = analysisResult.daysOfWeek[i]+": "+analysisResult.freeTimes[i]+'<br>';
- div.innerHTML+=string;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement