You are on page 1of 35

პროგრამირების საწყისები

Python
ლ ე ქ ც ია 1 : შე ს ა ვა ლ ი , ი ნ ტე რ პრე ტატორი

ლიკა სვანაძე
lika.svanadze@btu.edu.ge
ლიტერატურა

Practical Programming, An Programming in Python 3; A Python Cookbook (3rd Mastering Python for Data
Introduction to Computer Complete Introduction to the edition), D. Beazley, 2013 Science, S. Madhavan, 2015
Science Using Python 3 (2nd Python Language (2nd Edition),
edition), J. Campbell, 2013 M. Summerfield, 2009

29.09.2020 lika.svanadze@btu.edu.ge 2
რა არის პროგრამირება?

29.09.2020 lika.svanadze@btu.edu.ge 3
რა არის ალგორითმი?
ორი რიცხვის საშუალო
არითმეტიკულის გამოთვლა

a=5, b=9

𝑎+𝑏 5+9
= =7
2 2

29.09.2020 lika.svanadze@btu.edu.ge 4
რა არის ალგორითმი?
8 queens puzzle

29.09.2020 lika.svanadze@btu.edu.ge 5
განსაზღვრება
ალგორითმი არის ინსტრუქციების (ბრძანებების) ერთობლიობა.

პროგრამირების ენა - მოიცავს ლექსიკონს (სიტყვების მარაგს) და


სინტაქსს/გრამატიკულ წესებს, რომლის საშუალებითაც ხდება
ინსტრუქციების დაწერა/ჩამოყალიბება.

პროგრამა - არის კოდი, რომელიც ასრულებს ინსტრუქციებს და ჩაწერილია


კონკრეტულ პროგრამირების ენის სინტაქსის გათვალისწინებით

პროგრამირება არის პროცესი, რომლის დროსაც ხდება პროგრამის


ინსტრუქციების შემუშავება, მათი თანმიმდევრობის განსაზღვრა და
შედეგად სრულდება გარკვეული ოპერაცია/მოქმედება.

29.09.2020 lika.svanadze@btu.edu.ge 6
პროგრამირების ისტორია
Charles Babbage (1791-1871)

გამოთვლითი მოწყობილობა

ანალიტიკური მოწყობილობა

29.09.2020 lika.svanadze@btu.edu.ge 7
პროგრამირების ისტორია
Ada Lovelace (1815 – 1852)

29.09.2020 lika.svanadze@btu.edu.ge 8
პროგრამირების ისტორია
Alan Turing (1912 – 1954)

29.09.2020 lika.svanadze@btu.edu.ge 9
პროგრამირების ენები

29.09.2020 lika.svanadze@btu.edu.ge 10
Python history

1994 Python 1.0 2000 Python 2.0 2008 Python 3.0 2019 Python 3.8

29.09.2020 lika.svanadze@btu.edu.ge 11
Python VS others
◆ ეფექტურად (მარტივად) კოდის წერა

◆ მაღალი დონის პროგრამირების ენა (high level language)

◆ ინტერპრეტატორის მხარდაჭერა

◆ ფართო გამოყენება სხვადასხვა დისციპლინებში: web, big data, machine


learning, image analysis, ბიოინფორმატიკა, ა.შ.

29.09.2020 lika.svanadze@btu.edu.ge 12
Python VS others
Python PHP
<?php
print(“Hello, world”)
echo “Hello, world”;
C ?>
Pascal
#include <stdio.h>
int main(void) program HelloWorld;
{ begin
printf(”hello, world\n”); writeLn(“Hello world“);
} end.
Java
public class Hello
{
public static void main(String argv[])
{
System.out.println(“Hello, World!”);
}
13
}
29.09.2020 lika.svanadze@btu.edu.ge
რიცხვითი სისტემები
10-ობითი, 2-ობითი, 4-ობითი, 8-ობითი და 16-ობითი სისტემები

29.09.2020 lika.svanadze@btu.edu.ge 14
ინფორმაციის საზომი ერთეული
ორობითი სისტემა ათობითი სისტემა
ციფრები: 0, 1 ციფრები: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
bit
მაგ. 327 = 3 x 100 + 2 x 10 +7 x 1
0 1 1 0 1 0 0 1
ასეული ათეული ერთეული

Byte
1 Byte = 8 bit
1 KB = 1024 Byte
1 MB = 1024 KB
1 GB = 1024 MB
1 TB = 1024 GB
29.09.2020 lika.svanadze@btu.edu.ge 15
ორობითი სისტემა
რიცხვის ორობითიდან ათობით სისტემაში გადაყვანა:

0 1 1 0 1 0 0 1
27 26 25 24 23 22 21 20

01101001 = 0 * 27 + 1 * 26 + 1 * 25+ 0 * 24+ 1 * 23+ 0 * 22+ 0 * 21+ 1 * 20 =


64 + 32 + 8 + 1 = 105

(01101001)2=(105)10

29.09.2020 lika.svanadze@btu.edu.ge 16
ორობითი სისტემა
რიცხვის ათობითიდან ორობით სისტემაში გადაყვანა:

105 2 = 52 ნაშთი 1
52 2 = 26 ნაშთი 0
26 2 = 13 ნაშთი 0
13 2 = 6 ნაშთი 1 1 1 0 1 0 0 1
6 2= 3 ნაშთი 0
3 2= 1 ნაშთი 1
1 2= 0 ნაშთი 1

29.09.2020 lika.svanadze@btu.edu.ge 17
4-ობითი სისტემა

29.09.2020 lika.svanadze@btu.edu.ge 18
4-ობითი სისტემა

29.09.2020 lika.svanadze@btu.edu.ge 19
Python-ის პროგრამის გაშვება
Software

Central
Processing Unit
(CPU)

Secondary Memory
Primary Memory (HDD)
(RAM)

29.09.2020 lika.svanadze@btu.edu.ge 20
Python-ის პროგრამის გაშვება
მაღალი დონის ენა Python Program

Python Interpreter
თარგმნა

Operating system

მანქანური ენა CPU

29.09.2020 lika.svanadze@btu.edu.ge 21
Python-ის პროგრამის გაშვება
მაღალი დონის ენა Python Program

Python Interpreter
თარგმნა

Operating system

Memory
მანქანური ენა CPU 01110010 11010001
00110001 00110101
11100101 11101011

29.09.2020 lika.svanadze@btu.edu.ge 22
ინტერპრეტატორი
Python ინტერპრეტატორი არის პროგრამა, რომელიც კითხულობს
დაწერილ კოდს და ახდენს მის შესრულებას.

Download Python 3.0. - https://www.python.org/

არსებობს ორი გზა ინტერპრეტატორის გამოყენების:

1. shell-ის გამოყენებით, სადაც ხდება ბრძანებების გაშვება სათითაოდ


ინტერაქტიულ რეჟიმში

2. დაწერილი პროგრამის გაშვება შენახული ფაილის სახით (*.py)

29.09.2020 lika.svanadze@btu.edu.ge 23
ინსტალაცია

1
მონიშნეთ
ოპცია “Add Python
3.7 to PATH”
2
მონიშვნის
შემდეგ
დაიწყეთ
ინსტალაცია

29.09.2020 lika.svanadze@btu.edu.ge 24
ინსტალაცია
თუ ინსტალაციის დროს გამოგრჩათ მონიშვნის გაკეთება, იხ. ლინკი:
https://www.pythoncentral.io/add-python-to-path-python-is-not-recognized-as-an-internal-or-external-command/

ან შეასრულეთ შემდეგი მოქმედება:

29.09.2020 lika.svanadze@btu.edu.ge 25
Editor
▪ Python პროგრამის დასაწერად გვჭირდება სპეციალური სამუშაო გარემო.
▪ Editor-ს, რომელიც შემუშავებულია სპეციალურად პროგრამის კოდის დასაწერად
უწოდებენ IDLE-ს ანუ Integrated DeveLopment Environment. მას გააჩნია დამატებითი
ფუნქციონალი, რომ უფრო ეფექტურად და გამარტივებულად შეძლოს
პროგრამისტმა კოდის წერა. IDLE საშუალებას იძლევა იმავე გარემოში მოხდეს
პროგრამის გაშვება.
▪ ერთ-ერთი Python IDLE არის JetBrains PyCharm
▪ იხილეთ საინსტალაციო შემდეგ ლინკზე: https://www.jetbrains.com/pycharm/
გადმოწერეთ community ვერსია ან professional ვერსია. Professional-ი შეგიძლიათ
გამოიყენოთ უფასოდ თქვენი მეილის საშუალებით (btu-ს მეილი). კერძოდ,
დარეგისტრირდით თქვენი მეილით აღნიშნულ საიტზე და შეძლებთ ლიცენზიის
მოპოვებას უფასოდ.

29.09.2020 lika.svanadze@btu.edu.ge 26
Pycharm-ის ინსტლაცია
ინსტალაციის დროს მონიშნეთ შემდეგი პუქნტები:

29.09.2020 lika.svanadze@btu.edu.ge 27
Pycharm-ის ინსტლაცია
ინსტალაციამდე დარეგისტრირდით pycharm-ის საიტზე. ინსტალაციის
დროს კი მიუთითეთ თქვენი რეკვიზიტები.

29.09.2020 lika.svanadze@btu.edu.ge 28
Bug
Bug - არის შეცდომა პროგრამაში, რომელიც იწვევს გაუთვალისწინებელ ან
არასწორ შედეგს.

მიზეზი: ადამიანიური შეცდომები, პროგრამის კომპლექსურობა, დედლაინი,


პროგრამის მახასიათებლის/ფუნქციონალის ხშირი ცვლილება, არასაკმარისი
ტესტირება.

ასევე გამოიყენება ტერმინები: Error, mistake

29.09.2020 lika.svanadze@btu.edu.ge 29
Debug
Debugging - არის პროცესი, რომლის დროსაც ხდება არსებული და შესაძლო
შეცდომების პოვნა, რომელსაც შეუძლია გამოიწვიოს პროგრამის მუშაობის
შეწყვეტა ან არასწორი მოქმედების განხორციელება.

Debugger - არის ხელსაწყო ინტეგრირებული IDLE-ში, რომლის მეშვეობით


ხდება იდენტიფიცირება/მოძებნა bug-ის და მისი აღმოფხვრა. ასევე,
შეგვიძლია დავათვალიეროთ პროგრამის გაშვების პროცესი ეტაპობრივად.

შეცდომის სხვადასხვა ტიპები:


• Syntax Error (Debug-ის დროს) მაგ: print (“text”

• Runtime error (მაგ. Logical Error)

29.09.2020 lika.svanadze@btu.edu.ge 30
რეზერვირებული სიტყვები (keywords)

29.09.2020 lika.svanadze@btu.edu.ge 31
პროგრამის სტრუქტურა
კომენტარი

ბრძანებები

29.09.2020 lika.svanadze@btu.edu.ge 32
ბრძანებები
Python Code
Python in Console (Terminal) აღწერა
(Debug&Run)
python ან py Python-ის ვერსიის გამოტანა და
ინტერპრეტატორში შესვლა
print("Hello World") Hello World ეკრანზე ბეჭდვა

print(4+5) 4+5 4+5

print(2**3+5/2) 2**3+5/2 23+5/2

print(9//2) 9//2 გაყოფა (მთელი ნაწილით)

help() დახმარების მოდული

quit() ან Ctrl-D help რეჟიმიდან გამოსვლა

exit() ინტერპრეტატორიდან გამოსვლა

python hello.py ფაილის გაშვება

cd Desktop\Python_Exercises დირექტორიის შეცვლა

29.09.2020 lika.svanadze@btu.edu.ge 33
შეკითხვები:
1. რა არის IDLE და რისთვის გამოიყენება?

2. რამდენი ბაიტია 2GB-ში?

3. რა არის 01101100-ის შესაბამისი რიცხვი ათობით სისტემაში?

4. როგორ ჩაიწერება 62 ორობით სისტემაში?

5. გადაიყვანეთ 83 ოთხობით სისტემაში

6. როგორ ჩაიწერება ათწილადი 0.25 ორობით სისტემაში?

29.09.2020 lika.svanadze@btu.edu.ge 34
საინტერსო ლინკები
1. https://www.python.org/
2. MIT Course: Introduction to Computer Science and Programming in Python:
https://www.youtube.com/watch?v=nykOeWgQcHM&list=PLUl4u3cNGP63WbdFxL8giv4yhgdMGaZNA

3. IEEE Spectrum - magazine edited by the Institute of Electrical and Electronics


Engineers https://spectrum.ieee.org/
4. https://www.w3resource.com/python/python-tutorial.php

29.09.2020 lika.svanadze@btu.edu.ge 35

You might also like