Бақылау сұрақтары
1. Сызықтық алгоритмдерден тармақталған алгоритмдер арасындағы айырмашылық қандай?
2. Неге барлық тапсырмаларды желілік алгоритмдер арқылы шешуге болады деп ойлайсыз?
3. Сіз қандай да бір бағдарламаны әзірлеу үшін сызықтық алгоритмдер мен филиалдар жеткілікті болады деп ойлайсыз ба?
4. Неге екі айнымалының мәндерін екі кезеңмен алмастыру мүмкін емес: a = b; b = a?
5. Шартты операторлардың толық және толық емес нысандардағы айырмашылығы қандай? Сіз қалай ойлайсыз?
Сізге толық емес пішін қажет пе?
6. Сіз қандай қарым-қатынас білесіз? Қандай қатынастар «тең» және «тең емес» дегенді білдіреді?
7. Таңдауды бірнеше нұсқадан қалай ұйымдастыру керек?
8. Қандай қиын жағдай?
9. Есептеу процедурасы күрделі жағдайда қалай анықталады?
№3 ЗЕРТХАНАЛЫҚ ЖҰМЫС
ЦИКЛДІК ЕСЕПТЕУ ПРОЦЕССТЕРІН ПРОГРАММАЛАУ
(4 сағат)
Тақырып 3.1: Циклді алгоритмдер. for параметрі бар цикл
Мақсаты: Циклдық алгоритмдерді енгізу үшін цикл операторын пайдалану параметрін үйрену.
Қысқаша теориялық мәлімет
Параметрімен бірге цикл деп аталатын цикл үшін Python тіліндегі мүмкіндіктерге бай. For циклында айнымалыны іске қосатын айнымалыны және мәндердің жиынын көрсетесіз. Мәндер жиынтығы тізіммен, жолақпен, жолмен немесе ауқыммен көрсетілуі мүмкін.
Міне, мәнерлер жиынтығы ретінде пайдаланылатын циклды пайдаланудың ең қарапайым мысалы:
i = 1
for color in 'red', 'orange', 'yellow', 'green', 'cyan', 'blue', 'violet':
print('#', i, ' color of rainbow is ', color, sep = '')
i += 1
Бұл мысалда ауыспалы түс түсінде 'қызыл', 'апельсин' және т.б. мәндерді алады. Циклдің корпусында түстің атауын, яғни айнымалы түстің мәнін және циклдің иерархиялық нөмірін, 1-цифрды, содан кейін циклдің әр өтуімен біреуімен арта отырып, шығарылады. i = i + 1 (бұл жай ғана қысқартылған жазба) құрылысына тең.
Мәндер тізімінде әртүрлі өрнектер болуы мүмкін, мысалы:
for i in 1, 2, 3, 'one', 'two', 'three':
print(i)
Алғашқы үштіктің итерациясы үшін i айнымалы i int типінің мәнін алады, ал келесі үшеуі - 'str' типі.
2. Функция range
Әдетте, цикл үшін пайдаланылады немесе әрекеттер тізбегі бірнеше рет алдын ала анықталған саны қайталау, немесе финалға кейбір бастапқы құнынан циклде айнымалы мәнін өзгерту үшін.
цикл уақытын алдын ала белгілі бір санын қайталау N бірге функциясымен, цикл ауқымы үшін пайдалануға болады:
0, 1, 2, 3 I үшін # балама нұсқаулар: диапазоны (4) Мен: # Мұнда циклдік әрекеттерді орындауға болады
басып шығару (i)
басып шығару (i ** 2)
# цикл аяқталды, себебі шегінісі бар блок аяқталды
басып шығару («Циклдың соңы»)
сандық тұрақты ретінде N, айнымалыны немесе ерікті арифметикалық өрнекті (** 10 мысалы, 2) пайдаланылуы мүмкін. N құны нөлдік немесе теріс болса, цикл тіпті бір рет орындалмайды.
Ауқым функциясы бір емес, екі параметрді қабылдай алады. Call диапазоны (а, б) индекстік айнымалы б а м ндерді өтеді дегенді білдіреді - 1 екі параметрлерімен деп аталатын, яғни бірінші параметр ауқымы функциясын, индексі айнымалы бастапқы мәні, екінші параметрі-орнатады - индекстік айнымалы болып табылады бірінші мән қабылданбайды. Егер a'b болса, цикл бір рет орындалмайды. Мысалы, 1-ден бастап n-ға дейінгі мәндерді есептеу үшін келесі бағдарламаны қолдануға болады:
sum = 0
n = 5
for i in range(1, n + 1):
sum += i
print(sum)
Бұл мысалда айнымалы i, 1, 2, ..., n мәндерін қабылдайды және айнымалы соманың мәні көрсетілген мәндер бойынша дәйекті түрде артады.
Ақырында, индекстің айнымалысы төмендейтін циклді ұйымдастыру үшін ауқымды функцияны үш параметрмен қолдану қажет. Бірінші параметр индекс айнымалысының бастапқы мәнін анықтайды, екінші параметр - индекстік айнымалы өзгереді (оны қоспағанда!), Ал үшінші параметр - индекс айнымалы өзгерісінің сомасы. Мысалы, ауқымды (1, 100, 2) функциясын 1-ден 99-ға дейінгі барлық тақ сандар арқылы айналдыра аласыз және 100-ден 1-ге дейін барлық сандар бойынша циклды (100, 0, -1) қолдануға болады.
I> a, i = a + d, i = a + 2 * d индекстік айнымалы мәндерінің мәндерін анықтайды және барлық мәндер үшін i < б. Егер d <0 болса, айнымалы айнымалы i> b барлық мәндерін қабылдайды.
0>
Достарыңызбен бөлісу: |