Псейнт менен негизги программалоо (3-бөлүк)

Бул окуу куралы уландысы Псейнт менен негизги программалоо (2-бөлүк), бул жолу мен программалоо үчүн эмне керек экендигин түшүндүрүп берем.

ТАПШЫРМА

Тапшыруу - бул өзгөрмө түзүлүп жана / же өзгөртүлүп, анын эс тутум мейкиндигине кире турган идентификатору аркылуу ага шилтеме берүүчү процесс.

тапшырманын синтаксиси:

[variable]<- [expresion];
[variable]=[expresion];

Бул жерде [өзгөрүлмө] - [экспрессияны] баалоо маанисин алган өзгөрмө. Экөө тең жарактуу, ошондуктан кайсынысы колдонулаары маанилүү эмес (эгер PSeInt туура конфигурацияланган болсо), бирок менин оюмча, биринчисин туура деп жаратам.

Эгерде дайындалганга чейин [өзгөрүлмө] жок болсо, анда [өзгөрүлмө] түзүлүп, эгер ал бар болсо, мурунку маани жок кылынып, жаңысы ордуна коюлат. Ушул себептен картага түшүрүү операциясы деп эсептелет.

ОКУУ

Окуу - бул колдонуучудан өзгөрүлүп турган маалыматты сактоо үчүн маалыматты же дайындарды сураган процесс.

анын синтаксиси:

Leer variable_1,variable_2,...,variable_n;

бул жерде [өзгөрмө_ {1,2, n}] - колдонуучу берген маанини алган өзгөрүлмө же өзгөрүлмө, бирден ашык өзгөрмө талап кылынса, ал алгач биринчисин, андан кийинкисин жана андан кийинкисин сурайт бардык баалуулуктарды алышты.

Бул дагы кыйратуучу функция.

ЖАЗУУ

Жазуу - бул символдордун тизмеги жана / же бир же бир нече өзгөрмөлөр экранга жазылуу процесси

синтаксиси:

Escribir expresion_1,expresion_2,...,expresion_n;

бул жерде [expersion_ {1,2, n}] - символдордун саптары жана / же көрсөтүлө турган өзгөрмөлөр.

Жазуу экранга жайгаштырылуучу маалыматтарды алуудан тышкары, саптын секирүүсүнөн алыс болгон "Өткөрбөстөн" же "Жүктөбөстөн" көрсөтмөлөрүн алат.

Жазуу аргументтердин арасына боштук кошпойт, башкача айтканда:

Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,b;
FinProceso

бул учурда ал "olamundo" көрсөтөт, анткени "a" менен "b" ортосунда a менен b ортосундагы аралыкты көрсөткөн символ сап жок, ал туура чагылдырылып, мындайча жазылат:

Proceso SinTitulo
a<- "ola";
b<- "mundo";
Escribir a,"",b;
FinProceso

бул учурда "» толтуруу керек, ал "толкун" менен "дүйнө" ортосундагы аралыкты камтыган символ сабы, андан кийин боштук менен "толкун дүйнөсүн" көрсөтөт.

If then

Бул берилген шартты баалаган жана айтылган шарттын чындыгын жана / же жалгандыгын текшерген, башкача айтканда, шарт аткарылса же аткарылбаса, сүйлөм.

Анын синтаксиси:

Si [condición a evaluar] Entonces
[instrucciones por verdadero] Sino
[instrucciones por falso] FinSi

"Башка" пункту милдеттүү эмес, эгерде бул шарт жалган болсо, анда көрсөтмөлөргө көңүл бурбай, өкүм жок болуп кала берсең, анда мындай бойдон кала берет:

Si [condición a evaluar] Entonces
[instrucciones por verdadero] FinSi

"Ийгиликке жетүү" пункту коюлган же коюлбагандыгы ошол программанын муктаждыктарына байланыштуу.

ЭСЕПТЕ

Сүйлөм вариант катары 2ден ашык вариантты берген так сандык өзгөрмөнү баалайт, бул "Эгерде-Анда" айырмаланат, анткени мурунку вариант 2 гана вариантты бере алат.

Синтаксиси:

Segun [variable numérica] Hacer
[número1]: [instrucciones] [número2],[número3]: [instrucciones] [...] De Otro Modo: [instrucciones] FinSegun

Көрүнүп тургандай, «number1» дегенден кийин «:» бар, андан кийин аткарылуучу көрсөтмөлөр «сандык өзгөрмө = number1», экинчи мисалда «number2, number3» деп берилген, демек, эгер «сандык өзгөрмө = number2 же number3» болсо, анда «нускамалар» аткарылат, бул 2 мүмкүнчүлүк бирдей көрсөтмөлөрдү аткарышы керек болгондо пайдалуу болот.

Мүмкүнчүлүктөрдүн бири дагы аткарылбаса, аткарылган "Башка жол менен" деген пункт дагы бар.

WHILE

Бул кайталанып туруучу функция, адегенде шартты баалап, андан кийин ал аткарылса, анда ал бир катар көрсөтмөлөрдү аткарат, андан кийин ал шарттарды кайрадан баалап, эгер ал чын болсо, ошол эле көрсөтмөлөрдү дагы бир жолу аткарат жана шарт жалганча ушул бойдон уланат.

Эгерде шарт башынан бери жалган болсо, анда ал эч качан аткарылбайт жана эгер ал чын болсо, анда ал чексиз циклге жайгаштырылат, нускамада акыркы орунду болтурбоо үчүн, кайсы бир учурда шартты бурмалаган нерсе болушу керек укурукту аяктоого жөндөмдүү.

анын синтаксиси:

Mientras [condición a evaluar] Hacer
[instrucciones] FinMientras

КАЙТАЛОО

Бул мурункусуна абдан окшош функция, бирок мурункусунан айырмаланып, ал шартты аягында текшерет, башкача айтканда, команда жок дегенде 1 жолу аткарылат, ошондой эле буйрук чын болгондо, анын ордуна ал шарт аткарылбаса, аны аткарат, бирок эгер шарт аткарылбаса, анын аткарылышын кааласаңыз, "чейин" дегендин ордуна "while" баскычын колдонуңуз.

анын синтаксиси:

Repetir
[Instrucciones] hasta que [condicion]

ҮЧҮН

Бул билдирүү өзгөрмө үчүн канча жолу аныктоочу көрсөтмө аткарат, мурункуларынан айырмаланып, бул цикл каралып жаткан өзгөрмөнүн маанисин өзү эле өзгөртөт, ошондой эле өтө күчтүү синтаксиске ээ.

Para [variable] Desde [valor inicial] Hasta [valor Final] Con [paso] Hacer
[instruciones] FinPara

"Variable" - бул "баштапкы маанини" алган жана нускамаларды аткарган, андан кийин "өзгөрүлмө" кошуп "кадам" кошкон жана "өзгөрмө" "акыркы мааниге" жеткенге чейин көрсөтмөлөрдү дагы аткарган өзгөрмө.

Эгерде "with [step]" алынып салынса, демек, ал "кадам" 1ге барабар экендигин, ошондой эле [step] көрсөтүлбөсө жана "баштапкы маани" "акыркы мааниден" чоңураак болсо, ал аркылуу өтөт тескери тартип, башкача айтканда, "Step" -1

SUBPROCESS / FUNCTION

Жип же функция - бул экинчисинин ичиндеги программа жана бул подпрограмма бир же бир нече маанини кабыл алып, аларды иштетип, экинчисин кайтарып берет. Анын синтаксиси

SubProceso [variable_de_retorno]<- [nombre de la funcion] ([arg_1],[arg_2],...,[arg_n])

acción 1;
acción 2;
.
.
.
acción n;
FinSubproceso

бул жерде "return variable" - бул "arg_1, arg_2, arg_n" параметрлерин алган "function name" функциясы кайтарган маанини камтыган өзгөрмө.

БАШКА

Булар башкаларды гана толуктап турган жана татаал синтаксиске ээ болбогон функциялар, анткени алар толуктоочу гана функциялар.

Экранды тазалоо

Бул функция экранды котормочудагы бардык объектилерден тазалайт

Күтүү ачкычы

Бул функция колдонуучунун программаны улантуу үчүн баскычты басышын күтөт

күтүү х {Экинчиден, Миллисекундалар}

бул функция программанын уланышын бир нече секунддан же миллисекундалардан күтөт

PS: кечигип калганыңыз үчүн кечиресиз, бирок мен башка маселелер менен алек болуп, жаза албай калгам


Макаланын мазмуну биздин принциптерге карманат редакциялык этика. Ката жөнүндө кабарлоо үчүн чыкылдатыңыз бул жерде.

10 комментарий, өзүңүздүкүн калтырыңыз

Комментарий калтырыңыз

Сиздин электрондук почта дареги жарыяланбайт. Милдеттүү талаалар менен белгиленет *

*

*

  1. Маалыматтар үчүн жооптуу: Мигель Анхель Гатан
  2. Маалыматтын максаты: СПАМды көзөмөлдөө, комментарийлерди башкаруу.
  3. Мыйзамдуулук: Сиздин макулдугуңуз
  4. Маалыматтарды берүү: Маалыматтар үчүнчү жактарга юридикалык милдеттенмелерден тышкары билдирилбейт.
  5. Маалыматтарды сактоо: Occentus Networks (ЕС) тарабынан уюштурулган маалыматтар базасы
  6. Укуктар: Каалаган убакта маалыматыңызды чектеп, калыбына келтирип жана жок кыла аласыз.

  1.   Гиль ал мындай деди:

    Аткарууну токтотпой баскычтарды басып алуу функциялары жокпу? 9 жаштагы балдарды кызыктырган кыймыл-аракет менен бир нерсе жасаганы үчүн, асман оюну да программалаштырууга кызыктуу болот.

    Process_digo
    a <-1;
    жанынан <-30;
    ылдый <-5;
    A = 1 Do
    Экранды тазалоо;
    c <-1;
    сап <- "";
    кайтолоо
    сап <-сап + "";
    c <-c + 1;
    С = капталга чейин
    сап <-сап + "X";
    c <-1;
    кайтолоо
    Жазуу " ";
    c <-c + 1;
    С = ылдый-1 чейин
    Сапты жазуу;
    кайтолоо
    Жазуу " ";
    c 2 Андан кийин
    down <-down-1;
    Ооба
    "s":
    Эгерде төмөндө <15 Анда
    ылдый 2 Андан кийин
    каптал <-каптал-1;
    Ооба
    "d":
    Эгерде каптал <50 Андан кийин
    каптал <-каптал + 1;
    Ооба
    "0":
    a <-2;
    End Seconds
    End while
    Аяктоо процесси

  2.   Гиль ал мындай деди:

    Эгер жогору көтөрүлсөңүз, анда 23 жана 28-саптарды жакшыраак өзгөртүңүз
    -23 с = 15 чейин
    +23 c = 18 чейин
    y
    -28 Эгерде ылдый болсо> 2 Андан кийин
    +28 Эгерде ылдый болсо> 3 Андан кийин

    1.    xnmm ал мындай деди:

      Салымыңыз үчүн рахмат, бирок сизде бир сүйлөмдү экинчисинин ичинде ачкан сыяктуу көйгөйлөр бар, бирок ал башталган сүйлөмдүн чегинде бүтүшү керек, демек, аны коюу мүмкүн эмес

      Бир нерсени иштетүү
      a <- 0;
      окуу;
      эгер а 25ке барабар болбосо
      а а 0 кылууга барабар эмес
      окуу;
      Ооба
      аягына чейин

      "if then" операторунун ичинде башталып, бирок анын сыртында аяктаган циклди көрүп тургандай, мындай нерсе мүмкүн эмес.

      Мен дагы деле болсо салымымды баалайм
      Аяктоо процесси

      1.    Гиль ал мындай деди:

        Рахмат, бирок кодду ушул жерге жайгаштыруу кыйыныраак деп ойлойм, аны кантип код түрүнө киргизүүнү билбейм жана ал чегинбей чыгат.

        Программа жакшы иштейт. Колдонуучу нөлдү тергенде, мен жөн гана циклден чыгуу үчүн "а" өзгөрмөсүн колдоном. Сиз чыгууну () же тыныгууну койсоңуз болот; шарттуу түрдө ал карайт жана мен өзгөрмө сактайм. Алар мүмкүнчүлүктөр.

        Салам.

      2.    Гиль ал мындай деди:

        Бош орундар жана этикеткалар үчүн өтмөктөрдү өзгөртүп көрөйүн por si funciona algo:

        Proceso algo_digo
        a<-1;
        lateral<-30;
        abajo<-5;
        Mientras a=1 Hacer
        Borrar Pantalla;
        c<-1;
        linea<-"";
        Repetir
        linea<-linea+" ";
        c<-c+1;
        Hasta Que c=lateral
        linea<-linea+"X";
        c<-1;
        Repetir
        Escribir " ";
        c<-c+1;
        Hasta Que c=abajo-1
        Escribir linea;
        Repetir
        Escribir " ";
        c 3 Entonces
        abajo<-abajo-1;
        Fin Si
        "s":
        Si abajo < 15 Entonces
        abajo 2 Entonces
        lateral<-lateral-1;
        Fin Si
        "d":
        Si lateral < 50 Entonces
        lateral<-lateral+1;
        Fin Si
        "0":
        a<-2;
        Fin Segun
        Fin Mientras
        FinProceso

      3.    Гиль ал мындай деди:

        Бул менин кодумдан импорттук каталарга толгон, мен өтмөктөр менен дагы бир жолу аракет кылам:
        Бул файл algo.psc болмок

        Proceso algo_digo
        a<-1;
        lateral<-30;
        abajo<-5;
        Mientras a=1 Hacer
        Borrar Pantalla;
        c<-1;
        linea<-"";
        Repetir
        linea<-linea+" ";
        c<-c+1;
        Hasta Que c=lateral
        linea<-linea+"X";
        c<-1;
        Repetir
        Escribir " ";
        c<-c+1;
        Hasta Que c=abajo-1
        Escribir linea;
        Repetir
        Escribir " ";
        c 3 Entonces
        abajo<-abajo-1;
        Fin Si
        "s":
        Si abajo < 15 Entonces
        abajo 2 Entonces
        lateral<-lateral-1;
        Fin Si
        "d":
        Si lateral < 50 Entonces
        lateral<-lateral+1;
        Fin Si
        "0":
        a<-2;
        Fin Segun
        Fin Mientras
        FinProceso

      4.    Гиль ал мындай деди:

        Баарынан кызыгы, код жазуусу бар комментарий, мисалы, сызыктардын ортосунда эмне болсо, ошону менен кошо жеп, жок кылынат
        кайтолоо
        Жазуу " ";
        c
        с-дан кийин а
        андан кийин 3 Андан кийин уланат
        төмөн
        Жалпысынан, бул кандай коддорго ылайык коюу ишенимдүү эмес.

  3.   Гиль ал мындай деди:

    Белгиленген белгилерди = бергенге чейин өзгөртүп, анын абалын билем.

    Proceso algo_digo
    a=1;
    lateral=30;
    abajo=5;
    Mientras a=1 Hacer
    Borrar Pantalla;
    c=1;
    linea="";
    Repetir
    linea=linea+" ";
    c=c+1;
    Hasta Que c=lateral
    linea=linea+"X";
    c=1;
    Repetir
    Escribir " ";
    c=c+1;
    Hasta Que c=abajo-1
    Escribir linea;
    Repetir
    Escribir " ";
    c=c+1;
    Hasta Que c=18
    Escribir "Dibujo una X (w,a,s,d y 0 para salir)";
    Leer mueve;
    Segun mueve Hacer
    "w":
    Si abajo > 3 Entonces
    abajo=abajo-1;
    Fin Si
    "s":
    Si abajo 2 Entonces
    lateral=lateral-1;
    Fin Si
    "d":
    Si lateral < 50 Entonces
    lateral=lateral+1;
    Fin Si
    "0":
    a=2;
    Fin Segun
    Fin Mientras
    FinProceso

    1.    Гиль ал мындай деди:

      Ал коддун бир бөлүгүн жей берет, коддун белгиси иштебей калат, ал жазууну ошол бойдон калтырышы керек.

      1.    xnmm ал мындай деди:

        Салам, мурун жооп бергениңизди көрбөгөнүм үчүн кечирим сурайм
        анткени сиз кодду жакшы жарыялай албайсыз, анткени мага почта аркылуу жибербейсиз, андыктан маселеге ушунчалык көп кезек бербейсиз.