ДУМиИ-21-1 Болатбек Айгерім Пайтон 3. Таырып 4. Шартты оператор. Кпше тарматалу. Сратар Тарматалу алгоритмі андай алгоритм
Скачать 102.54 Kb.
|
Тақырып №4. Шартты оператор. Көпше тармақталу.Сұрақтар: 1. Тармақталу алгоритмі қандай алгоритм? 2. Тармақталу алгоритміне күнделікті өзің орындайтын іс-әрекеттердің қайсысын мысал ретінде келтіре аласың? 3. Шарт тексеру операторының құрылымдары жайлы небілдің? 4. Шарт тексеру операторының қысқа және толық жазылу құрылымдарының қандай айырмашылықтары бар? Себебінтүсіндір. Python программалау тілінде тармақталған алгоритмдердіқалай құрастыруға болады? Тармақталу алгоритмі. Күнделікті өмірде алгоритмдер негізінен тармақтарға бөлінеді. Бұл тармақтардың орындалуы шарттың орындалуына байланысты болады. Тармақталу алгоритмінде біріншіден, арифметикалық теңсіздік түрінде берілген логикалық шарт тексеріледі. Егер шарт орындалса, алгоритм бір тармақ бойынша (1-ші серия) , ал егер орындалмаса, екінші тармақ бойынша (2-ші серия) орындалады. Шартты оператор келесі алгоритм бойынша жұмыс істейді: Алдымен IF қызметтік сөзінен кейін орналасқан логикалық өрнектің (шарттың) мәні есептеледі. Егер оның нәтижесі ақиқат болса, жаңа қатарда 4 бос орынмен басталатын 1 нұсқаулар блогы орындалады, егер нәтижесі жалған болса, онда ELSE сөзінен кейін орналасқан 2 нұсқаулар блогы орындалады. Нұсқаулар блогы қажетті операторлар санынан тұруы мүмкін, бірақ олардың барлығы міндетті түрде 4 бос орыннан кейін жазылуы керек. 1 мысал. Берілген екі санның үлкенін экранға шығару. x= int(input('Введите первое число')) y= int(input('Введите второе число')) if x > y: print('Большее число', x) else: print('Большее число', y) Шартты нұсқауда else сөзі мен келесі блок болмауы да мүмкін. Мұндай нұсқау толық емес тармақталу деп аталады. Мысалы, егер: 2 мысал. Пернетақтадан х саны еншізіледі және біз оны абсолюттік өлшемге, осы санның модуліне алмастырғымыз келеді. Мұны былай жасауға болады: егер сан теріс болса, «унарлық минус» деген амалды қолдануымыз, ал егер сан оң болса, онда ештеңе өзгертпестен шығаруымыз керек. x = int(input()) if x < 0: x = -x print(x) Бұл мысалда х айнымалыға –x мәні меншіктеледі, бірақ тек x<0 болғанда ғана. Ал print(x) нұсқауы тексерілетін шартқа тәуелсіз, әрқашанда орындалады. Тапсырмалар:1-тапсырма а және b бүтін сандар берілген. Егер а саны жұп болса, онда оныквадраттап, b санына қос. Ал сан тақ болса, онда санның өзін b санына қосып, нәтижені экранға шығар. Мысалы Нәтиже Түсніктеме 6 5 41 a=6; b=5; 6*6+5=41 a=7; b=5; 7+5=12 Тапсырманы орындау үшін шарт тексеру операторының қысқа жазылу түрін қолдануға болады. а санының жұп немесе тақ сан екенін тексеру үшін, қалдықты анықтау «%» амалын қолданамыз. Жауап: a = int(input()) b = int(input()) if a % 2 == 0: b += a**2 else: b += a print(b) 2-тапсырма Нақты А саны берілген. А саны оң сан болса, оның квадратын,теріс сан болса, оның кубын есептеп, нәтижені экранға шығар. Мысалы Нәтиже 9 -5 64 -125 Жауап: a = int(input()) if a > 0: print(a**2) elif a < 0: print(a**3) 3-тапсырма. Берілген a, b және c сандарының үлкенін табуғаарналған программа кодын жаз: 1. Программада үш санның үлкенін табу үшін қандайалгоритмге сүйенеді? 2. Программада қолданылған шарт тексеру операторыныңқұрылымы қандай? 3. Программа кодын талдап, блок-схема құрастыр. Жауап: int A, B, C; printf("Enter the numbers A, B and C: "); scanf("%d %d %d", &A, &B, &C); if (A >= B && A >= C) printf("%d is the largest number.", A); if (B >= A && B >= C) printf("%d is the largest number.", B); if (C >= A && C >= B) printf("%d is the largest number.", C); return 0; } 0> |