Iawn.
Felly nawr gadewch i ni siarad am rywbeth ddefnyddiol iawn yn programming--
Datganiadau amodol.
Ymadroddion Felly amodol caniatáu eich rhaglenni
i wneud penderfyniadau a chymryd gwahanol ffyrc yn y ffordd, rhywbeth
Yr wyf yn cyfeirio at ychydig yn gynharach, gan ddibynnu ar werthoedd newidynnau,
neu yn seiliedig ar yr hyn y mae'r mewnbynnau defnyddiwr yn y rhaglennydd, yn y llinell orchymyn,
neu os oes gennych brydlon neu rywbeth fel 'na.
C Mae un neu ddau o wahanol ffyrdd o mynegi mynegiadau amodol, sy'n
rydym hefyd weithiau bydd galw cangen amodol yn eich rhaglenni.
Ac mae rhai o'r rhain yn mynd i edrych 'n bert gyfarwydd i chi o'r newydd,
felly byddwn yn hyd yn oed eu tynnu fyny ochr yn ochr, dim ond
gallwch wneud hynny gyfatebiaeth yn eich pen.
>> Felly, Os-- os yw 'n bert syml amodol.
Os cofiwch o crafu ar y dde yma
gallech lenwi hynny yw hecsagon gyda mynegiant glas os llygoden i lawr
neu os x yn llai na 10, neu rywbeth fel 'na.
Ac yna, os x yn llai na 10, neu os yw'r llygoden mewn gwirionedd, i lawr,
pob un o'r cod tu mewn i'r Byddai darn pos gweithredu.
Mae'r holl bethau sy'n cyd-fynd tu mewn y siâp C.
>> Yn yr un modd, a oes gennym os ar y chwith yno.
Os mynegiad Boole, sy'n Im 'jyst yn defnyddio
yn lle un o'r Boole ymadroddion yr ydym yn ei drafod yn flaenorol,
Brace cyrliog agored, Brace cyrliog agos.
Felly meddyliwch am cyrliog agored Brace a Brace cyrliog caeedig
fel math o debyg i frechdan effaith y bloc os ar y dde
o'r dechrau.
>> Os bydd y mynegiad Boole yn y datganiad os yn wir,
Yna holl linellau o god rhwng y braces cyrliog
Bydd gweithredu er mwyn o'r top i'r gwaelod.
Os bydd y mynegiad Boole yn ffug, rydym chi helpu
sgipio dros phopeth rhyngddynt y braces cyrliog, gan mai dim ond
eisiau mynd i lawr y fforch yn y ffordd os yw'r mynegiad Boole yn wir.
>> Gallwn gymryd hyn un cam ymhellach â hwy os arall.
Felly, mae hyn bloc Scratch yn 'n bert debyg i'r un
gwelsom yn unig eiliad yn ôl, ac eithrio mae'n cymryd dau lwybr gwahanol yn seiliedig
ar yr hyn sy'n digwydd.
Felly os y llygoden i lawr, neu os x yn llai na 10,
byddwn yn gwneud popeth sy'n rhyngddynt hynny fforch gyntaf, hynny C. cyntaf,
>> Fel arall, os bydd y llygoden yn i fyny, neu x yn llai na 10,
byddwn yn gwneud popeth yn yr ail set.
Ac mae hynny'n cyfateb i'r hyn a welwch yma am fynegiant C. Os Boole,
gwneud y pethau rhwng y gosod cyntaf o braces cyrliog.
Else, yn gwneud y pethau rhwng y ail set o braces cyrliog.
Felly, os yw'r Boole mynegiant yn wir, yr ydym chi helpu
gwneud beth bynnag sydd rhwng y set gyntaf.
Os bydd y mynegiad Boole yn ffug, a fyddai'n ysgogi'r arall,
a byddem yn gwneud beth bynnag yn yr ail set o braces cyrliog.
Unwaith eto, top i'r gwaelod, pob llinellau rhwng y braces.
>> Yn C, mae'n bosibl creu cadwyn os-arall os-arall.
Mewn gwirionedd gallwch ei gael os-arall os-arall os-arall, os, ac yn y blaen ac yn y blaen ac yn y blaen
ar.
Yn Scratch, sy'n ofynnol hon nythu blociau.
Yr ydych yn ychwanegu arall os-, a bu'n rhaid i chi rhoi un arall tu mewn i'r arall,
ac yn y blaen, ac mae'n got garedig o nythu a chymhleth.
Ond C, nid oes gennym i wneud hynny.
Gallwn mewn gwirionedd yn unig wedi fod yn gadwyn fel hyn.
Unwaith eto, fel y byddech yn disgwyl, i gyd canghennau hyn yn annibynnol ar ei gilydd.
Dim ond y gallwch chi fynd i lawr un o'r gangen.
Os yw hyn yn wir.
Fel arall, os yw hyn yn wir.
Fel arall, yn gwneud hyn.
Felly pob un o'r pedwar o'r canghennau yn hyn enghraifft yn annibynnol ar ei gilydd.
Mae'n cadwyn os-arall os-arall.
>> Mae'n bosibl, fodd bynnag, ac weithiau yn ddefnyddiol iawn,
i greu cadwyn o beidio canghennau annibynnol ar ei gilydd.
Yn yr enghraifft hon, dim ond y trydydd a'r canghennau pedwerydd yn annibynnol ar ei gilydd.
Gallai fod yn bod gallech bodloni'r amod cyntaf,
a gallech fodloni yr ail amod,
a gallech fodloni'r trydydd condition-- ac yn yr achos
byddech yn mynd i lawr y gangen gyntaf, Yna, byddwch yn mynd i lawr yr ail gangen,
yna byddech yn mynd i lawr y drydedd gangen.
Neu efallai eich bod yn bodloni'r cyntaf cyflwr, ac mae'r ail amod,
ond nad ydych yn bodloni'r y trydydd amod.
Yn yr achos hwn byddwch yn mynd i lawr y cyntaf cangen a'r ail gangen,
ac yna y bedwaredd gangen,
>> Y rheswm am hyn yw bod y arall dim ond rhwymo i'r agosaf os.
Felly, hyd yn oed er mae ' yn arall yma, sy'n
nid yw o reidrwydd yn creu i'r ddwy ochr cadwyn unigryw o bopeth.
Mae'n dim ond y mynegiant yno gyda Boolean
mynegiant 3-- dyna'r annibynnol ar ei gilydd gyda'r arall.
Felly mae'n bosibl, ac weithiau yn eithaf defnyddiol,
fel y dywedais, er mwyn creu cadwyn o ganghennau nad annibynnol ar ei gilydd.
Gadewch i ni edrych ar wahanol math o amodol, sy'n
nad ydych wedi gweld o'r blaen yn Scratch.
Mae rhywbeth a elwir yn y datganiad switsh.
Mae'r datganiad switsh yn math o daclus am ei fod yn
datganiad amodol sy'n caniatáu chi nodi achosion penodol,
hytrach na dibynnu ar Boole ymadroddion i wneud penderfyniadau ar eich rhan.
Felly, er enghraifft, gadewch i ni ddweud fod gennyf y rhaglen hon,
ac rwy'n gofyn i'r defnyddiwr i ddarparu mewnbwn i mi.
Felly, yr wyf yn dweud, int x = Get Int (), ac os nad ydych yn gyfarwydd eto,
cael int yn swyddogaeth sy'n hefyd yn cynnwys yn y llyfrgell CS50,
felly os ydych #include CS50.H bydd gennych mynediad i Get Int () a phob un o'i
cousins-- GetFloat, GetString, ac yn y blaen.
Yn y bôn un Cael swyddogaeth ar gyfer pob Math o ddata yr ydym eisoes wedi ei drafod.
>> Felly Int x hafal GetInt.
Yn y bôn yr hyn sy'n digwydd yw fy mod yn y derfynell.
Rwy'n gofyn i'r defnyddiwr i deipio mewn nifer.
>> A dyma i ddim yn newid yr hyn rwy'n ei wneud, yn dibynnu
ar yr hyn y defnyddiwr deipio wrth yr anogwr.
Felly, os ydynt teipio un, yr wyf yn argraffu un.
Ac yna yr wyf yn torri.
Os ydynt teipiwch dau, yr wyf yn argraffu dau.
Ac yna yr wyf yn torri.
Mae'n bwysig torri rhwng pob achos
oherwydd fel arall byddwch yn syrthio trwodd.
Felly os nad oedd gan unrhyw wyf gwyliau yno, ac mae'r defnyddiwr
un wedi'i deipio, beth fyddai'n digwydd yw hi Byddai argraffu un, dau, tri, mae'n ddrwg gennyf.
Dyna fath o ymddygiad rhyfedd, dde?
Efallai y byddwch yn credu hynny.
Ond mae mewn gwirionedd rhai achosion lle gallai hyn fod yn beth eithaf defnyddiol.
Felly dyma enghraifft arall o swits Datganiad lle rwy'n hepgorer y seibiannau.
Ond yr wyf yn ei wneud ar bwrpas.
>> Felly beth sy'n digwydd yma?
Meddyliwch am eiliad.
Efallai y byddwch hyd yn oed am i oedi y fideo.
>> Beth sy'n digwydd yma os y mathau defnyddiwr pedwar?
Felly, yr wyf wedi gofyn i'r defnyddiwr ar gyfer mewnbwn.
Ac maent yn darparu gwerth 4.
Beth sy'n cael ei Printiwyd pan fyddaf yn gwneud hynny?
Ar y sleid flaenorol, roedd seibiannau rhwng yr holl achosion.
Ac felly y byddai dim ond argraffu pedwar ac yna stopio.
Ond yn yr achos hwn, ni fydd.
Beth fydd yn digwydd yw eich bod yn disgyn drwy bob achos.
>> Felly, yn yr achos hwn rwyf wedi trefnu fy achosion yn y fath fodd, os y mathau defnyddiwr 4,
Byddaf argraffu pedwar, tri, dau, un, chwyth i ffwrdd.
Ac os ydynt yn teipio 5, byddwn yn dechrau mewn pump a gwneud yr un peth.
Os ydynt yn teipio 1, fyddwn i dim ond gwneud un, chwyth i ffwrdd.
>> Felly, yn yr achos hwn, Im 'yn arfer switsh fath o glyfar, felly
fy mod yn bwriadu syrthio drwy'r holl achosion.
Ond yn gyffredinol mae'n debyg eich bod yn gonna eisiau i dorri rhwng bob un ohonynt,
oni bai fod gennych sefyllfa fel hon lle rydych chi'n
fath o ddylanwad busnes y ffaith wnewch chi helpu syrthio drwy'r achosion heb doriad.
Felly dyna yr ail o'r prif mathau o ddatganiadau amodol.
Yr olaf o'r rhain yw:? Felly, yr wyf cael dau pytiau o god C yma.
Mae un ar y chwith ac un ar y dde.
Yr un ar y chwith dylai yn ôl pob tebyg fod yn eithaf gyfarwydd i chi.
>> Mae gen i Int x.
Ac yr wyf yn ôl pob tebyg dylai wedi gofyn i'r defnyddiwr
for-- yn ôl pob tebyg dylai hyn fod Int x yn hafal i GetInt, neu rywbeth fel 'na.
Ac yna i ddim yn gwneud penderfyniad.
Os yw rhai mynegiad Boole yn yn wir, aseinio x werth 5.
Fel arall, aseinio x werth 6.
>> Mae'n debyg Dylai hynny ar y chwith yn 'n bert cyfarwydd gan ein trafodaeth
o Os Else ychydig funudau'n ôl.
A fyddech yn synnu i wybod bod y llinell ar y dde
yn gwneud yr un peth yn union?
>> Felly, gelwir hyn yn:? Neu weithiau Gelwir y gweithredwr teiran.
Ac mae'n 'n bert oera.
Mae'n cael ei ddefnyddio fel arfer fel tric 'n giwt.
>> Ond beth mae'n caniatáu i chi ei wneud yw efelychu Os Else gyda wir yn fach,
'n sylweddol trivially fyr canghennau amodol.
Yn gyffredinol, ni fyddai defnyddio:? Os ydych Roedd gan chwech o linellau o god rhwng pob set
bresys o cyrliog.
Ond os ydych yn unig gwneud penderfyniad cyflym,
os ydych chi'n mynd i wneud un peth neu y llall ac mae'n syml iawn,
gallai hyn fod yn enghraifft o sut i wneud hynny gyda:? gweithredwr teiran.
Felly Int x hafal mynegiant?
Y peth ar ôl y cwestiwn marc yw'r hyn x yn werth
Bydd yn cael ei os mynegiant yn wir.
>> Y peth ar ôl y colon yw pa werth x yn
fyddai pe y mynegiant yn ffug.
Felly, rwy'n gofyn fy hun, yw'r ymadrodd yn wir?
Os ydyw, aseinio x werth 5.
Os nad yw'n, aseinio x werth 6.
Eto, fel y dywedais.
Mae hyn yn unig tric 'n giwt fel arfer.
Ac weithiau os byddwch yn mynd yn wir yn gyfforddus ag ef,
byddwch yn gwneud hyn oherwydd ei fod yn edrych fath o oer yn eich rhaglenni.
Yn gyffredinol, Im 'gyflwyno i'r ydych yn awr felly eich bod yn gyfarwydd ag ef
os ydych yn ei weld.
Ond yn sicr yn gwybod nad oes gennych i ysgrifennu iddo yn unrhyw un eich cod.
Ond mae'n rhywbeth i fod yn gyfarwydd â nhw, oherwydd byddwch yn bendant yn dod ar draws
pytiau o god yma ac yno lle mae hyn:? cystrawen,
AKA gweithredwr teiran, yn cael ei ddefnyddio.
>> Crynodeb Felly cyflym ar pa conditionals yw,
a beth yw'r opsiynau sydd ar gael i chi yn C. Mae gennych Os, ac os-arall,
ac os arall os, et cetera.
Gallwch ddefnyddio ymadroddion Boole ar gyfer y rhai i wneud penderfyniadau.
>> Â datganiadau switsh a ddefnyddiwch achosion ar wahân i wneud penderfyniadau.
Fyddech chi'n ei ddweud yn benodol, os yw'n un, neu os yw'n dau, neu os yw'n tri,
Fe wna i peth hyn, neu y peth hyn, neu y peth hyn.
A:? Gellir i gael ei ddefnyddio i gymryd lle os-arall yn ganghennau syml iawn,
neu os-arall gadwyni i wneud eich cod yn edrych ychydig yn ffansi.
>> Rwy'n Doug Lloyd.
Ac mae hyn yn CS50.