Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МАКОС.docx
Скачиваний:
6
Добавлен:
23.03.2016
Размер:
131.6 Кб
Скачать

3 Ustinde bar

35емтихан билеті

  1. Логиқалық ‘НЕМЕСЕ ' операторы

  2. Қатарды интерполяциялау

  3. Констант және айнымалылар. Логикалық түрлер (boolean)

1.

Логические операторы изменяют или комбинируют логические значения типа Boolean (булево) —true и false. Язык Swift, как и другие C-подобные языки, поддерживает три стандартных логических оператора:

  • логическое НЕ (!a)

  • логическое И (a && b)

  • логическое ИЛИ (a || b)

(а || б) логикалық НЕМЕСЕ болып infix болып табылады және ешқандай кеңістікте екі тік нысанында шыбықтар жазбаша. Кем дегенде бір операнд ақиқат болса Оның көмегімен сіз, шынайы береді логикалық өрнек жасауға болады.

Ретінде логикалық ЖӘНЕ операторы, оператор логика, жоғарыда сипатталған немесе қысқаша пайдалану шарттарын тексеру. НЕМЕСЕ білдіру сол бөлігі шын болса, оның мәні жалпы нәтижеге әсер етпейді, өйткені, оң, талданады емес.

Төмендегі мысалда, түрі BOOL (hasDoorKey) бірінші мән қате, және екінші (knowsOverridePassword) рас. Құндылықтардың бірі шынайы болғандықтан, бүкіл білдіру нәтижесі, сондай-ақ шынайы болып, және қол рұқсат етіледі:

  1. let hasDoorKey = false

  2. let knowsOverridePassword = true

  3. if hasDoorKey || knowsOverridePassword {

  4.  print("Welcome!")

  5. } else {

  6.  print("ACCESS DENIED")

  7. }

  8. // напечатает "Welcome!"

2.

Интерполяция сызықтар - литерал олардың мәндерiн, соның ішінде әр түрлі тұрақтылар, айнымалылар, литералдары өрнектерді Жол түріндегі жаңа мән, жасау тәсілі. Сіз таңбалар жолына салыңыз Әрбір элемент, қос тырнақшаға орналастырылған, жақшаның ішінде орналастырылуы тиіс, және ашылатын жақшаға дейін кері қиғаш сызықты белгісі болуы тиіс.

let multiplier = 3

let message = "\(multiplier) times 2.5 is \(Double(multiplier) * 2.5)" //

message равен "3 times 2.5 is 7.5"

Мәні мультипликаторы - бұл сондай-ақ келесі жолда үлкен білдіру бөлігі болып табылады. Бұл өрнек 2.5 7.5 * Екі (мультипликаторы) құнын есептеп, жолда нәтиже кірістіреді. Бұл жағдайда, өрнек нысаны \ (Екі (мультипликативті) * 2.5) жазылған мағынадағы жол болып табылады.

36емтихан билеті

  1. Бір біріне салынған түрлер(nested types)

  2. Унарлық Минус Операторы

  3. for-in Шартты

1.

Аударатын жиі нақты сыныбын немесе құрылымның функционалдық қолдау үшін жасалады. Сол сияқты, бұл аса күрделі түрі шеңберінде пайдалану үшін таза коммуналдық класстар мен құрылымдарды анықтау үшін ыңғайлы болуы мүмкін. Сізге ұя олар қолдайды түріне анықтау шеңберінде Аударатын, сыныптар және құрылымдарды қолдау және бұл ретте осы жету үшін, Swift, енгізілген түрлерін анықтау мүмкіндігін береді.

Ұядағы үшін басқа түріне шегінде түрі, ол қолдайды типті сыртқы ішінде шаршы жақшасыз оның анықтамасын жазыңыз. Түрлері қажет, сондай-ақ көптеген деңгейлеріне салынған болуы мүмкін. Төмендегі мысал Блэкджек ойынға пайдаланылған үлгілер ойын карта BlackjackCard деп аталатын құрылымын анықтайды. BlackJack құрылымы Suit және Rank деп аталатын екі кірістірілген аудару түрін қамтиды.

Блэкджек жылы Ace карталары бір немесе он немесе мәні бар. Бұл функция Rank байқау аясында салынған болып құндылықтар деп аталатын құрылымы, ұсынылған:

  1. structBlackjackCard {

  1. // nested Suit enumeration

  2. enumSuit: Character {

  3. caseSpades = "♠", Hearts = "♡", Diamonds = "♢", Clubs = "♣"

  4. }

  5. // nested Rank enumeration

  6. enumRank: Int {

  7. caseTwo = 2, Three, Four, Five, Six, Seven, Eight, Nine, Ten

  8. caseJack, Queen, King, Ace

  9. structValues {

  10. letfirst: Int, second: Int?

  11. }

  12. varvalues: Values {

  13. switchself {

  14. case .Ace:

  15. returnValues(first: 1, second: 11)

  16. case .Jack, .Queen, .King:

  17. returnValues(first: 10, second: nil)

  18. default:

  19. returnValues(first: self.rawValue, second: nil)

  20. }

  21. }

  22. }

  23. // BlackjackCard properties and methods

  24. letrank: Rank, suit: Suit

  25. vardescription: String {

  26. varoutput = "suit is \(suit.rawValue),"

  27. output += " value is \(rank.values.first)"

  28. ifletsecond = rank.values.second {

  29. output += " or \(second)"

  30. }

  31. returnoutput

  32. }

  33. }

2.

Сандық мәндері Кіру префикс пайдаланып ауыстыруға болады - Унарный минус ретінде белгілі:

let three = 3 // равно 3

let minusThree = -three // равно -3

let plusThree = -minusThree // равно 3

Унарный минус (-), ол бос орынсыз жұмыс істейді құны, алдында қосылады.

3.

Туралы есепте арналған ұзақ жағдайы шынайы қалады ретінде, санауыш көбейтуге, ал код блок бірнеше рет орындалуы мүмкіндік береді.

Туралы есепте арналған келесі нысаны бар:

баптандыру үшін; жағдайы; өсімі {

есептілігі

}

Баптандыру, жай-күйі, сондай-ақ аяда өсе арасындағы үтірмен қажет. Цикл денесінде thestatements айналасында жақшаға сондай-ақ талап етіледі.

GRAMMAR OF A FOR STATEMENT

for-statement for for-initopt; expressionopt; expressionopt code-block

for-statement for ( for-initopt; expressionopt; expressionopt) code-block

for-init variable-declaration |expression-list

Генерациялау () әдісі генераторы түрі-, GeneratorType хаттамаға сәйкес түрі мәні алуға жинау білдіру туралы деп аталады. Бағдарлама ағыны келесі () әдісін шақыру арқылы ілмектер орындау басталады. Қайтарылған мән None емес болса, ол элемент үлгі тағайындалған, бағдарлама есептілігін орындайды, содан кейін цикл басында орындалуын жалғастыруда. Әйтпесе, бағдарлама тағайындауды орындау немесе есептілігін орындау, және ол үшін өтініш орындау аяқталған жоқ.

37емтихан билеті

  1. Логиқалық операторлар.

  2. Литералдық қатарлар. Бос қатарларды инициализациялау

  3. OS X виртуальды жады

1.

Шынайы және жалған - Буль операторлары түрі Boolean (Boolean) және логикалық мәндер өзгертуге немесе біріктіру. Тіл Swift, сондай-ақ басқа C-стилі тілдері, үш стандартты логикалық амалдағыштарды қолдайды:

логикалық ЕМЕС (! а)

Boolean ЖӘНЕ (а && б)

(а || б) логикалық НЕМЕСЕ

Логикалық ЕМЕС (! A) логикалық мәні инвертирует - жалған шынайы өзгерістер, сондай-ақ жалған шындыққа айналады.

Логикалық ЕМЕС префикс болып табылады және ешқандай кеңістігі бар, құны алдында тікелей орналасқан. Келесі мысалда көруге болады болсақ, ол «жоқ» ретінде қарастыруға болады:

  1. let allowedEntry = false

  2. if !allowedEntry {

  3.  print("ACCESS DENIED")

  4. }

  5. // напечатает "ACCESS DENIED"

Операндтарды, сондай-ақ шынайы болып табылады және тек, егер (а && ә) Шынайы алуға логикалық ЖӘНЕ.

Келесі мысал түрі BOOL екі мәндерін тексереді, және олар екеуі де шын болса, бағдарлама қол мүмкіндік береді:

  1. let enteredDoorCode = true

  2. let passedRetinaScan = false

  3. if enteredDoorCode && passedRetinaScan {

  4.  print("Welcome!")

  5. } else {

  6.  print("ACCESS DENIED")

  7. }

  8. // напечатает "ACCESS DENIED"

(А || б) логикалық НЕМЕСЕ болып infix болып табылады және ешқандай кеңістікте екі тік нысанында шыбықтар жазбаша. Кем дегенде бір операнд ақиқат болса Оның көмегімен сіз, шынайы береді логикалық өрнек жасауға болады.

Ретінде логикалық ЖӘНЕ операторы, оператор логика, жоғарыда сипатталған немесе қысқаша пайдалану шарттарын тексеру. НЕМЕСЕ білдіру сол бөлігі шын болса, оның мәні жалпы нәтижеге әсер етпейді, өйткені, оң, талданады емес.

38емтихан билеті

  1. Тұйықтау(closures)

  2. Коллекция типтері

  3. OS X виртуальды жады

1 bar ustinde

2.

Swift құндылықтарды жиынтығын сақтауға жинақтардың үш түрі бар - массивтер, сөздіктер, және жиындары болып табылады. Массивтер бір типті құндылықтарды реттелген жиынтығын сақталады. Сөздіктер таңбаланған арқылы сілтеме (сондай-ақ кілт ретінде белгілі) бірегей идентификатор таба мүмкін бір типті, құндылықтарының жиынтығы, және сол типті сақталған таңбаланған бірегей құндылықтар көптеген сақтаңыз.

Swift, әрқашан айқын қандай құндылықтар мен пернелер мен массивтер сөздіктер сақтауға болады. Бұл Сізге кездейсоқ жиым немесе Сөздікке мәнді кірістіру мүмкін емес екенін білдіреді. Ол сондай-ақ сіз жиым немесе сөздіктен алу құндылықтарды түрлерін сенімді бола алады деген сөз. Анық терілген жиындарын пайдалану арқылы Swift Егер коды әрқашан өңдеуге болады қандай деректер түсіну қамтамасыз етеді, немесе дамудың ерте кезеңдерінде түрлері сәйкессіздігін жою.

3.

Виртуалды жад - бірнеше бағдарламаларын іске кезде компьютер жадының тиімділігін арттыру мульти мақсатты операциялық жүйелер үшін әзірленген жады басқару технологиясы. Своп (немесе пейджинг файл) - жад енжар фрагменттері еске басқа фрагменттері жүктеп алу үшін жадты босату, қатты дискіге RAM көшіп, онда виртуалды жад тетіктерінің бірі. Mac OS (OS 8 және 9) алдыңғы нұсқаларында, жүйе Сіз System Preferences жылы басқару тақтасынан қолмен өшіру ауыстыру үшін мүмкіндік береді. Mac OS оныншы нұсқасы жағдай UNIX өзегі салынған және белсенді беттерді және кэш-бақылау Своп своп файлды пайдаланады жүйесі сәулет, өзгерді. Сондықтан OS X своп жүйесінің алдыңғы нұсқаларында астам маңызды болып табылады. Виртуалды жадының механизмі өте қарапайым. Жүйе жаңа жады қажет кезде, ол уақытша сақтау пейджинг файлында пайдаланылмаған фрагменттері жібереді. Бұл жад қайтадан қажет кезде, жүйе файлдан деректерді оқып, жадына, оны қайтарады. Қандай да бір мағынада, ол сіз жүйесінде жад шексіз мүмкіндік береді. Алайда, виртуалды жад RAM қарағанда әлдеқайда баяу болып табылады, және қатты диск өнімділігі шектелген. , Mac OS X виртуалды жады пайдалану туралы білу терминал командасы «vm_stat» пайдалануға немесе (жиі Mac үшін Тапсырма менеджері деп аталады) мониторинг жүйесін іске қосыңыз. Мұнда Сіз виртуалды жады, своп, тиеу, беттердің түсіру және тегін сақталған, белсенді және белсенді емес жадтың көлемін пайдалануға үйренуге болады.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]