ხანდახან გაყოფის გამოთვლის დროს ნაშთი უფრო მეტად აინტერესებს, ვიდრე მთელი რიცხვი. მაგალითად, 17-ის სამზე გაყოფისას, ორის დარჩენილი ნაწილი შეიძლება იყოს უფრო მნიშვნელოვანი, ვიდრე ხუთის მთელი რიცხვი. მათემატიკური პროგრამული უზრუნველყოფის პროგრამაში MATLAB ათასობით ჩაშენებული ფუნქციიდან ერთ-ერთი არის "mod" ბრძანება, შემოკლებით "მოდული". "mod" ფუნქცია პირდაპირ ითვლის განყოფილების ნარჩენს ოპერაცია.
მოდიფიკაციის მაგალითი
დავუშვათ, ჯონს აქვს 17 ვაშლი და მას სურს, რომ ისინი რაც შეიძლება თანაბრად გაყოს მას და ორ მეგობარს შორის ისე, რომ მათ თანაბარი რაოდენობის ვაშლი ჰქონდეთ. რამდენი ვაშლი დარჩება? მოაგვარეთ პრობლემა MATLAB კოდის ამ ერთი ხაზით:
დღის ვიდეო
მოდიფიკაცია (17,3)
MATLAB კითხულობს კოდს, ყოფს 17-ს სამზე და ეუბნება ჯონს, რომ დარჩება ორი ვაშლი.
Mod Versus Rem
"mod"-თან მჭიდროდ დაკავშირებული ფუნქციაა MATLAB-ის "rem" ფუნქცია, შემოკლებული "remainder". შესაძლებელია "mod" ფუნქციის არასწორად გამოყენების პრობლემა ის არის, რომ პასუხი ყოველთვის ინარჩუნებს ნიშანს. გამყოფი. Მაგალითად,
მოდიფიკაცია (-17,3)
აბრუნებს დადებით ორს, რადგან სამი დადებითია. თუ გაყოფის გამოთვლა მოითხოვს პასუხზე სწორ ნიშანს, მაშინ გამოიყენეთ "rem ფუნქცია" ასე:
რემ (-17,3)
ამ შემთხვევაში, MATLAB გამოსცემს უარყოფით ორს.
მოდიფიკაციის ზოგიერთი წესი
არსებობს რამდენიმე წესი, რომელიც MATLAB-ის მომხმარებელმა უნდა იცოდეს "mod" ფუნქციის გამოყენებისას, რომელთა უმეტესობა გამომდინარეობს გაყოფის ძირითადი წესებიდან:
პირველი, "mod (X, 0)" აბრუნებს "X"-ს, ვიდრე შეცდომას. მეორე, "mod (X, X)" აბრუნებს "0". მესამე, "mod (X, Y)" ექნება იგივე ნიშანი, რაც "Y", სანამ "X" და "Y" არ არის ტოლი და "Y" არ არის ნული. და ბოლოს, "mod (X, Y)" და "rem (X, Y)" იგივეა, თუ "X" და "Y" იზიარებენ ერთსა და იმავე ნიშანს, მაგრამ განსხვავდებიან "Y"-ით სხვაგვარად.
გამოიყენეთ კონგრუენციისთვის
მოდულურ არითმეტიკაში ორი რიცხვი არის "თანმიმდევრული mod n", თუ "n"-ზე გაყოფისას მათ აქვთ იგივე ნაშთი. მისი თქმის კიდევ ერთი გზაა ერთ რიცხვზე "n"-ის ჯერადების დამატების ან გამოკლების შემდეგ, შეგიძლიათ დასრულდეთ მეორეზე. მაგალითად, დილის 6 საათზე და საღამოს 6 საათზე. არის "თანმიმდევრული მოდ 12", რადგან ერთს 12-ის დამატება იწვევს მეორეს. კონვერტაცია 6 სთ. სამხედრო დროში 1800 წლამდე, შემდეგი კოდი აფასებს "true"-ს და ადასტურებს მათ შესაბამისობას MATLAB-ის "mod" ბრძანების გამოყენებით:
Mod (6,12)==Mod (18,12)