logo

Algoritm va uning xossalari

Yuklangan vaqt:

16.08.2023

Ko'chirishlar soni:

0

Hajmi:

389.0244140625 KB
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruAlgorit m v a uning xossalari 1 Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruAlgoritm nima ? 2
Muhammad al-Xorazmiy
( 783–850 )Algorit m - bu aniq v aqt  ichida 
muammoni hal qilish uchun ijrochi 
bajarishi k erak  bo'lgan harak at lar 
t art ibining aniq t av sifi .
Ijrochi - algoritmni tashkil etuvchi 
buyruqlarni tushunish va bajarishga 
qodir qurilma yoki jonli mavjudot 
(inson).
Rasmiy ijrochilar: buyruqlarning ma'nosini 
tushunmaydilar (va tushuna olmaydilar).  Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruAlgoritm xossalari  3
Diskretlik - algoritm alohida buyruqlardan iborat bo'lib, 
ularning har biri cheklangan vaqt ichida bajariladi.
Determinizm (aniqlik) - har safar algoritm bir xil dastlabki 
ma'lumotlar bilan bajarilganda bir xil natija olinadi.
Tushunarlilik - algoritm faqat ijrochining buyruqlar tizimi 
tarkibiga kiruvchi buyruqlarni o'z ichiga oladi.
Natijaviylik (samaradorlik) - to'g'ri ma'lumotlar to'plami 
uchun algoritm cheklangan vaqtdan keyin bajarilishi 
kerak.
To'g'rilik - joriy kiritilgan ma'lumotlar uchun algoritm 
to'g'ri natijaga olib kelishi kerak.
Ommaviylik  – bitta algoritm turli xil ma'lumotlari uchun 
ishlatilishi mumkin.    К.Ю. Поляков, 2015  http://kpolyakov.spb.ruPYTHON dasturlash 
tili
Sodda dasturlar tuzish  4 Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruSodda dasturlar 5
#  bu tuzilmagan dastur
   Bu dasturning vazifasi nima
? Izoh tugashi  #  
bu izoh dasturga aloqasi 
 yo’q
#  coding: utf-8
#   bu tuzilmagan dastur standart utf-8 
kodlash )
"""  
Bu ham izoh 
"""         Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruEkranga chiqarish 6
print  (  "2+2=?"  )
print  (  “Javob: 4"  )  
Protokol  :
   2+2=?
   Javob : 4 Avtomatik ravishda 
keyingi qatorga 
o’tadi
print  (  '2+2=?'  )
print  (  ‘Javob: 4'  )      Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruMasala  7
«4»:  Ekranga   « Zina »  ko’rinishida chiqarish
  Valijon
          sayrga
               ketdi
«5»:  Harflardan rasmdagidek qilib dastur tuzing
     Ж
   ЖЖЖ
        ЖЖЖЖЖ  
       ЖЖЖЖЖЖЖ
        HH HH
        ZZZZZ    Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruSonlarni qo’shish 8
Vazifa. Klaviaturadan ikkita raqam kiriting va ularning 
yig'indisini toping.
Protokol  :
   Ikkita butun sonni kiriting
   25 
   30
   25+30=55 kompyuterda
foydalanuvchi
Kompyuter o’zi hisoblaydi !
1. Xotiraga raqamlarni qanday kiritish mumkin?
2. Kiritilgan raqamlarni qayerda saqlash kerak?
3. Qanday hisoblash mumkin?
4. Natijani qanday ko'rsatish mumkin??     Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruYig’indi : псевдокод 9
Ikkita sonni chiqarish
Ularning yig’indisini topish
Yig’indini ekranga chiqarish
Псевдокод  –  bu dasturlash 
tilining elementlariga ega rus 
tilidagi algoritm. .
   kompyuter  algoritmni bajara olmaydi!
!    Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruO'zgaruvchilar 10
O'zgaruvchi  -  nomi, turi va qiymatiga ega bo'lgan 
qiymatdir. O'zgaruvchining qiymati dastur 
ishlayotgan vaqtda o'zgartirilishi mumkin.
a Qiymati
nomi   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruO’zgaruvchi nomlari 11
Ijrochi
•
Lotin harflaridan  ( A-Z, a-z)   foydalanish  MUMKIN
•
Krill harflari  ( tavsiya etilmaydi ! )
•
Raqamlar 
•
Tag chiziq     _Katta va kichik harflari  farq qiladi
Mumkin bo’lmagan  holatlar
•
qavslar  
•
belgilar  +, =, !,  ?   Va h.zoNomlar raqamlarlardan  boshlanmaydi
Qaysi nomlar to’g’ri ?
  AXby    R&B    4Wheel     Вася     “PesBarbos” 
TU154    [QuQu]     _ABBA    A+B   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruO'zgaruvch i  turlari 12
a   =   4
print   (  type (a)  )  
<class 'int'> Butun son ( integer )
a   =   4.5
print   (  type (a)  )  
<class ' floa t'> Haqiqiy son
a   =   "Вася"
print   (  type (a)  )  
<class ' str '> Simvolli qatorlar
a   =   True
print   (  type (a)  )  
<class ' bool '> mantiqiy         Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruO’zgaruvchilar nima uchun kerak ? 13
Ular  quyidagilarni belgilaydi: 
H aqiqiy qiymatlar diapazoni ruxsat 
etilgan   operatsiyalar 
Xotira ma'lumotlarni saqlash formati Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruO’zgaruvchilar qiymatini qanday yozish mumkin ? 14
a =  5tayinlash 
operatori !
5
Operator - bu dasturlash tilining buyrug'I   (ko'rsatmasi).
  Belgilash operatori - o'zgaruvchiga yangi qiymat 
berish buyrug'i. a
a =  7 7 Yangi qiymat yozishda eskisi xotiradan 
o'chiriladi       Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruKlaviaturadan qiymat kiritish 15
1. Dastur ijrochining qiymatlar kiriting va  Enter 
tugmasini bosing.! 5
a
2. Kiritilgan qiymat a o'zgaruvchisiga yoziladi 
       (a nomi bilan bog'langan)   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruKlaviaturadan qiymat kiritish 16
a   =   input () klaviaturadan satr kiriting va a 
o'zgaruvchisiga bog'lang
b   =   input ()
с   =   a + b
print   (  c  ) Protokol :
   21
   33
   2133 Nima uchun ?
?
input funksiyasining natijasi -belgilar qatoridir!
!
a   =   int (  input () )
b   =   int (  input () )Butun sonni 
ifodalaydi           Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruIzoh kiritish 17
a =  input  (  “Sonni kiriting: 
"  )
izoh
Sonni 
kiriting: 26
Nimadir xato ?
?
a =  int (  input ( “Sonni kiriting: 
" ) )     Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruO'zgaruvchining qiymatlarini o'zgartirish 18
a =  5
b = a +  2
a = (a +  2 )*(b –  3 )
b = b +  1
a 5
b = 5+2728
= (5+2)*(7-3)
= 7+18      Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruMa'lumotlarni chiqarish 19
print   (  a  ) O’zgaruvchi 
qiymati
print   (  “ Javob : " ,  a  ) Matn va 
o’zgaruvchi
vergul bilan ro'yxat ajratiladi 
print   (  “ Javob : " ,  a+b  ) Ifodani 
hisoblash
print  ( a,  "+" , b,  "=" , c )
2 + 3 = 5 Har biriga probel 
print  ( a,  "+" , b,  "=" , c, sep   =   ""  )
2+3=5 sep   =   ""
probellarni olib tashlash           Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruMa'lumotlarni  format  orqali  chiqarish  20
print  ( a,  "+" , b,  "=" , c, sep   =   ""  )
2+3=5
print  (  "{}+{}={}" .format(a, b, c ) )   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruSonlarni qo’shish :  oddiy hisob 21
a   =   int   (  input () )
b   =   int   (  input () )
c   =   a   +   b
print   ( c )
Nimasi yomon ?
?   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.rup rint   (  “ ikki sonni kiriting : "  )
a   =   int   (  input () )
b   =   int   (  input () )
c   =   a   +   b
print   ( a,  "+" , b,  "=" , c, sep= ""  )Sonni qo’shish :  Yechilishi 22
Protokol :
   ikki sonni kiriting
   25 
   30
   25+30=55 kompyuter
ijrochi Izoh      Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruMASHQLAR 23
«3»:  3 ta son kiriting va yig’indisini kiriting .
     Misol :
  3 ta sonni kiriting :
  4   
  5   
  7
  4+5+7=16
«4»:  3 ta son kiriting va uning yig’indisi va ko’paytmasini 
toping .
     Misol :
  3 ta son kiriting :
  4   
  5   
  7
  4+5+7=16
  4*5*7=140 Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruЗадания 24
«5»: 3 ta sonni kiriting va uning yig’indisini 
ko’paytmasi,o’rta arifmetigini toping ,.
     Пример:
              Введите три числа:
  4   
  5   
  7
  4+5+7=16
  4*5*7=140
  (4+5+7) / 3 =5.33 3333   К.Ю. Поляков, 2015  http://kpolyakov.spb.ruПрограмирование 
на языке  Python
Hisoblash 25 Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruArifmetik ifodalar 26
a   =   (c   +   b ** 5 * 3   -   1 )   /   2   *   d
Ustuvorlik (ish mazmuni):
qavslar
eksponentsiya **
ko'paytirish va bo'lish
qo'shish va ayirish 1 23 4 5 6	
d	
b	c	
a		
			
	
2	
1	3
5
a   =   (c   +   b * 5 * 3   -   1 )  \
            /   2   *   d \ Keyingi qatorga 
o’tkazish
a   =   (c   +   b * 5 * 3
            -   1 )   /   2   *   d qavslar ichida tire 
qo'yishga ruxsat 
beriladi       Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruBo’lish 27
Klassik bo’lish :
a =  9 ; b =  6
x  =  3  /  4     #  = 0 .75  
x  =  a / b     #  = 1.5
x  =  -3  /  4    #  =  - 0 .75  
x  = - a / b    #  =  - 1.5
Butun sonlar bo'linishi (pastga yaxlitlash!) :
a =  9 ; b =  6
x  =  3  / /   4     #  = 0  
x  =  a // b     #  = 1
x  =  -3  / /   4    #  = -1  
x  = - a // b    #  = -2   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruQoldiqli bo’lish 28
%   – Bo’lishdan qolgan qoldiq
d =  85
b = d   //   10     # 8  
a = d  %   10      # 5 
d = a  %  b      # 5 
d = b  %  a      # 3
a =  15
b =  19
d = a  //  b     # 0 
a = a  %  b      # 15   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ru  //  va % operatorlari 29
a =  1234
d = a   %   10 ; print( d ) 
a = a   //   10   # 123 
d = a   %   10 ; print( d ) 
a = a   //   10   # 12 
d = a   %   10 ; print( d ) 
a = a   //   10   # 1 
d = a   %   10 ; print( d ) 
a = a   //   10   # 0  4
3
2
1     Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruOperatorlarning qisqartirilgan yozuvi 30
a += b   # a = a + b 
a -= b   # a = a - b 
a *= b   # a = a * b 
a /= b   # a = a / b
a //= b  # a = a // b
a %= b   # a = a % b a += 1 
1  ga qo’shish   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruBir qatorga ikkita qiymat kiritish 31
a, b =  map  (  int ,  input (). split () )
input ()
klaviaturadan qatorni kiritish21   33  
input (). split () 21 33  
qatorni probellar bilan 
qismlarga bo'ling
map  (  int ,  input (). split () )
21 33  Butun 
Qo’llash
Bu o’zgaruvchini
Har bir qismini
a, b =  map  (  int ,  input (). split () )         Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruMasala 32
"3": uchta raqamni kiriting: pirogning narxi (ikkita raqam: so'm, keyin - bir 
tiyin) va pirog soni. To'lanadigan miqdorni toping (so'm va tiyin)
     Misol:
Pirogning narxi:
12 50
Qancha pirog:
5
To'lash uchun: 62 so'm. 50 tiyin
"4": soniyalar sonini ifodalovchi raqamni kiriting. Bir xil vaqtni soat, daqiqa 
va soniyalarda chop eting.
     Misol:
soniyalar soni:
8325
2 soat 18 daqiqa 45 s Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruMasala 33
"5": Maktabda darslar 8-30 da boshlanadi. Dars 45 
daqiqa davom etadi, darslar orasidagi tanaffus - 10 
daqiqa. Dars raqamini kiriting va tugash vaqtini 
ko'rsating.
     Misol:
Dars raqamini kiriting:
6
13-50   К.Ю. Поляков, 2015  http://kpolyakov.spb.ruПрограмирование 
на языке  Python
Символьные строки 34 Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruСимвольные строки 35
Начальное значение :
Сложение :s =  " Привет!"    Строка – это 
   последовательность 
   символов!!
Вывод на экран :
print   ( s )
Умножение :
s =  " АУ"
s5  =  s*5 АУАУАУАУАУ
   Что получим?
?s5 = s + s + s + s + ss1   =   " Привет "  
s2   =   " Вася "  
s    =   s1   +   ", "   +   s2   +   "!"  "Привет, Вася!"          Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruСимвольные строки 36
Вывод символа на экран :
Длина строки :
n   =   len   ( s )print   ( s[ 5 ] )
0 1 2 3 4 5 6
П р и в е т !
s[0] s[1] s[2] s[3] s[4] s[5] s[6]print   ( s[ -2 ] )
s[ len ( s ) -2 ]    Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruСимвольные строки 37
Ввод с клавиатуры :
s   =   input   (   " Введите имя:  "   )
Изменение строки :
s[ 4 ]   =   "a"
   Строка – это неизменяемый объект!
!
...  но можно составить новую строку :
s1 = s +  "a"Изменение строки запрещено!
s =  "информатика "
print (s[ -2 ]+s[ 3 ]+s[ -4 ]) составить «кот»       Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruСрезы 38
s   =   "0123456789"
s1   =   s[ 3 : 8 ]          #   "34567" 
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
разрезы
0 1 2 3 4 5 6 7 8 9   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruСрезы строк 39
s   =   "0123456789"
s1   =   s[: 8 ]          #   "01234567" 
от начала строки
s   =   "0123456789"
s1   =   s[ 3 :]          #   "34567 89 " 
до конца строки
s 1   =    s[: : -1 ]        #   "9876543210" 
реверс строки       Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruОперации со строками 40
Срезы с отрицательными индексами :
s   =   "0123456789"
s1   =   s[: -2 ]          #   "01234567" 
len(s)-2
s   =   "0123456789"
s1   =   s[ -6 : -2 ]          #   "4567" 
len(s)-2len(s)-6      Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruОперации со строками 41
Вставка :
s   =   "0123456789"
s1   =   s[: 3 ]   +   "ABC"   +   s[ 3 :]Удаление :
s   =   "0123456789"
s1   =   s[: 3 ]   +    s[ 9 :]    # "0129"
"012" "9"
"012 ABC 3456789 "   Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruЗадачи 42
«3»:  Ввести с клавиатуры пароль (символьную строку), если 
его длина меньше, чем  6  символов, вывести сообщение 
«Слишком короткий пароль!», иначе вывести сообщение 
«ОК».
Пример :
Введите пароль:
12345
Слишком короткий пароль!
Пример :
Введите пароль:
123456789
ОК. Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruЗадачи 43
« 4 »:  Ввести с клавиатуры пароль (символьную строку) .  Если 
его длина меньше, чем  6  символов, вывести сообщение 
«Слишком короткий пароль!». Если пароль начинается с 
букв « qwerty » вывести сообщение «Ненадёжный 
пароль!». Если ошибок не было, вывести сообщение 
«ОК».
Пример :
Введите пароль:
qwerty 12345
Ненадёжный пароль!
Пример :
Введите пароль:
asdUTY7sakh
ОК. Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ruЗадачи 44
« 5 »:  Ввести с клавиатуры имя файла. Если расширение 
имени файла –  htm ,  html   или  php ,  выдать сообщение 
«Это веб-страница!», иначе выдать сообщение «Что-то 
другое.»
Пример :
Введите имя файла:
C:\DOC\ Сайт \index.html
Это веб-страница!
Пример :
Введите имя файла:
C:\ Документы \ Приказ. doc
Что-то другое. Алгоритмизация и программирование, язык  Python
  К.Ю. Поляков, 2015  http://kpolyakov.spb.ru 45
Конец фильма
ПОЛЯКОВ Константин Юрьевич
д.т.н., учитель информатики
ГБОУ СОШ № 163, г. Санкт-Петербург
kpolyakov@mail.ru

 К.Ю. Поляков, 2015 http://kpolyakov.spb.ruAlgorit m v a uning xossalari 1

Алгоритмизация и программирование, язык Python К.Ю. Поляков, 2015 http://kpolyakov.spb.ruAlgoritm nima ? 2 Muhammad al-Xorazmiy ( 783–850 )Algorit m - bu aniq v aqt ichida muammoni hal qilish uchun ijrochi bajarishi k erak bo'lgan harak at lar t art ibining aniq t av sifi . Ijrochi - algoritmni tashkil etuvchi buyruqlarni tushunish va bajarishga qodir qurilma yoki jonli mavjudot (inson). Rasmiy ijrochilar: buyruqlarning ma'nosini tushunmaydilar (va tushuna olmaydilar).

Алгоритмизация и программирование, язык Python К.Ю. Поляков, 2015 http://kpolyakov.spb.ruAlgoritm xossalari 3 Diskretlik - algoritm alohida buyruqlardan iborat bo'lib, ularning har biri cheklangan vaqt ichida bajariladi. Determinizm (aniqlik) - har safar algoritm bir xil dastlabki ma'lumotlar bilan bajarilganda bir xil natija olinadi. Tushunarlilik - algoritm faqat ijrochining buyruqlar tizimi tarkibiga kiruvchi buyruqlarni o'z ichiga oladi. Natijaviylik (samaradorlik) - to'g'ri ma'lumotlar to'plami uchun algoritm cheklangan vaqtdan keyin bajarilishi kerak. To'g'rilik - joriy kiritilgan ma'lumotlar uchun algoritm to'g'ri natijaga olib kelishi kerak. Ommaviylik – bitta algoritm turli xil ma'lumotlari uchun ishlatilishi mumkin.

 К.Ю. Поляков, 2015 http://kpolyakov.spb.ruPYTHON dasturlash tili Sodda dasturlar tuzish 4

Алгоритмизация и программирование, язык Python К.Ю. Поляков, 2015 http://kpolyakov.spb.ruSodda dasturlar 5 # bu tuzilmagan dastur Bu dasturning vazifasi nima ? Izoh tugashi # bu izoh dasturga aloqasi yo’q # coding: utf-8 # bu tuzilmagan dastur standart utf-8 kodlash ) """ Bu ham izoh """