App Inventor платформасында айнымалылар мен тізімдер

  • Бағдарлама ішінде деректерді сақтау үшін айнымалыларды пайдалану әдісін үйрену
  • Тізімдерге деректерді ұйымдастыру әдісін үйрену
  • Бағдарламадағы айнымалылар мен тізімдерді пайдалану

Бұл сабаққа арналған іс-шаралар:

ДЕРЕКТЕРДІ САҚТАУ

Бағдарламаны кодтағанда, әдетте, бағдарламада сақтау, жаңарту және қатынасу қажет кейбір ақпарат немесе деректер болады.

Бағдарламаны іске қосу үшін қажет болуы мүмкін деректердің 3 түрі бар:

Айнымалылар

Бағдарламаны іске қосып жатқанда ақпаратты сақтаңыз.

Мысалы, пайдаланушы аты немесе ойын ұпайы.

Жергілікті сақтау орны

Бағдарламаны іске қосқан сайын алынатын мобильді құрылғыдағы ақпаратты сақтаңыз.

Мысалы, пайдаланушы мекенжайы немесе жоғары ойын ұпайы.

Бұлтты сақтау

Барлық бағдарлама пайдаланушылары ақпаратқа қатынаса алуы үшін ақпаратты web-те (бұлтта) сақтаңыз.

Мысалы, ойын көшбасшылары тақтасы немесе чат хабарлары.

Бұл сабақта біз айнымалы мәндерді пайдалана отырып, қолданба ішінде деректерді сақтауға назар аударамыз.

АЙНЫМАЛЫЛАР

Кодтаудағы ең маңызды ұғымдардың бірі - айнымалы. Айнымалы – өзгеретін деректер бөлігінің атауы. Есте сақтаудың оңай жолы - айнымалы мәннің өзгеруі немесе өзгеруі мүмкін.

Мәнді өзгертетін күн сайын сіз үшін маңызды ақпарат көп. Мұнда кейбір мысалдар берілген:

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

Айнымалы ақпарат ішіне сақтауға болатын жәшік сияқты.

  1. Іштегі нәрсені есте сақтау үшін жолақты белгілейсіз немесе атайсыз .
  2. Ақпарат қажет болғанда қорапты ашып, ішіне не керек екенін алуға болады. 
  3. Сіз сондай-ақ қораптың ішіндегі нәрсені өзгерте аласыз, бірақ сол атауды сыртында қалдыра аласыз.

 

қорапта сақталатын айнымалының анимациясы

БАҒДАРЛАМА ӨНЕРТАПҚЫШ АЙНЫМАЛЫЛАРЫ

Бағдарлама іске асқан кезде ақпаратты сақтау үшін айнымалылар қолданылады. 

Барлық ауыспалы блоктар Айнымалылар жәшігінде кездеседі. 

бағдарламаны ойлап табушы айнымалылар жәшiгi

Айнымалыларға арналған үш негізгі блок бар. Олар туралы төмендегі қойындыларда біліңіз.

Инициативті блок айнымалыға арналған бағдарламадағы сақтау орнының бөлінуін белгілейді. Оған пайдалы атау беріңіз.

 

айнымалы блокты бағдарлама өнертапқышын инициативтілендіру

Мұнда білім қолданбасында қанша сабақ аяқталғанын бақылау үшін, мүмкін, numberOfLessons айнымалысы 0-ге инициализацияланған.

Жиын блогы айнымалы мәнін орнатуға немесе жаңартуға мүмкіндік береді.

 

Мұнда ағымдағы мән орындалды және айнымалы ағымдағы мәнге + 1 орнатылады. Сонымен, егер numberOfLessons 2 болса, жаңа мән 3 болады.

get блогы айнымалының ағымдағы мәнін алуға мүмкіндік береді.

Мұнда get блогы Label1-де көрсету үшін сөйлемге сабақтар санын енгізу үшін пайдаланылады.
біріктіру блогында пайдаланылатын айнымалы блокты алу
 
Мұнда ол шартты блокта нөлге тең екендігін тексеру үшін ағымдағы сабақтар санын алу үшін қолданылады.
егер Бағдарлама өнертапқышын блоктаса
 
 
 

ТІЗІМДЕР

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

Мысалы, бір пайдаланушы атының орнына қолданбаға қолданбаның барлық пайдаланушы аттарына кіру қажет болуы мүмкін. Немесе сіздің қолданбаңыз жануарларға қатысты болуы мүмкін, сондықтан жануарлардың бірнеше атаулары мен суреттері сақталуы керек.

App Inventor бағдарламасында бағдарламалардағы бірнеше деректер элементтерін ұйымдастыру үшін тізім деп аталатын нәрсені пайдаланасыз. Басқа бағдарламалау тілдері оларды массивтер деп атайды, бірақ олар бір нәрсе.

Сіз бұрын істер тізімін немесе азық-түлік тізімін жасаған болуыңыз мүмкін және бағдарламалаудағы тізімдер өте ұқсас.

жоғарғы жағында қаламы бар қағаздағы сатып алу тізімі
қолданбаның өнертапқышындағы палитраларды тізімдейді

Тізімдерге Блоктар өңдегішіндегі Кіріктірілген блоктар палитрасы арқылы кіруге болады. Тізімде элементтерді жасауға, сақтауға, шығарып алуға және жаңартуға мүмкіндік беретін бірнеше блоктар бар.

Тізімді айнымалыда сақтайсыз, сондықтан тізімге атау бере аласыз.

бағдарлама өнертапқышындағы тізімді инициализациялау

Қатысты ақпараттың бірнеше бөлігі болған кезде тізімдерді пайдалану керек.

Мысалы, ойынның ең жоғары 10 жоғары ұпайын көрсеткіңіз келсе, HighScore10 деңгейіне жеткенше HighScore1, HighScore2, HighScore3 және т.б. сияқты атаулары бар он айнымалы мәнді жасауға болады.

Таңдаулы әрекет - барлық 10 жоғары ұпайды ұстап тұру үшін HighScores деп аталатын тізім жасау. Тапсырыс беру, жаңарту және жоғары баллдарды қосу бір тізіммен әлдеқайда оңай.

бағдарлама өнертапқышындағы айнымалылар vs тізімдері

Тізімдегі әрбір элементтің тізімнен элементті шығарып алуға мүмкіндік беретін тізімдегі орны болып табылатын индексі бар.

Мысалы, төмендегі блоктарда 2 индексі Жемістер тізіміндегі 2-ші элементті көрсетеді. Сонымен, Label1 «Банандарды» көрсетеді.

бағдарлама өнертапқышындағы тізімді инициализациялау
тізімнен таңдау

Сондай-ақ, тізімдердегі заттарды қосуға, жоюға және ауыстыруға болады. 

Егер сіз [Apples, Banas, Oranges] бастапқы Жемістер тізімін алсаңыз, төмендегі блоктарды іске қосқаннан кейін, олар бар ретпен Жемістер тізімінде қандай болатынын жорамалдауға бола ма?

бағдарлама өнертапқышындағы тізімді инициализациялау

Үздік тәжірибелер: Айнымалы сөз оқушыларға үйрену қиын тақырыптардың бірі болып табылады. Жәшік аналогиясы шынымен де көмектеседі, сондықтан заттарды суреттеу үшін жәшіктерді нақты өмірлік таңбалауды жасау керек болса, бұл жақсы идея болуы мүмкін!

Оқушыларға сұрақ қоюға арналған бағыттаушы сұрақтар:

Тізімдерден немесе айнымалылардан басқа деректерді сақтаудың басқа жолдары бар деп ойлайсыз ба? Екі құндылықты бірге сақтағыңыз келсе ше? Менде қанша апельсин және қанша алма бар тізімді алғым келеді, мысалы:
Апельсин: 3

Алма: 5

Мен мұны қандай да бір жолмен сақтағым келеді. Бұл әлдеқайда күрделі тізім. Бұл мәндер бір-бірімен байланыстырылған тізімге ұқсайды:
Апельсин -> 3
Алма -> 5

Көрсеткілердің бағыты бар, сондықтан біз оны карта деп атаймыз! Басқа деректер құрылымдары да көп! Басқаларды таба аласыз ба?

Үздік студенттерге арналған қосымша білім: Егер сіздің студенттеріңіздің бірі кодтауға жатпайтын көбірек кодтауды жасауға қызығушылық танытса (мысалы: Python немесе Javascript-те кодтауды жалғастыру), сіз оларға кодтау тілдері не туралы көбірек ойлайтынын түсіндіре аласыз. қорапта бар. Мысалы, сандар сөздегі таңбалардан басқаша өңделеді. Python және Javascript сияқты тілдер сандарды таңбаларға қарсы қалай сақтау керектігін өте таңдайды, өйткені олар айнымалы мәнде сақтауға болатын заттардың әртүрлі «түрлері». Заттарды сақтау үшін қораптардың әртүрлі түрлерін қолданатын ұқсастық жасай аласыз: сіздің қалдықтарыңыз қалдықтарға арналған арнайы қорапқа (туппер ыдыс) түсуі керек, содан кейін сіз жылжытқан кезде заттарыңыз қозғалатын қорапқа (картон қорап) түсуі керек. . Питон үшін де солай. Сандар сандар жолақтарына, ал таңбалар таңбалар жолақтарына кіреді.

Тәлімгер кеңестері AmeriCorps қолдауымен ұсынылған.

қою көк түсті стильдендірілген A әріпі, AmeriCorps логотипі 

ӘРЕКЕТ: ВИКТОРИНА БАҒДАРЛАМАСЫН АЯҚТАУ

Болжамды уақыт: 45 минут

Айнымалылар мен тізімдерді пайдаланып кодты аяқтау

Таңдаған тақырып бойынша пайдаланушының білімін сынайтын викторина бағдарламасын жасау үшін жұмыс парағындағы нұсқауларды орындаңыз.
Жұмыс парағын ашу

РЕФЛЕКСИЯ

 

Бұл сабақта сіз бағдарламада ақпаратты сақтау әдісін және тізімдермен көп ақпаратты қалай пайдалану керектігін үйрендіңіз. Мына сұрақтарды қарастырайық:

деректер биттерімен шағылысу
Бағдарламаңызда қандай деректерді сақтау қажет?
Бағдарламаға тізімдерді қалай қосуға болады?

НЕГІЗГІ ТЕРМИНДЕРГЕ ШОЛУ

Айнымалы — бағдарлама ішіндегі ақпаратты атау және оған қатынасу тәсілі

Тізімдер  — Бағдарлама өнертапқышындағы бірнеше деректердің бір бөлігін ұйымдастыру тәсілі

Индекс  – тізімдегі деректер бөлігінің қайда екенін баяндайтын сан

Массив – App Inventor және Thunkable-дан басқа бағдарламалау тілдеріндегі тізімдердің жалпы атауы

ҚОСЫМША РЕСУРСТАР

ListView компоненті мыналарға мүмкіндік береді:

  • бағдарламадағы тізім элементтерін көрсету
  • тізімдегі элементті пайдаланушы таңдауы.
  • пайдаланушы элементті таңдағанда қабылданатын әрекетті кодтау

Қолданыстағы жылдам демо үшін осы бейнені қараңыз: