23 апр. 2010 г.
პროგრამირების მცდელობა
გთავაზობთ სავარჯიშოს გონებისათვის, რომელიც ექსელის და ფუნქცია if-ის საშუალებითაა შესაძლებელი დაპროგრამდეს, მისი არსია შემდეგი:
რომელიმე უჯრაში ჩაწერილი რიცხვი, რომელიმე სხვა უჯრაში წარმოდგეს სიტყვიერად,ანუ
თუ ჩავწერთ 1 დაიწეროს - ერთი, 9-ზე ცხრა, 18-ზე თვრამეტი
თუ ჩავწერთ 20 დაიწეროს - ოცი, 29-ზე - ოცდაცხრა, 75-ზე - სამოცდათხუთმეტი
100-ზე - ასი, 200-ზე - ორასი
999-ზე - ცხრაას ოთხმოცდა ცხრამეტი
ეს ჩამონათვალი შეიცავს მინიშნებას, როგორ მივუდგეთ ალგორითმის ჩამოყალიბებას
ფუნქცია IF
მაგალითად, თუ ცხრილში სადმე გამოიყენება გაყოფა, თუნდაც საშუალო არითმეტიკული გამოთვლის შემთხვევაში.
ხშირად ცხრილის შემუშავება ხდება ზოგადად, ანუ გათვლილია, რომ მას მომხმარებელი შეავსებს, თუმცა ფორმულები უნდა გავითვალოთ და ყველოა საჭირო უჯრაზე გავამრავლოთ, ამან კი გარკვეულ უჯრებში შესაძლოა შეცდომების გამოჩენე გამოიწვიოს.
ამის თავიდან ასაცილებლად შესაძლებელია შემოწმება ოპერანდი უჯრების, შევსებულია თუ არა ისინი, ამასთან შესაძლებელია შემოწმებული იქნას შევსებულ უჯრაში ტექსტია თუ რიცხვი, ხოლო თუ ეს ასეა, მხოლოდ მაშინ მივცეთ გამოთვლით გამოსახულებას მოქმედების საშუალება, ალგორითმი ჩამოყალიბდება ასე:
თუ (if) ოპერანდი უჯრა არ არის ცარიელი (not empty), მაშინ გამოთვლის გამოსახულება, თუ არა მაშინ გამოტანილი იქნას ცარიელი სტრიქონი ("")
შეეცადეთ გააკეთოთ აღწერილის რეალიზაცია
კიდევ, ხათუნამ მეილზე მომწერა, მაგრამ აქ ვერ ვნახე, ფუნქციაში შემავალი ოპერანდები ერთმანეთისაგან იმიჯნება ოფენ-ოფისში მძიმით (,), ექსელში - წერტილ-მძიმით (;)
ანუ
ოფენ ოფისი =if(a>b, "a მეტია", "მეტია b")
ექსელი =if(a>b; "a მეტია"; "მეტია b")
ნუ ჩათვლით, რომ რაც იცით, უმნიშვნელოა, ყველაფერზე დაწერეთ ;)
20 апр. 2010 г.
ფუნქცია IF
ფუნქცია IF წარმოადგენს ლოგიკურ ტექსტს. მისი ჩაწერის სინტაქსი ასეთია:
IF(პირობა;მნიშვნელობა1;მნიშვნელობა2).
თუ პირობა ჭეშმარიტია, მაშინ ფუნქციას ენიჭება მნიშვნელობა 1, თუ მცდარია - მნიშვნელობა 2.
ამოცანა: 1 ყავა "პელე" ღირს 2,20 ლარი, თუ შევიძენთ 50-ს და მეტ ყუთს, მაშინ მისი ყიდვა შეგვიძლია 2,05 ლარად, ხოლო თუ ვიყიდით 100 მეტს, მაშინ 1,95 ლარად.
ეს ამოცანა ასე ამოიხსნება:
A1 უჯრაში დავწეროთ 49, A2-ში 50, A3 -51, A4 -75, A 5 -99, A6 = 100, A7 -101.
B1 უჯრაში დავწეროთ ფორმულა:
=IF(A1>=50;IF(A1>100;A1*1.95;A1*2.05);A1*2.2)
გადავამრავლოთ ეს უჯრა. დავინახავთ, რომ როცა რაოდენობა მეტია ან ტოლი 50-ის, მაშინ სრულდება პირობა A1*2,05, თუ ნაკლებია, A1*2,2, თუ A1მეტია 100-ზ, მაშინ სრულდება პირობა A1*1,95.
ამოვხსნათ ამოცანა: ერთ-ერთმა გამომცემლობამ სკოლაში შემოიტანა მათემატიკის წიგნები. 1 წიგნის ფასია 25 ლარი. პირობა ასეთია, თუ შევიძენთ 10 და მეტ წიგნს, მაშინ მისი ფასი იქნება 21,5 ლარი, 20 და მეტი წიგნის შეძენის შემთხვევაში, ერთი წიგნი ეღირება 18,75 ლარი. რამდენს გადავიხდით თუ შევიძენთ 8, 10, 12, 19, 20, 21 და 30 წიგნს?
17 апр. 2010 г.
თარიღის წარმოდგენა
იგივე შეიძლება თარიღებზეც. შევიტანოთ A1 უჯრაში 16/04/2010, დავაკვირდეთ რომ მან დაიკავა უჯრაში მარჯვნა მხარე და გავამრავლოთ ის A სვეტში ქვემოთ, რამოდენიმე უჯრაზე, დავინახავთ, რომ გაიზრდება რიცხვი, ანუ 17, 18 და ა. შ.
ახლა B1 უჯრაში ჩავწეროთ =A1+1, აქაც ჩაიწერება ერთი დღით მეტი, გავმრავლოთ B1 უჯრაც მარჯვნივ რამოდენიმე უჯრაზე, მივღეთ თარიღების გირლიანდა ექსპერიმენტებისათვის.
ამოვარჩიოთ ნებისმიერი თარიღიანი უჯრა, მაგალითად A2 და გადავიდეთ უჯრის ფორმატირებაში. თარიღისათვის არის მრავალი შემოთავაზება, სანა მომხმარებლის თარგებზე გადავიდოდეთ, მოსინჯეთ ყველა და ნახეთ თქვენი უჯრის ცვლილება. შემდეგ მომხმარებლის ფორმატში ჩაწერეთ D, ეს ნიშნავს რომ თარიღიდან უჯრაში გამოჩნდება მხოლოდ დღე, თუ ამ უჯრას გავამრავლებთ A2 უჯრას ქვემოთ, შევხედავთ რომ მათზეც გავრცელდება აღებული თარგი, ანუ გამოჩნდება მხოლოდ დღეები.
თუ ავიღებთ DD, მაშინ 1,2 და 9-მდე რიცხვები გამოჩნდება როგორც 01, 02 და ა. შ.
D - დღე, DD - დღე ნოლებით
M თვე მოკლე რიცხვით, MM თვე რიცხვებით, MMM - თვე შემოკლებული სიტყვით, MMMM თვე სიტყვით მთლანად.
YY წელი მოკლედ, YYYY წელი მთლიანად
NN კვირის დღე შემოკლებით, NNN - კვირის დღე სრულად, NNNN - კვრის დღე და ბოლოში მძიმე
Q კვარტალი რომაულით, QQ - კვარტალი არაბული რიცხვებით
ასევე თარგი აქვს დროსაც HH:MM:SS საათი, წუთები და წამები
რიცხვების წარმოდგენა
ეს ნიშნავს იმას, რომ მაგალითად თუ ოპერაციულ სისტემაში გვაქვს ამერიკული სტანდარტი, მაშინ ცხრილში უჯრაზე ფულის ფორმატის მითითებისას რიცხვი დაიწერება დოლარის ნიშნით, ქართული სტანდარტის დროს ლარის ნიშნით და ა. შ.
სტანდარტების ფორმატირებასას ყველა ოპერაციულ სისტემაში არის განსხვავებები, ამიტომ ესეც გასათვალიწინებელი იქნება.
დავუბრუნდეთ ჩვეულებრივი რიცხვის ფორმატირებას...
რიცხვი, თუ არ არის სპეციალური ფორმატირება, უჯრაში შეყვანის შემდეგ იკავებს მარჯვენა პოზიციას, ამ თვისებით ჩვენ შეგვიძლია დავასკვნათ, რომ პროგრამის მიერ ის სწორად იქნა გაგებული, ანუ მიჩნეული რიცხვად. ეს მნიშვნელოვანი მომენტია გამოთვლების სისწორისათვის, რადგან, არის შემთხვევა, რომესაც რიცხვი რაიმე დამატებითი გავლენის გამო, არ იღებს გამოთვლებში მონაწილეობას და შესაბამისად შედეგი გამოვა მცდარი.
ვთქვათ გვინდა რომ 1-დან 9-მდე რიცხვები გამოვსახოთ 01, 02 და ა. შ.
ამისათვის უნდა მივმართოთ უჯრის ფორმატს, მოვძებნოთ მომხმარებლის ფორმატირების ველი და ჩავწეროთ შაბლონი 00.
რა ნიშნავს ეს, თუ რიცხვი არის ერთნიშნა მაშინ მას მეორე ნიშნად (წინიდან) დაემატება 0. ასევე ორნიშნა რიცხვებისათვის დაიწერება 000 და ყველა რიცხვი დაიწყება ნულით. ნულიანი არის ზოგადი თარგი, რომელიც ამოიცლება გამოსატანი რიცხვებით, ხოლო თუ გამოსატან რიცხვს არ ყოფნის თანრიგების რაოდენობა, მაშინ მის ადგილს იკავებს თარგში მითიებული ნულიანი. შესაძლებელია ათასეულებად დაყოფაც, ანუ თუ მივუთითებთ შაბლონს 0 000, მაშინ რიცხვი 1 დაიწერება 0 001, ხოლო ათასი - 1 000.
დავალება: გავაკეთოთო რიცხვის შაბლონი, რომელიც სრულად მომცემს მოქალაქის პირადი ნომრის გამოსახვას, იმ შემთხვევაშიც, თუ ის იწყება ნულზე
რიცხვის თარგისათვის გამოიყენება აგრეთვე სიმბოლო - #. ეს ნიშნავს "ნებისმიერი სიმბოლო"
შაბლონი # #00 ნიშნავს, რომ ერთანრიგიანი რიცხვები შეივსებიან წინ ნულით, ხოლო ოთხთანრიგიან რიცხვებში ათასეული იქნება გამოცალკევებული
ცხრილში რიცხვების წარმოდგენის განხილვა ხდება, როგორც დადებითი, უარყოფითი და ნული, ყველა მათგანისათვის შესაძლებელია ცალკე შაბლონის დაწერა, ამისათვის ისინი ერთმანეთისაგან უნდა გაიყოს წერტილმძიმით (;).
მაგალითი: # 000;#;- - ნიშნავს, რომ დადებთი რიცხვები ათასამდე წინიდან შეივსება ნულებით, უარყოფითი რიცხვის მინუსი არ გამოჩნდება, ხოლო ნულის ჩაწერის შემთხვევაში გამოჩნდება ტირე
[GREEN]# ##0;[RED]# ##0;[BLUE]- შაბლონი უჯრაში დადებით რიცხვებს გამოიტანს მწვანედ, უარყოფითებს მინუსის გარეშე და წითლად, ხოლო ნულიანს ასახავს ლუჯი ტირეთი. თუ მითითებული არ არის ნულის შაბლონი, მაშინ ის განისაზღვრება დადებითი რიცხვების შაბლონით, ამ შემთხვევაში იგი იქნებოდა მწვანე ფერის
რიცხვების ამგვარ წარმოდგენაში მთავარი არის ის რომ, ჩვენ გვეძლევა ცხრილის გარკვეული ფორმატირების საშუალება, ამასთან უჯრები არ ვარდება არითმეტიკული გამოთვლებიდან, თუმცა ნულიანი იქნება ტირით გამოსახული, მარა იგი მაინც ნული მნიშნელობით მიიღებს მონაწილეობას, აგრეთვე უარყოფითი რიცხვები - მინუსი არ გამოჩნდება, მაგრამ გამოთვლებში ის მაინც გათვალიწინებული იქნება.
პირველი მაგალითი
IF - თუ
ექსელის ფუნქციების დაწერის წესის მიხედვით, ვწერთ ტოლობას, ფუნქციის სახელს. თუ ფუნქციამ რაიმე არგუმენტების გამოყენებით უნდა მიიღოს შედეგი, მაშინ ამ არგუმენტებს ვუთითებთ ფრჩხილებში. ერთზე მეტი არგუმენტის შემთხვევაში ისინი ერთმანეთისაგან გაიმიჯნებიან მძიმით.
(გუგლ-დოკებში არგუმენტები უნდა გავმიჯნოთ წერტილ-მძიმით)
ფუნქცია IF-ის შემთხვევაში საჭიროა სამი არგუმენტი:
1. ლოგიკური პირობა, რომელის შედეგი არის ჭეშმარიტი ან მცდარი
2. პირობის ჭეშმარიტების შემთხვევაში გამოსათვლელი გამოსახულება
3. მცდარობის შემთხვევაში გამოსათვლელი გამოსახულება
მაგალითი
ასეთი ჩანაწერი გავაკეთოთ C1 უჯრაში
=IF(A1>B1,"მეტია","ნაკლებია")
ჩანაწერის მიხედვით, თუ A1 უჯრაში ჩაწერილი რიცხვი მეტი იქნება B1-ში ჩაწერილზე C1 უჯრაში დაიწერება - "მეტია", თუ არა - "ნაკლებია"
შემდეგი ფუნქციები შეეხება თარიღებს
კომპიუტერულად თარიღს აქვს რიცხვის ფორმატი, ხშირ შემთხვევაში სისტემებისათვის ის არი წამების რაოდენობა გარკვეული თარიღიდან, მაგალითად ლინუქსისთვის ეს არის წამების რაოდენობა 1970 წლიდან, მიუხედავად იმისა, რომ ეს ადამიანისათვის დიდი რიცხვია, კოპიუტერისათვის პრობლემა არაა მისი თარიღის ნებისმერ ფორმატში გადაყვანა, ეს იქნება დღეები, თვეები, წამები თუ წლები
ქვემოთ ასეთ მანიპულაციებზე ვისაუბრებთ
ჩავწეროდთ A1 უჯრაში 01/04/2010
B1 უჯრაში ჩავწეროთ =A1+1, უნდა მივიღოთ 02/04/2010
შემდეგ თუ B1 უჯრას გავამრავლებთ მარჯვნივ, ავტომატურად მივიღებთ კალენდარს
ალბათ გასაგებია რომ მე მინდა გავწერო თარიღები ტრიმესტრისათვის, მაგრამ მთლიანი თარიღის გამოსახვით 60 უჯრა ძალიან გრძელ პროსტინას წარმოქმნის, ანუ უნდა შევავიწროვო სვეტები. კარგი იქნებოდა თუ თარიღის მხოლოდ რიცხვს წარმოვაჩენთ, ამისათვის უნდა შევიდეთ უჯრის ფორმატირებაში და მომხმარებლის ფორმატში ჩავწეროთ D ან D;@
დიდ გარანტიებს ვინდოუსისთვის ვერ მოგცემთ, რადგან მე ლინუქსში ვაკეთებ ამას ყველაფერს
უჯრებში დაჯდება 1, 2 და ა. შ. ამის მერე შესაძლებელია შევავიწროვო სვეტებიც, ეს ხელითაც შეიძლება, როგორც ცალცალკე სვეტების, მონიშნულის
მე მირჩევნია გავაკეთო ზუსტად, მოვნიშნავ სვეტებს, მარჯვენა ღილაკი და სვეტის სიგანეს მივუთითებ .5სმ, ექსელში ეს პუნქტებით ეთითება, ამიტომ იქ ემპირიული მნიშვნელობის შეტანა მოგიწევთ. სვეტის სიგანე გავითვალიწინოთ ისე რომ უჯრაში შევძლოთ ნიშნის ჩაწერა.
სვეტები შევავიწროვეთ და მივიღეთ ცხრილი, რომლის თავზე არის თვის რიცხვები
შემდეგი პოსტი იქნება კვირის დღეების დათვლა
13 апр. 2010 г.
პიველი დავალება
მათ ვინც ვიყავით დღეს ტრენიგზე:
რა საკითხებზე იყო დღეს საუბარი, რა ვიცოდით და რა იყო ახალი, ყველაფერი იყო გასაგები თუ არა
მათ ვინც არ იყო:
ნაცნობია თუ არა თქვენთვის აღნიშნული საკითხები
რა საკითხების განხილვას ისურვებდით