Package 'hours2lessons'

Title: Alocă Pe Ore Lecțiile Zilei
Description: Lecțiile prof/cls trebuie completate cu un câmp "ora", astfel ca oricare două lecții prof/cls/ora să nu se suprapună într-o aceeași oră. The prof/cls lessons must be completed with a "hour" field ('ora), so that any two prof/cls/ora lessons do not overlap in the same hour. <https://vlad.bazon.net/>.
Authors: Vlad Bazon [aut, cre]
Maintainer: Vlad Bazon <[email protected]>
License: MIT + file LICENSE
Version: 1.0.0
Built: 2026-10-11 15:45:58 UTC
Source: https://github.com/cran/hours2lessons

Help Index


Exemplu de lecții, cu 64 profesori (între care, patru cuplaje dintre care două fac parte din tuplaje) și 34 clase

Description

set de 205 lecții prof|cls, care trebuie să se desfășoare în orele 1:7 ale unei zile. Fiecare profesor are cel puțin una și cel mult 7 ore (lecții); fiecare clasă are cel puțin 5 și cel mult 7 ore. Unele lecții (indicate în setul "dayTuples") trebuie să cadă într-o aceeași oră a zilei.

Usage

dayLessons

Format

prof

Cod de 3 sau 6 caractere, reprezentând un profesor, respectiv un cuplaj (doi profesori, pe grupe ale unei clase); primele două litere abreviază disciplina pe care este încadrat profesorul, iar cifra care urmează indexează profesorii de pe aceeași disciplină

cls

Clasa (două sau trei caractere) la care va intra profesorul/cuplajul în ziua respectivă


Exemplu de tuplaje

Description

set de 4 tuplaje asociate setului "LSS". Un tuplaj va angaja într-o aceeași oră, mai mulți profesori și mai multe clase, dar un tuplaj corect trebuie să aibă același număr de profesori ca și de clase. Dacă numărul de profesori este totuși mai mare decât al claselor din tuplaj, utilizatorul va ști cel mai bine care dintre profesorii respectiv trebuie cuplați, încât tuplajul să devină corect.

Usage

dayTuples

Format

prof

Profesorii (eventual, cuplați doi pe o aceeași clasă) care trebuie să intre într-o aceeași oră a zilei la câte una dintre clasele respective (separați printr-un spațiu).

cls

Clasele care trebuie tuplate (separate printr-un spațiu).


Transformă prof|cls|ora în matricea profesorilor pe orele 1:7

Description

"Matricea-orar" are liniile numite după profesori, fiecare linie conținând clasele la care intră profesorul respectiv, în orele 1:7. Fiecare clasă apare câte o singură dată pe fiecare coloană de rang mai mic sau egal cu numărul de ore al clasei respective.

Usage

long2matrix(ORR)

Arguments

ORR

data.frame prof|cls|ora (format lung)

Value

matricea orară a lecțiilor: clasele alocate pe ore fiecărui profesor

Examples

LM <- long2matrix(as.data.frame(mount_hours(dayLessons, dayTuples)))

Adaugă 'ora' încât oricare două lecții prof|cls|ora să nu se suprapună, iar lecțiile dintr-un același tuplaj să cadă într-o aceeași oră 1:7

Description

Adaugă 'ora' încât oricare două lecții prof|cls|ora să nu se suprapună, iar lecțiile dintr-un același tuplaj să cadă într-o aceeași oră 1:7

Usage

mount_hours(LSS, TPL = NULL)

Arguments

LSS

data.frame cu lecțiile prof|cls, unde 'prof' este un profesor propriu-zis, sau unul fictiv (cuplaj de doi/clasă)

TPL

data.frame pentru tuplaje, dacă este cazul Un tuplaj conține 2 sau mai mulți profesori, pe 2 sau mai multe clase (numărul de profesori fiind egal cu al claselor)

Details

'PERM' is a list of permutations for 4:7 elements. 'h2bin' is a vector of integers 2^(h-1) for the hours h=1:7. 'cnt_holes()' gives the current number of gaps in an individual schedule.

Value

Un orar 'prof|cls|ora' pentru ziua respectivă

Examples

STP <- as.data.frame(mount_hours(dayLessons, dayTuples)) %>% 
           dplyr::arrange(cls, ora)

Verifică matricea-orar

Description

Fiecare clasă trebuie să apară cel mult o singură dată, pe fiecare coloană.

Usage

verify_matrix(MP)

Arguments

MP

Matricea-orar

Value

TRUE dacă fiecare clasă apare cel mult o dată, pe fiecare coloană (FALSE în caz contrar)