Kami mempertimbangkan jadwal shift dalam pikiran



Banyak orang yang jadwal kerjanya bisa berubah. Masalah dengan jadwal ini adalah sulitnya menghitung dengan cepat untuk tanggal berapa pun hari itu: bekerja atau libur. Ada banyak layanan online untuk menghitung jadwal shift, tetapi ini bahkan lebih mudah untuk dilakukan dalam pikiran Anda. Artikel ini akan mempertimbangkan algoritma perhitungan dalam pikiran untuk jadwal shift apa pun.

Seperti dalam artikel "Menghitung Hari Minggu dalam Pikiran," algoritma akan didasarkan pada bias bulan.

Artikel akan mempertimbangkan jadwal kerja 3/3. Yaitu "Minggu" dalam kasus kami akan berlangsung 6 hari:

  1   2   3   1   2   3 

Yang paling penting adalah jangan membuat kesalahan saat menghitung offset untuk bulan pertama tahun ini. Semua bulan berikutnya akan tergantung pada ini.

Misalnya, biarkan hari kerja pertama tahun itu menjadi 2 Januari, mis. 2, 3 dan 4 Januari - masing-masing pekerja, libur 5, 6, 7 - hari.

Dalam kasus saya seperti itu
31 Desember - Hari Kerja 1
3 Januari - Hari Kerja 2
4 Januari - Hari Kerja 3
Oleh karena itu, untuk menyederhanakan perhitungan, anggaplah 2, 3, 4 Januari adalah hari kerja.
Ini penting untuk menghitung bias untuk Januari.

Dari yang di atas, kami mendapatkan kalender untuk Januari:



di mana sel hijau adalah hari kerja, sel merah adalah akhir pekan.

Jumlah hari berturut-turut sama dengan jumlah hari dalam "minggu" kami, dalam contoh kami adalah 6.

1 Januari - Hari libur 3;
2 Januari - Hari Kerja 1 (awal "minggu").

Sebelum hari pertama bulan itu ada 5 sel kuning kosong, yang berarti bahwa offset untuk bulan Januari dalam kasus kami adalah 5.

Melanjutkan, kami mendapatkan kalender untuk bulan Februari (tahun tidak kabisat):



seperti yang Anda lihat, offset untuk Februari adalah 0, karena bulan dimulai pada hari kerja pertama.

Selanjutnya untuk bulan Maret:



Offset untuk Maret adalah 4, dan untuk April adalah 5, karena April pertama jatuh pada hari ke 6 dari "minggu", dan akan ada 5 kotak kosong di depannya.

Lalu kita hitung sampai bulan yang kita butuhkan.

Dalam kasus saya, offset untuk 6 bulan pertama adalah:
5, 0, 4, 5, 5, 5 - Januari, Februari, Maret, April, Mei dan Juni. Ingat 6 digit itu tidak sulit.

Untuk menghitung apakah itu hari kerja atau hari libur, Anda perlu menambahkan offset bulan ke tanggal dan menemukan sisa divisi dengan durasi "minggu":

$$ tampilan $$ Tetap = (tanggal + offset \; bulan) \% (durasi \; "minggu") $$ menampilkan $$

Tergantung pada saldo, tentukan hari:

1, 2 dan 3 - hari kerja
4, 5 dan 0 - akhir pekan

Misalnya, untuk 23 Februari 23 (tanggal) + 0 (Februari offset) = 23. Sisanya 23% 6 = 5, ini adalah hari kedua libur.

Untuk 8 Maret 8 (tanggal) + 4 (shift untuk Maret) = 12. 12% 6 = 0. Ini berarti bahwa 8 Maret adalah hari terakhir libur, 9 Maret untuk bekerja.

Contoh lain untuk disematkan:

22 April + 5 (offset untuk April) = 27, sisa pembagian dengan 6 adalah 3 - hari kerja terakhir.

Kelemahan dari algoritma ini adalah pelanggaran terhadap jadwal setelah liburan: tabel offset harus dihitung ulang atau berlibur agar jadwal tidak dilanggar. Misalnya, jika Anda berlibur setelah 3 hari kerja untuk "jumlah hari kerja berturut-turut" * "angka ganjil" hari (3, 9, 15, 21 hari liburan), maka jadwal yang dibahas dalam artikel tidak akan dilanggar.

Dengan menggunakan algoritma ini, Anda dapat menghitung hari dalam pikiran Anda dalam beberapa detik, tidak ada kalender atau layanan online.

Source: https://habr.com/ru/post/id440270/


All Articles