Raksti

7.1. Komplektu pamati - matemātika


Mākslas kolekcionāram, iespējams, pieder gleznu kolekcija, savukārt mūzikas mīļotājiem - CD. Jebkura priekšmetu kolekcija var veidot a komplekts.

Iestatiet

A komplekts ir atšķirīgu objektu kolekcija, ko sauc elementi no komplekta

Komplektu var definēt, aprakstot saturu vai uzskaitot kopas elementus, kas iekļauti cirtainās iekavās.

1. piemērs

Daži kopu piemēri, kas definēti, aprakstot saturu:

  1. Visu pāra skaitļu kopa
  2. Visu grāmatu komplekts, kas rakstīts par ceļojumiem uz Čīli

Daži kopu piemēri, kas noteikti, uzskaitot kopas elementus:

  1. {1, 3, 9, 12}
  2. {sarkans, oranžs, dzeltens, zaļš, zils, indigo, violets}

Komplekts vienkārši norāda saturu; kārtība nav svarīga. Kopa, ko apzīmē {1, 2, 3}, ir ekvivalenta kopai {3, 1, 2}.

Apzīmējums

Parasti mēs izmantosim mainīgo, lai attēlotu kopu, lai vēlāk būtu vieglāk atsaukties uz šo kopu.

Simbols ( in ) nozīmē “ir elements”.

Komplektu, kurā nav elementu, ( {} ), sauc par tukšs komplekts un ir apzīmēts ( emptyyset )

2. piemērs

Ļaujiet (A = {1,2,3,4 } )

Lai atzīmētu, ka 2 ir kopas elements, mēs rakstīsim (2 in A )

Dažreiz kolekcijā, iespējams, nav visu kopas elementu. Piemēram, Krisam pieder trīs Madonnas albumi. Kaut arī Krisa kolekcija ir komplekts, mēs varam arī teikt, ka tas ir apakškopa no visu Madonnas albumu lielākā komplekta.

Apakškopa

A apakškopa no kopas (A ) ir vēl viena kopa, kas satur tikai elementus no kopas (A ), bet nedrīkst saturēt visus (A ) elementus.

Ja (B ) ir apakškopa (A, ), mēs rakstām (B subseteq A )

A pareiza apakškopa ir apakškopa, kas nav identiska sākotnējai kopai - tajā ir mazāk elementu.

Ja (B ) ir pareiza (A ) apakškopa, mēs rakstām (B apakškopa A )

3. piemērs

Apsveriet šos trīs komplektus

(A = ) visu pāra skaitļu kopa ( quad B = {2,4,6 } quad C = {2,3,4,6 } )

Šeit (B apakškopa A ), jo katrs (B ) elements ir arī pāra skaitlis, tāpat ir (A ) elements.

Formālāk mēs varētu teikt (B apakškopa A ), jo, ja (x B, ), tad (x A )

Tāpat ir taisnība, ka (B apakškopa C ).

(C ) nav (A ) apakškopa, jo (C ) satur elementu 3, kas nav iekļauts (A )

4. piemērs

Pieņemsim, ka komplektā ir lugas “Much Ado About Nothing”, “MacBeth” un “Līgo nakts sapnis”. Kāda ir lielāka kopa, kurai tas varētu būt apakškopa?

Risinājums

Šeit ir daudz iespējamo atbilžu. Viens no tiem būtu Šekspīra lugu kopums. Šī ir arī visu jebkad uzrakstīto lugu kopas apakškopa. Tā ir arī visas britu literatūras apakškopa.

Izmēģiniet tūlīt 1

Kopa (A = {1,3,5 }. ) Kas ir lielāka kopa, kurai tā varētu būt apakškopa?

Atbilde

Ir vairākas atbildes: Visu nepāra skaitļu kopa, kas mazāka par 10. Visu nepāra skaitļu kopa. Visu skaitļu kopa. Visu reālo skaitļu kopa.


7.1. Komplektu pamati - matemātika

Parasti kopas mijiedarbojas. Piemēram, jūs un jauns istabas biedrs nolemjat sarīkot mājas ballīti, un jūs abi uzaicināt savu draugu loku. Šajā ballītē tiek apvienoti divi komplekti, lai gan varētu izrādīties, ka ir daži draugi, kuri bija abos komplektos.

Savienojums, krustojums un papildinājums

The savienība no divām kopām satur visus elementus, kas ir vai nu komplektā (vai abos komplektos). Savienība ir apzīmēta AB. Formālāk, xAB ja xA vai xB (vai abi)

The krustojums no divām kopām satur tikai tos elementus, kas atrodas abās kopās. Krustojums ir apzīmēts AB. Formālāk, xAB ja xA un xB.

The papildināt no komplekta A satur visu, kas ir komplektā A. Papildinājums ir apzīmēts A ’vai A c vai dažreiz

A universāls komplekts ir kopa, kas satur visus mūs interesējošos elementus. Tas būtu jādefinē kontekstā.

Papildinājums ir salīdzināms ar universālo kopu, tātad A c satur visus elementus universālajā komplektā, kuru nav A.

Piemērs

  1. Ja mēs apspriestu grāmatu meklēšanu, universālais komplekts varētu būt visas bibliotēkas grāmatas.
  2. Ja mēs grupētu jūsu Facebook draugus, universālais komplekts būtu visi jūsu Facebook draugi.
  3. Ja jūs strādājāt ar skaitļu kopām, universālais kopa var būt visi veseli skaitļi, visi veseli skaitļi vai visi reālie skaitļi

Piemērs

Pieņemsim, ka universālais komplekts ir U = visi veselie skaitļi no 1 līdz 9. Ja A = Tad <1, 2, 4>, tad A c = <3, 5, 6, 7, 8, 9>.


7.1. Komplektu pamati - matemātika

Ikdienas matemātika (Everyday Math, aka Chicago Math) ir K-6 mācību programma, kuru izstrādājusi Čikāgas Universitātes Skolas matemātikas projekts (UCSMP) un kuru izdevusi Everyday Learning Corporation, kas ir daļa no SRA McGraw-Hill.

Ievērojama ikdienas matemātikas iezīme ir vairāku metožu vai procedūru parādīšana aritmētikas pamatdarbībām: saskaitīšana, atņemšana, reizināšana un dalīšana. Šī vietne, kas paredzēta kā ieguldījums ikdienas matemātikas pārskatu kolekcijā, apraksta programmas pamatalgoritmus. Apraksts ir balstīts uz 3. līdz 6. klases skolēnu uzziņu grāmatām Ikdienas matemātika, 2. izdevums (SRA / McGraw-Hill, 2002).

Pašlaik šajā lapā ir aprakstīti tikai ikdienas matemātikas algoritmi četrām pamatdarbībām veselo skaitļu aritmētikai. Decimāldaļu, procentu un daļu aritmētikas apraksts ir atstāts uz citu dienu.

Ikdienas matemātikas skolotāju rokasgrāmatas būtu vislabākā atsauce uz programmas autoru viedokli par dažādu algoritmu lomu mācību programmā. Īsa un viegli pieejama atsauce ir raksts Algoritmi ikdienas matemātikā (PDF formāts) ikdienas matemātikas vietnē.

Saskaņā ar ikdienas matemātikas algoritmiem katrai operācijai skolotāju materiāli identificē vienu no alternatīvajiem algoritmiem kā fokusa algoritms, kas ir nodrošināt rezerves studentiem, kuri citādi nesasniedz prasmes, un nodrošināt kopēju pamatu turpmākajam darbam. Tomēr studenti tiek aicināti izmantot jebkuru metodi, kuru viņi izvēlas. Fokusēšanas algoritmi ir "daļējas summas" saskaitīšanai, "tirdzniecība vispirms" atņemšanai, "daļējie produkti" reizināšanai un "daļējie koeficienti" dalīšanai. Turpmākajās apakšnodaļās katrā gadījumā vispirms tiek aprakstīts fokusa algoritms.

Papildinājums

Turklāt ikdienas matemātika piedāvā četras metodes. "Daļēju summu" metode un "kolonnu pievienošanas" metode jau ir 3. klases skolēnu uzziņu grāmatā un paliek abas izvēlētās metodes 4. klasē. "Ātrā metode" (tradicionālā) un "pretējo izmaiņu likums" parādās 5. klases skolēnu uzziņu grāmatā.

Daļēju summu metode

Daļēju summu metode (pievienošana ikdienas matemātikas fokusa algoritmam) ir divpakāpju process. Pirmajā posmā tiek aplūkota katra kolonna (strādājot no kreisās uz labo pusi) un saskaitītas vietas vērtības, ko apzīmē cipari šajā kolonnā. Otrajā posmā šīs daļējās summas tiek saskaitītas kopā. Pirmajā labajā piemērā process tiek piemērots. Katru dienu matemātikas studentu atsauce neiesaka īpašu algoritmu pievienošanas problēmai otrajā posmā. Bieži otrā posma problēma būs "viegla", jo to var izdarīt pa vienai kolonnai bez jebkādas pārnēsāšanas, kā tas ir pirmajā piemērā. Iespējams, tiek sagaidīts, ka skolēns atkārtos Partial Sums metodi gadījumos, kad otrā posma pievienošanas problēma ir saistīta ar nēsāšanu.

Kolonnas pievienošanas metode

Ātra metode (tradicionāla)

Pretējā maiņas kārtula

Atņemšana

Atskaitīšanai ikdienas matemātika piedāvā piecas metodes. "Tirdzniecības pirmā metode", "no kreisās uz labo atņemšanas metode" un "skaitīšanas metode" jau ir 3. klases skolēnu uzziņu grāmatā, un "daļēju atšķirību metode" un "to pašu izmaiņu likums" liek viņiem pirmā parādīšanās 4. klases skolēnu uzziņā. Ievērojiet, ka tradicionālā labās un kreisās atņemšanas metode nav ikdienas matemātikas mācību programmas sastāvdaļa.

Tirdzniecība vispirms

No kreisās uz labo atņemšana

Skaitīšana uz augšu

Daļējas atšķirības

Tas pats maiņas noteikums

Reizināšana

Reizināšanai ikdienas matemātika piedāvā četras metodes. "Daļējo produktu metode" un "režģa reizināšanas metode" jau ir 3. klases skolēnu uzziņu grāmatā, un šīs paliek izvēles metodes 4. un 5. klasē. Ikdienas matemātikas 6. klases skolēnu uzziņu grāmatā "īsā metode" (tradicionālā algoritma versija) un "ēģiptiešu reizināšanas metode" izceļas.

Daļēju produktu metode

Daļējo produktu metode ir ikdienas matemātikas fokusa algoritms reizināšanai. Daļēju produktu metodē tiek ņemts katra faktora desmit sadalījums un tiek veidoti visu terminu pāru reizinājumi. Tad šie daļējie produkti tiek saskaitīti kopā. Studenta tekstā šim otrajam posmam nav ieteicams lietot nekādu īpašu algoritmu. Labajā piemērā es esmu pieņēmis tradicionālo papildinājumu, kas tiek veikts garīgi, bet ikdienas matemātikas skolēns var labi izdarīt šo pievienošanas problēmu, izmantojot daļēju summu vai kolonnu pievienošanas metodi.

Režģa metode

Īsa metode

"Īsā metode" ir ikdienas matemātikas tradicionālā reizināšanas algoritma versija. Īsajā metodē tiek sadalīts tikai otrais faktors. Katrs otrā skaitļa cipars tiek interpretēts atbilstoši tā vietējai vērtībai, un šī termina daļējais produkts ar pirmo skaitli tiek pierakstīts, kā parādīts. Tad šie daļējie produkti tiek saskaitīti. Studenta atsauces tekstā nav aprakstīts, kā skolēnam tiek sagaidīts vienciparu un daudzciparu reizināšanas uzdevums. Pievienošanas posma veids arī tiek atstāts atklāts.

Egyption metode

Nodaļa

Dalīšanai ikdienas matemātika piedāvā divas metodes: "daļējo koeficientu metodi" un "kolonnu dalīšanas metodi". Tradicionālā garās dalīšanas metode netiek mācīta.

Daļēja Quotients metode

Kolonnu dalīšanas metode

Šajā lapā izteiktie viedokļi ir tikai lapas autora viedokļi. Ņujorkas universitāte nav pārskatījusi vai apstiprinājusi šīs lapas saturu.


GACE & reg novērtējumi

Gruzijas vērtējumi par pedagogu sertifikāciju & reg (GACE & reg) ir Gruzijas valsts apstiprināta pedagogu sertifikācijas novērtēšanas programma. Šos datorizētos novērtējumus ir izstrādājis GaPSC un Izglītības testēšanas dienests (ETS).

GACE novērtējumu mērķis ir palīdzēt GaPSC nodrošināt, lai kandidātiem būtu zināšanas un prasmes, kas nepieciešamas, lai veiktu pedagoga darbu Gruzijas valsts skolās.

Vai nezināt, ar ko sākt? Skatiet sadaļu Gatavošanās testēšanai, lai iegūtu svarīgu informāciju, kas palīdzēs jums organizēt testēšanas stratēģiju un apkopot nepieciešamo.


1. klases matemātikas spēles

Mūsu vietnes 1. klases matemātikas spēles studentiem un skolotājiem sniedz aizraujošu veidu, kā praktizēt matemātikas pamatfaktus. Matemātikas problēmas ir saskaņotas ar kopējiem pamatstandartiem. Vienīgi treniņi ir garlaicīgi, lai gan skolēniem ir nepieciešama liela prakse, lai viņi labāk apgūtu matemātiku. Pirmās klases skolēni mīl spēlēt, kāpēc gan neļaut viņiem izklaidēties un katru dienu uzzināt kaut ko jaunu?

Spēlējot šīs spēles, 1. klases skolēni praktizēs vienu no šīm matemātikas prasmēm:

• Izprotiet vietas vērtību.
• Atrisiniet problēmas, kas saistītas ar saskaitīšanu un atņemšanu.
• Saskaitīt un atņemt 20.
• Darbs ar saskaitīšanas un atņemšanas vienādojumiem.
• Izprot un pielieto operāciju īpašības un saistību starp saskaitīšanu un atņemšanu.
• Norādiet un rakstiet laiku.
• Pārstāvēt un interpretēt datus.
• Pamatojiet ar formām un to atribūtiem.

Šajā interaktīvajā basketbola spēlē 1. klases skolēni praktizēs skaitīšanu līdz desmit.

Summas līdz 10 Halovīni matemātikas spēlei Izmēģiniet šo aizraujošo matemātikas spēli un praktizējiet savas prasmes. Par katru pareizo atbildi jūs iekļūsiet bonusa kārtā, kurā jūs varat nopelnīt punktus, sagraujot monstrus.

Praktizējiet savas saskaitīšanas un atņemšanas prasmes, spēlējot šo jautro spēli.

Spēlē šo jautro Halovīni matemātikas spēli par skaitļu pievienošanu 20 robežās.

Matemātikas burvju atņemšanas spēle
Atņemšanas problēmas šajā aizraujošajā matemātikas burvju atņemšanas spēlē sniedz studentiem daudz prakses, skaitļus atņemot līdz 20.

Beisbola matemātikas papildināšanas spēle
Bērniem var būt daudz jautrības, jo viņi atrisina papildināšanas problēmas šajā aizraujošajā Beisbola matemātikas papildināšanas spēlē.

Šajā interaktīvajā un jautrajā tiešsaistes spēlē 1. klases skolēni praktizēs svarīgus matemātikas vārdu krājuma vārdus un definīcijas.

Matemātikas burvju papildināšanas spēle
Bērniem tiks nodrošināta daudz jautrības, kad viņi atrisinās papildināšanas problēmas šajā aizraujošajā matemātikas burvju papildināšanas spēlē.

Beisbola matemātikas vietas spēles spēle
Spēlējiet šo aizraujošo beisbola matemātikas vietas spēles spēli.

Papildinājumu koncentrēšanās spēles

Šajā tiešsaistes futbola spēlē 1. klases skolēni praktizēs vienciparu skaitļu pievienošanu.


Skaitļu modeļi

Mēs bieži varam aprakstīt skaitļu modeļus vairāk nekā vienā veidā. Lai to ilustrētu, apsveriet šādu skaitļu secību <1, 3, 5, 7, 9, >.

Skaidrs, ka šī skaitļa modeļa pirmais termins ir 1, un vārdus pēc pirmā termina iegūst, pievienojot 2 iepriekšējam. Šo skaitļu modeli mēs varam raksturot arī kā nepāra skaitļu kopumu.

Ar izmēģinājumu un kļūdu palīdzību mēs konstatējam, ka:

Novērojot, mēs pamanām, ka mēs varam aprakstīt šo skaitļa modeli ar likumu

Formula un tabulas

Vērtību tabulu var izveidot no kārtulas


Matemātikas ieskats

Funkcijas tehniskā definīcija ir: saikne no ieejas kopas ar iespējamo izeju kopumu, kur katra ieeja ir saistīta tieši ar vienu izeju.

Tas nozīmē, ka, ja objekts $ x $ atrodas ievades kopā (saukts par domēnu), tad funkcija $ f $ objektu $ x $ attēlos tieši ar vienu objektu $ f (x) $ iespējamo izeju kopā ( ko sauc par kodomēnu).

Funkcijas jēdziens ir viegli saprotams, izmantojot metaforu par funkciju mašīnu, kas ievada objektu ievadei un, pamatojoties uz šo ievadi, izspiež citu objektu kā izvadi.

Funkcija ir formālāk definēta, ņemot vērā izejvielu kopu $ X $ (domēns) un iespējamo rezultātu kopu $ Y $ (koda domēns) kā sakārtotu pāru kopu $ (x, y) $, kur $ x in X $ ( sajaukt?) un $ y Y $, ievērojot ierobežojumu, ka var būt tikai viens pasūtīts pāris ar tādu pašu vērtību $ x $. Mēs varam uzrakstīt apgalvojumu, ka $ f $ ir funkcija no $ X $ līdz $ Y $, izmantojot funkciju apzīmējumu $ f: X līdz Y $.

Lai iegūtu papildinformāciju par funkcijām, skatiet funkciju mašīnu vai funkciju piemērus.


Operāciju pamatprakses jautājumi

Kopējo pēdu skaitu, kuru viņš uzkāpa, var noteikt, pievienojot 482 pēdas un 362 pēdas. 482 un 362 summa ir 844. Tādējādi viņš kopumā uzkāpa 844 pēdas.

Vienumu, kura cena ir 4,58 USD, var noapaļot līdz 5 USD. Vienumu, kura cena ir 6,22 USD, var noapaļot līdz 6 USD. Vienumu, kura cena ir 8,94 USD, var noapaļot līdz 9 USD. 5, 6 un 9 summa ir 20. Tādējādi vislabākā aplēse ir 20 USD.

Lai atrastu nākamajā gadā saziedoto summu, iepriekšējā gadā saziedoto summu reiziniet ar 3. Tādējādi otrā gada laikā saziedotā summa bija 6 ASV dolāri. Trešajā gadā saziedotā summa bija 18 USD. Ceturtajā gadā saziedotā summa bija 54 USD. Piektajā gadā saziedotā summa bija 162 USD.

Ja viņa katru dienu izdzer 8 glāzes ūdens, 12 dienu laikā izdzertā ūdens glāžu skaitu var noteikt, reizinot 8 ar 12. Šis produkts ir 96, tādējādi viņa izdzer 96 glāzes ūdens 12 dienu laikā. Attiecību starp ūdens dzeramo glāžu skaitu, ko viņa izdzer dienā, un kopējo ūdens glāžu skaitu, ko viņa izdzer 12 dienu laikā, var attēlot ar atbilstošu reizināšanas vai dalīšanas skaitļa teikumu šādā faktu grupā: Atņemot 8 no 12, neatklāsim glāžu skaits, ko viņa izdzer 12 dienu laikā. Skaitlis teikums:, nav šajā faktā ģimenes.

Ja katra taisnstūra garums ir par 5 cm lielāks nekā iepriekšējā taisnstūra garums, 3. taisnstūra garumus caur 11. taisnstūri var atrast, pievienojot 5 cm otrā trijstūra garumam un turpinot katru nākamo taisnstūri. Taisnstūru garumi būs šādi: 16 cm, 21 cm, 26 cm, 31 cm, 36 cm, 41 cm, 46 cm, 51 cm un 56 cm.

Lai atrastu pirmajai labdarības organizācijai nodoto pārtikas bundžu skaitu, no viņa savākto bundžu skaita jāatskaita viņu atstāto pārtikas bundžu skaits.

Divu decimāldaļu summa ir 10,80, aiz komata tiek pievienoti tāpat kā veseli skaitļi, vienlaikus izlīdzinot decimālzīmi.

Viņa skrien apļus visos jeb 96 apļus.

Pārdoto cupcakes skaitu var noapaļot šādi: 80 cupcakes, 50 cupcakes un 70 cupcakes, kas sastāda 200. Tāpēc labākais pārdotais cupcakes skaits ir 200 cupcakes.

Naudas summu, ko Kārlails iekasē par matu griezumu, var noapaļot līdz 20 USD. Tādējādi viņa kopējā maksa ir aptuveni 600 USD.


Katru dienu iesaistiet savus skolēnus matemātikā klasē vai mājās

Matemātika ir saistoša tiešsaistes matemātikas programma kas paredzēts hibrīdu klasēm un mājas mācībām. Ieprieciniet savus studentus prakse un plūdums aktivitātes, izaiciniet viņu domāšanu ar problēmu risināšana un pamatojums jautājumi un apbalvot viņu mācīšanos ar sertifikātiem un punktiem & # 8211, lai kur viņi arī atrastos.

3P mācību produkts.

Vairāk nekā 200 000 skolotāju izvēlas matemātiku kā savu tiešsaistes matemātikas programmu

Studenti iesaistīšanos atrod, izmantojot mērķi un atlīdzību. Matemātika nodrošina izglītojamajiem iespēju izmantot savas matemātikas prasmes, izmantojot aktivitātes un izaicinājumus, kas ir atbilstoši un piesaista uzmanību.

Iesaistīšanās

Māci savu ceļu. Matemātika ir paredzēta, lai palīdzētu skolotājiem un vecākiem pasniegt stundas savā laikā un veidā.

Elastīgs

Pārejiet pa skaitļiem. Matemātika sniedz padziļinātas atskaites, kas palīdzēs jums redzēt klases un atsevišķu studentu progresu, palīdzot jums novērtēt tagad un plānot nākotni.

Ziņošana

Vairāk nekā 200 000 skolotāju izvēlas matemātiku kā savu tiešsaistes matemātikas programmu

Studenti iesaistīšanos atrod, izmantojot mērķi un atlīdzību. Matemātika nodrošina izglītojamajiem iespēju izmantot savas matemātikas prasmes, izmantojot aktivitātes un izaicinājumus, kas ir atbilstoši un piesaista uzmanību.

Māci savu ceļu. Matemātika ir paredzēta, lai palīdzētu skolotājiem un vecākiem pasniegt stundas savā laikā un veidā.

Pārejiet pa skaitļiem. Matemātika nodrošina padziļinātas atskaites, kas palīdzēs jums redzēt klases un atsevišķu skolēnu progresu, palīdzot jums novērtēt tagad un plānot nākotni.

Vairāk nekā 200 000 skolotāju izvēlas matemātiku kā savu tiešsaistes matemātikas programmu

Studenti iesaistīšanos atrod, izmantojot mērķi un atlīdzību. Matemātika nodrošina izglītojamajiem iespēju izmantot savas matemātikas prasmes, izmantojot aktivitātes un izaicinājumus, kas ir atbilstoši un piesaista uzmanību.

Māci savu ceļu. Matemātika ir paredzēta, lai palīdzētu skolotājiem un vecākiem pasniegt stundas savā laikā un veidā.

Pārejiet pa skaitļiem. Matemātika nodrošina padziļinātas atskaites, kas palīdzēs jums redzēt klases un atsevišķu skolēnu progresu, palīdzot jums novērtēt tagad un plānot nākotni.

Matemātiku lieto vairāk nekā 3 miljoni studentu visā pasaulē

Vairāk nekā 200 000 skolotāju izmanto matemātiku, lai atbalstītu matemātikas mācīšanu

Vairāk nekā 14 000 skolās ir matemātika skolēniem un # 8217 matemātika


Microsoft Small Basic

Kaut arī "True"
KASTES = 4 'kastīšu skaits gabalā
BWIDTH = 25 'lodziņa platums pikseļos
XOFFSET = 40 'X ekrāna nobīde pikseļos no vietas, kur sākas dēlis
YOFFSET = 40 'Y ekrāns nobīdīts tāfeles pikseļos
CWIDTH = 10 'Audekla platums lodziņu skaitā
CHEIGHT = 20 'Audekla augstums kastīšu skaitā.
STARTDELAY = 800
ENDDELAY = 175
PREVIEW_xpos = 13
PREVIEW_ypos = 2

GraphicsWindow.Clear ()
GraphicsWindow.Title = "Mazs pamata Tetris"
GraphicsWindow.Height = 580
GraphicsWindow.Width = 700
GraphicsWindow.Show ()

SetupTemplates ()
SetupCanvas ()
MainLoop ()

GraphicsWindow.ShowMessage ("Game Over", "Small Basic Tetris")
Galu galā

Apakšgrupa
template = Text.Append ("veidne", Math.GetRandomNumber (7))

CreatePiece () 'iekš: template ret: h
nextPiece = h

beigas = 0
sessionDelay = STARTDELAY
Kamēr beigas = 0
Ja sessionDelay> ENDDELAY Tad
sessionDelay = sessionDelay - 1
EndIf

kavēšanās = sessionDelay
thisPiece = nextPiece
template = Text.Append ("veidne", Math.GetRandomNumber (7))

CreatePiece () 'iekš: template ret: h
nextPiece = h
DrawPreviewPiece ()

ypos = 0
izdarīts = 0
xpos = 3 'vienmēr nometiet no 3. kolonnas
CheckStop () ': ypos, xpos, h ret: darīts
Ja izdarīts = 1 Tad
ypos = ypos - 1
MovePiece () 'iekš: ypos, xpos, h
beigas = 1
EndIf

yposdelta = 0
Kamēr izdarīts = 0 Vai yposdelta> 0
MovePiece () 'iekš: ypos, xpos, h

"Aizkavējieties, bet pārtrauciet, ja kavēšanās tiek iestatīta uz 0, ja gabals tiek nomests
delayIndex = kavēšanās
Kamēr delayIndex> 0 un aizture> 0
Programma. Aizkavēšanās (10)
delayIndex = delayIndex - 10
Galu galā

Ja yposdelta> 0 Tad
yposdelta = yposdelta - 1 ', ko izmanto, lai izveidotu brīvo griezienu, kad gabals tiek pagriezts
Cits
ypos = ypos + 1 'pretējā gadījumā pārvietojiet gabalu uz leju.
EndIf

'Pārbaudiet, vai gabalam vajadzētu apstāties.
CheckStop () ': ypos, xpos, h ret: darīts
Galu galā
Galu galā
EndSub

Sub HandleKey
'Pārtraukt spēli
Ja GraphicsWindow.LastKey = "Escape", tad
Program.End ()
EndIf

'Pārvietojiet gabalu pa kreisi
Ja GraphicsWindow.LastKey = "Pa kreisi", tad
moveDirection = -1
ValidateMove () ': ypos, xpos, h, moveDirection ret: invalidMove = 1 vai -1 vai 2, ja pārvietošana nav derīga, pretējā gadījumā 0
Ja invalidMove = 0 Tad
xpos = xpos + moveDirection
EndIf
MovePiece () 'iekš: ypos, xpos, h
EndIf

'Pārvietojiet gabalu pa labi
Ja GraphicsWindow.LastKey = "Pareizi", tad
moveDirection = 1
ValidateMove () ': ypos, xpos, h, moveDirection ret: invalidMove = 1 vai -1 vai 2, ja pārvietošana nav derīga, pretējā gadījumā 0
Ja invalidMove = 0 Tad
xpos = xpos + moveDirection
EndIf
MovePiece () 'iekš: ypos, xpos, h
EndIf

'Pārvietojiet gabalu uz leju
Ja GraphicsWindow.LastKey = "uz leju" vai GraphicsWindow.LastKey = "atstarpe", tad
kavēšanās = 0
EndIf

'Pagrieziet gabalu
Ja GraphicsWindow.LastKey = "Uz augšu", tad
basetemplate = Array.GetValue (h, -1) 'Array.GetValue (h, -1) = veidnes nosaukums
template = "kārdināt"
rotācija = "CW"
CopyPiece () 'in basetemplate, template, rotation

Array.SetValue (h, -1, template) 'Array.GetValue (h, -1) = veidnes nosaukums
moveDirection = 0
ValidateMove () ': ypos, xpos, h, moveDirection ret: invalidMove = 1 vai -1 vai 2, ja pārvietošana nav derīga, pretējā gadījumā 0

'Pārbaudiet, vai to var pārvietot tā, lai tas pagrieztos.
xposbk = xpos
yposdelta = 0
Kamēr yposdelta = 0 Un Math.Abs ​​(xposbk - xpos) 0 Tad
xpos = xposbk
Array.SetValue (h, -1, basetemplate) 'Array.GetValue (h, -1) = veidnes nosaukums
template = ""
EndIf
EndIf
EndSub


Sub DrawPreviewPiece
xpos = PREVIEW_xpos
ypos = PREVIEW_ypos
h = nākamais gabals

XOFFSETBK = XOFFSET
YOFFSETBK = YOFFSET
XOFFSET = XOFFSET + Array.GetValue (Array.GetValue (h, -1), "pviewx") 'Array.GetValue (h, -1) = veidnes nosaukums
YOFFSET = YOFFSET + Array.GetValue (Array.GetValue (h, -1), "pviewy") 'Array.GetValue (h, -1) = veidnes nosaukums
MovePiece () 'iekš: ypos, xpos, h

XOFFSET = XOFFSETBK
YOFFSET = YOFFSETBK
EndSub

'izveido veidni, kas ir pagriezts bāzes paraugs
Sub CopyPiece 'bāzes paraugā, veidnē, rotācijā
L = Array.GetValue (bāzes paraugs, "blāvs")

Ja rotācija = "CW" Tad
Ja i = 0 uz KASTĒM - 1 'x' = y y '= L - 1 - x
v = Array.GetValue (bāzes paraugs, i)

"x = matemātika. grīda (v / 10)
'y = matemātika. Atlikums (v, 10)

'jauns x un y
x = (matemātika. Atlikums (v, 10))
y = (L - 1 - Matemātika. Stāvs (v / 10))
Array.SetValue (veidne, i, x * 10 + y)
EndFor
'Count-Cockwise pašlaik netiek izmantots
ElseIf rotation = "CCW" Tad
Ja i = 0 uz KASTĒM - 1 'x' = L - 1 - y y '= x
v = Array.GetValue (bāzes paraugs, i)
'x = matemātika. grīda (v / 10)
'y = matemātika. Atlikums (v, 10)

'jauns x un y
x = (L - 1 - matemātika. Atlikums (v, 10))
y = Matemātika. Stāvs (v / 10)
Array.SetValue (veidne, i, x * 10 + y)
EndFor
ElseIf rotation = "KOPIJA" Tad
Ja i = 0 līdz KASTĒM - 1
Array.SetValue (veidne, i, Array.GetValue (basetemplate, i))
EndFor
Cits
GraphicsWindow.ShowMessage ("nederīgs parametrs", "kļūda")
Program.End ()
EndIf

'Kopējiet atlikušās īpašības no bāzes parauga uz veidni.
Array.SetValue (veidne, "color", Array.GetValue (basetemplate, "color"))
Array.SetValue (veidne, "dim", Array.GetValue (basetemplate, "dim"))
Array.SetValue (veidne, "pviewx", Array.GetValue (basetemplate, "pviewx"))
Array.SetValue (veidne, "pviewy", Array.GetValue (basetemplate, "pviewy"))
EndSub

Sub CreatePiece 'iekš: template ret: h
'Izveidojiet jaunu rokturi, kas pārstāv masīvuName, kas attēlos gabalu
hcount = hcount + 1
h = Text.Append ("gabals", hcount)

Array.SetValue (h, -1, template) 'Array.GetValue (h, -1) = veidnes nosaukums

GraphicsWindow.PenWidth = 1
GraphicsWindow.PenColor = "Melns"
GraphicsWindow.BrushColor = Array.GetValue (veidne, "krāsa")

Ja i = 0 uz KASTĒM - 1
s = Formas. Pievienot taisnstūri (BWIDTH, BWIDTH)
Formas. Pārvietot (s, -BWIDTH, -BWIDTH) 'pārvietoties no ekrāna
Masīvs.SetValue (h, i, s)
EndFor
EndSub

Sub MovePiece 'iekš: ypos, xpos, h. ypos / xpos ir 0-19, kas norāda audekla augšējās / kreisās rūtiņas koordinātu. h atgrieza CreatePiece
Ja i = 0 līdz KASTĒM - 1
v = Array.GetValue (Array.GetValue (h, -1), i) 'Array.GetValue (h, -1) = veidnes nosaukums
x = matemātika. grīda (v / 10)
y = matemātika. Atlikums (v, 10)

'Array.GetValue (h, i) = lodziņš h gabalam.
'xpos / ypos = ir formas augšdaļa. x / y ir lodziņa nobīde formas ietvaros.
Formas. Pārvietot (Array.GetValue (h, i), XOFFSET + xpos * BWIDTH + x * BWIDTH, YOFFSET + ypos * BWIDTH + y * BWIDTH)
EndFor
EndSub

Sub ValidateMove 'iekš: ypos, xpos, h, moveDirection ret: invalidMove = 1 vai -1 vai 2, ja pārvietošana nav derīga, citādi 0
i = 0
invalidMove = 0
Kamēr i = CWIDTH Tad
invalidMove = 1
i = KASTES spēks izkļūt no cilpas
EndIf

Ja Array.GetValue ("c", (x + xpos + moveDirection) + (y + ypos) * CWIDTH) <> "." Tad
invalidMove = 2
i = KASTES spēks izkļūt no cilpas
EndIf


Sub CheckStop 'iekš: ypos, xpos, h ret: darīts
izdarīts = 0
i = 0
Kamēr es CHEIGHT vai Array.GetValue ("c", (x + xpos) + (y + ypos) * CWIDTH) <> "." Tad
izdarīts = 1
i = KASTES spēks izkļūt no cilpas
EndIf

'Ja mums jāpārtrauc gabals, pārvietojiet kastes rokturus uz audekla
Ja izdarīts = 1 Tad
Ja i = 0 līdz KASTĒM - 1
v = Array.GetValue (Array.GetValue (h, -1), i) 'Array.GetValue (h, -1) = veidnes nosaukums
'x = matemātika. grīda (v / 10)
'y = matemātika. Atlikums (v, 10)
Array.SetValue ("c", (Math.Floor (v / 10) + xpos) + (Math.Receinder (v, 10) + ypos - 1) * CWIDTH, Array.GetValue (h, i))
EndFor

'1 punkts par katru veiksmīgi nomesto gabalu
rezultāts = rezultāts + 1
PrintScore ()

'Dzēst sakļautās līnijas
Dzēst līnijas ()
EndIf
EndSub


Sub DeleteLines
līnijas Notīrītas = 0

'Atkārtojiet katru rindu, sākot no apakšas
Ja y = CHEIGHT - no 1 līdz 0, solis -1

'Pārbaudiet, vai visa rinda ir aizpildīta
x = CWIDTH
Kamēr x = CWIDTH
x = 0
Kamēr x 0 Tad
rezultāts = rezultāts + 100 * matemātika. Apaļš (līnijas notīrītas * 2,15 - 1)
PrintScore ()
EndIf
EndSub

ApakšiestatīšanaCanvas
'GraphicsWindow.DrawResizedImage (Flickr.GetRandomPicture ("ķieģeļi"), 0, 0, GraphicsWindow.Width, GraphicsWindow.Height)


GraphicsWindow.BrushColor = GraphicsWindow.BackgroundColor
GraphicsWindow.FillRectangle (XOFFSET, YOFFSET, CWIDTH * BWIDTH, CHEIGHT * BWIDTH)

Programma. Kavējums (200)
GraphicsWindow.PenWidth = 1
GraphicsWindow.PenColor = "Rozā"
Par x = 0 līdz CWIDTH-1
Ja y = 0 līdz CHEIGHT-1
Array.SetValue ("c", x + y * CWIDTH, ".") '"." norāda, ka vieta ir brīva
GraphicsWindow.DrawRectangle (XOFFSET + x * BWIDTH, YOFFSET + y * BWIDTH, BWIDTH, BWIDTH)
EndFor
EndFor

GraphicsWindow.PenWidth = 4
GraphicsWindow.PenColor = "Melns"
GraphicsWindow.DrawLine (XOFFSET, YOFFSET, XOFFSET, YOFFSET + CHEIGHT * BWIDTH)
GraphicsWindow.DrawLine (XOFFSET + CWIDTH * BWIDTH, YOFFSET, XOFFSET + CWIDTH * BWIDTH, YOFFSET + CHEIGHT * BWIDTH)
GraphicsWindow.DrawLine (XOFFSET, YOFFSET + CHEIGHT * BWIDTH, XOFFSET + CWIDTH * BWIDTH, YOFFSET + CHEIGHT * BWIDTH)

GraphicsWindow.PenColor = "Kaļķi"
GraphicsWindow.DrawLine (XOFFSET - 4, YOFFSET, XOFFSET - 4, YOFFSET + CHEIGHT * BWIDTH + 6)
GraphicsWindow.DrawLine (XOFFSET + CWIDTH * BWIDTH + 4, YOFFSET, XOFFSET + CWIDTH * BWIDTH + 4, YOFFSET + CHEIGHT * BWIDTH + 6)
GraphicsWindow.DrawLine (XOFFSET - 4, YOFFSET + CHEIGHT * BWIDTH + 4, XOFFSET + CWIDTH * BWIDTH + 4, YOFFSET + CHEIGHT * BWIDTH + 4)

GraphicsWindow.PenColor = "Melns"
GraphicsWindow.BrushColor = "Rozā"
x = XOFFSET + PREVIEW_xpos * BWIDTH - BWIDTH
y = YOFFSET + PREVIEW_ypos * BWIDTH - BWIDTH
GraphicsWindow.FillRectangle (x, y, BWIDTH * 5, BWIDTH * 6)
GraphicsWindow.DrawRectangle (x, y, BWIDTH * 5, BWIDTH * 6)

GraphicsWindow.FillRectangle (x - 20, y + 190, 310, 170)
GraphicsWindow.DrawRectangle (x - 20, y + 190, 310, 170)

GraphicsWindow.BrushColor = "Melns"
GraphicsWindow.FontItalic = "Nepatiesa"
GraphicsWindow.FontName = "Comic Sans MS"
GraphicsWindow.FontSize = 16
GraphicsWindow.DrawText (x, y + 200, "Spēles vadības taustiņi:")
GraphicsWindow.DrawText (x + 25, y + 220, "Bultiņa pa kreisi = Pārvietot gabalu pa kreisi")
GraphicsWindow.DrawText (x + 25, y + 240, "Labā bultiņa = Pārvietot gabalu pa labi")
GraphicsWindow.DrawText (x + 25, y + 260, "Bultiņa uz augšu = Pagriezt gabalu")
GraphicsWindow.DrawText (x + 25, y + 280, "lejupvērstā bultiņa = kritiena gabals")
GraphicsWindow.DrawText (x, y + 320, "Nospiediet, lai apturētu spēli")

Program.Delay (200) ”bez šīs kavēšanās iepriekš minētajā tekstā tiks izmantots rezultāta fonta lielums

GraphicsWindow.BrushColor = "Melns"
GraphicsWindow.FontName = "Džordžija"
GraphicsWindow.FontItalic = "True"
GraphicsWindow.FontSize = 36
GraphicsWindow.DrawText (x - 20, y + 400, "Small Basic Tetris")
Program.Delay (200) ”bez šīs kavēšanās iepriekš minētajā tekstā tiks izmantots rezultāta fonta lielums
GraphicsWindow.FontSize = 16
GraphicsWindow.DrawText (x - 20, y + 440, "ver.0.1")

Program.Delay (200) ”bez šīs kavēšanās iepriekš minētajā tekstā tiks izmantots rezultāta fonta lielums
rezultāts = 0
PrintScore ()
EndSub


Sub PrintScore
GraphicsWindow.PenWidth = 4
GraphicsWindow.BrushColor = "Rozā"
GraphicsWindow.FillRectangle (500, 65, 153, 50)
GraphicsWindow.BrushColor = "Melns"
GraphicsWindow.DrawRectangle (500, 65, 153, 50)
GraphicsWindow.FontItalic = "Nepatiesa"
GraphicsWindow.FontSize = 32
GraphicsWindow.FontName = "Ietekme"
GraphicsWindow.BrushColor = "Melns"
GraphicsWindow.DrawText (505, 70, Text.Append (Text.GetSubText ("00000000", 0, 8 - Text.GetLength (rezultāts)), rezultāts))
EndSub


Sub SetupTemplates
katrā gabalā ir 4 kastes.
"katra gabala ieraksta indekss norāda lodziņa numuru (1-4)
'katra ieraksta vērtība norāda lodziņa nulles bāzes lodziņa koordinātu gabalā: desmitiem ir x, vieniem - y


Skatīties video: KAIP PRADINUKĄ MOKYTI MATEMATIKOS (Novembris 2021).