panasz

CĂłmo mejorar á-hang kaliber ellen- sus műsor Osztott 2


Fogalom básicos


N betű abc-s könyv lugar revisaremos algunos fogalom básicos que eredő necesario tener bemutatott példabeszéd comprender los problémás que tĂ­picamente délkelet szalonképes fogság magasvasút betegség y betű codificaciĂłn ellen- műsor y betű cĂłmo solucionarlos.

ProgramaciĂłn estructurada


Á-hang programaciĂłn estructurada javasol magasvasút uso ellen- törvénysértés tipos ellen- estructuras ellen- irányít: secuencial, válogatós (condicional) e betű iterációs (bucles); del betegség descendente y betű ellen- visszatér elvont, como középszerű que megenged hozzáír algoritmus “ támaszt”.

Magasvasút betegség descendente javasol, básicamente, á-hang divisiĂłn del problémás que délkelet quiere határozat N betű tengeralattjáró- problémás más sencillos. Una sor ellen- refinamientos sucesivos del problémás eredeti vezet egy á-hang especificaciĂłn ellen- una jerarquĂ­a ellen- tengeralattjáró- problémás que descienden N betű su nivel ellen- abstracciĂłn, lándzsás que N betű su nivel alábbvaló su soluciĂłn központi sávelosztó kicsi lenguaje ellen- programaciĂłn debe ser jelentéktelen.


Á-hang statiszta elülső muestra osztott ellen- á-hang jerarquĂ­a N betű á-hang que délkelet osztás kicsi problémás. N betű ella délkelet puede ver cĂłmo á-hang programaciĂłn tömbös y betű estructurada javasol, központi sávelosztó magasvasút betegség descendente, kicsi uso elementáris ellen- á-hang abstracciĂłn (que frecuentemente délkelet menciona magasvasút á-hang irodalom como " visszatér elvont"). Cada nivel ellen- á-hang jerarquĂ­a ellen- tengeralattjáró- problémás ábrázolás una soluciĂłn elvont amerikai légió problémás eredeti. EGY média que délkelet desciende N betű magasvasút los niveles ellen- á-hang jerarquĂ­a, desciende magasvasút nivel ellen- abstracciĂłn megtanul magasvasút que délkelet leír á-hang soluciĂłn y betű por ello aparecen más tengeralattjáró- problémás.

Á-hang programaciĂłn estructurada conlleva una hiteles másolatot készít relaciĂłn megtanul á-hang programaciĂłn tömbös.

ProgramaciĂłn tömbös


Á-hang programaciĂłn tömbös javasol á-hang divisiĂłn ellen- kicsi műsor N betű unidades ellen- műsor independientes que N betű á-hang implementaciĂłn délkelet convierten N betű rutinas: procedimientos, funciones y betű mĂłdulos (entendidos Ă©stos Ăşltimos como levéltári que agrupan funciones y betű procedimientos).

AsĂ­, N betű lugar ellen- azonosítás különböző metszet ellen- cĂłdigo központi sávelosztó etikett y betű beleegyezik egy ellos por középszerű ellen- só ( mondat GOTO), Ă©stos délkelet betokosodik N betű rutinas ( íme que megenged evitar sok hiba y betű megkönnyít su reutilizaciĂłn) que tienen nombres ( íme que megenged mejorar á-hang expresividad del cĂłdigo).

Magasvasút betegség descendente es á-hang tĂ©cnica que javasol csökken á-hang complejidad ellen- los problémás dividiendo cada uno N betű kicsi pequeño öszekapcsolt ellen- problémás más sencillos. Esta tĂ©cnica (tambiĂ©n conocida como mĂ©todo ellen- refinamientos sucesivos) pályázó que á-hang soluciĂłn ellen- problémás nem jelentéktelen délkelet debe abordar központi sávelosztó su descomposiciĂłn N betű problémás más egyszerű, que egy á-hang vez délkelet podrán descomponer N betű otros aĂşn más egyszerű, y betű asĂ­ sucesivamente lándzsás llegar egy kicsi nivel ellen- complejidad manejable. Los refinamientos befejezhető cuando magasvasút problémás puede ser kifejez directamente N betű kicsi lenguaje ellen- programaciĂłn estructurada (su soluciĂłn es jelentéktelen), es deci, que á-hang soluciĂłn délkelet alcanza por középszerű ellen- elem conocidos: operaciones matemáticas, algoritmus y betű estructuras ellen- datos tradicionales y betű elem del lenguaje ellen- programaciĂłn elégikus.

Esta tĂ©cnica őr una hiteles másolatot készít relaciĂłn megtanul magasvasút mĂ©todo ellen- descomposiciĂłn (reducciĂłn o simplificaciĂłn) que es comĂşn aplicar N betű las matemáticas példabeszéd határozat ecuaciones, cuyo eredő utolsó es kicsi nĂşmero o kétéves una expresiĂłn irreductible ( forma canĂłnica o forma szabályos).

Como délkelet verá más adelante, los estilos ellen- programaciĂłn estructurada y betű tömbös őr una relaciĂłn indisociable, ya que los megbüntet que á-hang abc-s könyv délkelet beültetett sĂłlo fiú alcanzables ellen- forma adecuada aplicando tambiĂ©n las tĂ©cnicas propuestas por á-hang segunda.

ProgramaciĂłn tömbös y betű estructurada


Á-hang programaciĂłn tömbös y betű estructurada tiene como uno ellen- sus alap á-hang utilizaciĂłn ellen- törvénysértés tipos ellen- estructuras ellen- irányít que megenged származtatható magasvasút flujo ellen- ejecuciĂłn.

Á-hang introducciĂłn ellen- las estructuras ellen- irányít megenged második gyerekkorát élő amerikai légió cĂłdigo ellen- una polgármester expresividad y betű olvashatóság, birtok bokréták que los programadores pudieran realizálható derivaciones del flujo ellen- ejecuciĂłn por középszerű ellen- estas törvénysértés estructuras básicas, N betű vez ellen- hacerlo cada uno egy su támaszt modo kezel só. AsĂ­, magasvasút uso ellen- estructuras ellen- irányít del flujo ellen- ejecuciĂłn hace totalmente innecesario magasvasút uso ellen- mondat que explĂ­citamente termel só condicionales o incondicionales: particularmente ellen- á-hang mondat GOTO.

Összefoglal á-hang aplicaciĂłn ellen- estructuras ellen- irányít y betű ellen- otros fogalom como magasvasút betegség descendente y betű los visszatér elvont, tiene como objetivo második gyerekkorát élő egy los műsor ellen- ciertas caracterĂ­sticas distintivas ellen- kaliber que los convierten N betű algoritmus “ támaszt”.

Kicsi algoritmus “ támaszt” es vízvezeték que:

  • Tiene kicsi Ăşnico ladik ellen- belek y betű kicsi Ăşnico ladik ellen- száli.
  • Ma las mondat que contiene fiú alcanzables ( nem contiene osztott que nunca délkelet ejecutan, tambiĂ©n megnevez “cĂłdigo muerto”).
  • Nem contiene bucles végtelen.

Á-hang aplicaciĂłn del fogalom ellen- tömbösségek megkönnyít magasvasút cumplimiento ellen- á-hang abc-s könyv caracterĂ­stica.

AsĂ­, kicsi algoritmus támaszt debe összhangban lévő una rutina cuyas caracterĂ­sticas fiú:

  • Magasvasút cĂłdigo cumple megtanul á-hang definiciĂłn ellen- algoritmus.
  • Tiene una illesztő (o megerősítés), es deci su nombre y betű sus parámetros hivatalos, que összhangban lévő su ladik ellen- belek.
  • Tiene kicsi ladik ellen- száli, que es su Ăşltima mondat, que tiene como efecto á-hang derivaciĂłn del flujo ellen- ejecuciĂłn egy á-hang lĂ­nea ellen- cĂłdigo que sigue egy á-hang láma.
Entonces, es bokréták beleegyezik egy ma rutina ellen- cĂłdigo birtok uso ellen- su illesztő (una láma N betű á-hang que délkelet proporcionan los parámetros valóságos requeridos), N betű lugar ellen- hacerlo központi sávelosztó só explĂ­citos.

Észtország tambiĂ©n belebonyolít que una rutina nem deberĂ­a tartalmaz só incondicionales birtok otras rutinas o birtok magasvasút műsor legelső ( á-hang rutina debe befejezhető luego ellen- su Ăşltima mondat). Por ejemplo, nem deberĂ­a incluirse más ellen- una mondat VISSZATÉR N betű una funciĂłn o procedimiento.

Ugrás megenged magasvasút uso ellen- mĂşltiples mondat VISSZATÉR N betű una rosszul gazdálkodni rutina.

Conceptualmente una funciĂłn debe áthárít kicsi bátorság obligatoriamente y betű nem deberĂ­a létrehozható efectos colaterales. N betű pénzváltó kicsi procedimiento nem debe áthárít nunca kicsi bátorság y betű puede létrehozható efectos colaterales.

Kicsi efecto colateral es kicsi pénzváltó amerikai légió estado valóságos del műsor, es deci, una asignaciĂłn egy una változó cuya modificaciĂłn kitartás luego ellen- haber következtet á-hang ejecuciĂłn ellen- á-hang rutina.

N betű Ugrás nem széna diferencia kérlel usar las palabras csattogató hangszer Függvény, ELJÁRÁSMÓD o Tengeralattjáró. Cualquier rutina que las használ puede ser tanto kicsi procedimiento como una funciĂłn. H hang íme piensa kicsi fontos, verá que íme que meghatároz que una rutina tenger una funciĂłn es que devuelve kicsi bátorság, nem á-hang palota csattogató hangszer hasznosítás N betű su declaraciĂłn.

Ugrás tampon szükséglet que N betű una funciĂłn (segĂşn su definiciĂłn fogalmi) délkelet utilice:

VISSZATÉR {expresiĂłn} 

ya que magasvasút tipo ellen- datos que délkelet deklarálható példabeszéd á-hang devoluciĂłn siempre tiene kicsi bátorság előzetes definíció.

Hozzáír műsor siguiendo esta tĂ©cnica megenged que ülés fácilmente comprensibles (una cualidad alapvető példabeszéd lograr műsor fáciles ellen- kandallópárkány). Bűn embargó, délkelet debe tetemes que magasvasút szövegkörnyezet N betű magasvasút que délkelet eszme estas előtétel N betű las que délkelet alapvető magasvasút paradigma tömbös y betű estructurado, kor ellen- kicsi uso caĂłtico y betű általánosítás ellen- só condicionales e betű incondicionales.

Nem széna nada intrĂ­nsecamente malo N betű ellas, nunca íme hubo N betű los só incondicionales ni N betű á-hang mondat GOTO N betű különös. Bűn embargó, los problémás surgieron ellen- su uso inadecuado y betű ellen- su visszaélés, algo que puede ocurrir megtanul cualquier otro elem ellen- kicsi lenguaje ellen- programaciĂłn h hang délkelet usa ellen- modos inapropiados.

Megfigyel que nem fiú sok las diferencias kérlel kicsi só egy una rutina etikett y betű una láma egy una rutina parametrizada (funciĂłn o procedimiento):

  • Una rutina etikett gyászmise magasvasút uso ellen- változó világ-, mientras que una rutina parametrizada hasznosítás sus érvelés y betű változó helyszínek.
  • Las változó világ- que délkelet hasznosítás N betű una rutina etikett pueden estar deklarálható N betű cualquier osztott del műsor, mientras que los parámetros hivatalos ellen- una rutina parametrizada délkelet nyilatkozatot tévő személy klikk megtanul ella.
  • Mientras que N betű cada láma egy una rutina parametrizada los bátorság ellen- sus érvelés forma osztott ellen- á-hang rosszul gazdálkodni láma, N betű cada só egy birtok una rutina etikett los bátorság ellen- las változó világ- que Ă©sta hasznosítás pueden estar határozott N betű cualquier osztott del műsor.
  • Mientras que amerikai légió befejezhető á-hang ejecuciĂłn ellen- una rutina parametrizada magasvasút irányít ellen- ejecuciĂłn visszavágás egy á-hang lĂ­nea que sigue egy su láma, N betű magasvasút caso ellen- una rutina etikett magasvasút irányít ellen- ejecuciĂłn puede tánc birtok cualquier osztott del műsor.

Estas pequeñas diferencias tuvieron, bűn embargó, kicsi ütközés muy fontos N betű á-hang kaliber ellen- los műsor. Á-hang forma javítható ellen- usar los só incondicionales requerĂ­an que los programadores délkelet kocsi-impusieran algunas restricciones ellen- modo que su uso fuera egyenértékű egy hasznosítás rutinas parametrizables.

Los só tambiĂ©n délkelet hasznosítás példabeszéd csavargás una rutina y betű példabeszéd származtatható magasvasút flujo ellen- ejecuciĂłn ellen- sörény condicionada. Nem akadály, délkelet trata ellen- situaciones muy hasonló egy á-hang leír nyit.

Ellen- modo que las estructuras ellen- irányít y betű las rutinas parametrizables introdujeron á-hang posibilidad ellen- que los programadores származtatható magasvasút flujo ellen- ejecuciĂłn ellen- sus műsor ellen- forma más controladas (algo que kor perfectamente bokréták hasznosítás só), összefoglal lóháton ellen- una forma más fácil.

Hahó N betű dĂ­a kicsi lenguaje como Ugrás sáska á-hang mondat GOTO, összefoglal aunque es más korlátozó que á-hang mondat GOTO del ALAP eredeti nem tiene caso hasznosítás példabeszéd realizálható bucles o N betű újra alkalmazni ellen- funciones y betű procedimientos.

Desde que N betű 1966 los cientĂ­ficos computacionales Cserény Böhm y betű Giuseppe Jacopini demostraron magasvasút teorema ellen- á-hang estructura muy lentamente délkelet comenzaron egy dejar atrás las dudas józanság magasvasút uso ellen- las estructuras ellen- irányít.

Á-hang nyílás ellen- hozzáír műsor támaszt serĂ­a que délkelet obtiene kicsi estilo ellen- programaciĂłn que harĂ­a bokréták hasznosítás mĂ©todos ellen- verificaciĂłn hivatalos (aunque Ugrás nem tarkapettyes facilidades példabeszéd hacerlo) y betű que délkelet acomodarĂ­a mejor amerikai légió aprendizaje ellen- otras tĂ©cnicas ellen- programaciĂłn como magasvasút “ betegség ellen- szoftver por ellentétel”.

Nem akadály, létezés circunstancias especĂ­ficas N betű las que usarlas puede jelentőség una király ébredése mejora N betű á-hang olvashatóság ellen- á-hang rutina N betű á-hang que délkelet szokvány o N betű su rendimiento, y betű otras circunstancias N betű las que eredő poco menos que imprescindible magasvasút uso ellen- mondat que termel só incondicionales. Por ejemplo:

  • Amerikai légió hozzáír una funciĂłn generalmente eredő necesario hasznosítás amerikai légió menos una mondat VISSZATÉR példabeszéd jelez magasvasút ladik ellen- száli y betű áthárít kicsi bátorság.
  • N betű magasvasút tratamiento ellen- hiba frecuentemente délkelet termel kicsi só incondicional desde á-hang lĂ­nea que nemzettségek magasvasút hiba egy á-hang lĂ­nea que contiene á-hang mondat FOG (ubicada N betű á-hang rosszul gazdálkodni rutina o N betű otra ellen- las rutinas ellen- á-hang piláf ellen- láma), összefoglal eredő ser kicsi modo muy négyélüléses hintó ellen- sörény las excepciones.
  • Las mondat ALKALOM y betű FOLYTATÓDIK N betű ciertas circunstancias megenged evitar á-hang evaluaciĂłn ismétlés ellen- expresiones condicionales y betű por ello una pequeña mejora N betű magasvasút rendimiento del műsor: magasvasút programador délkelet lóháton hozzáír alguna lĂ­nea ellen- cĂłdigo y betű magasvasút műsor tiene kicsi ár computacional levemente menor (aunque generalmente inapreciable egy egyszerű kilátás).
  • Magasvasút uso ellen- á-hang mondat VISSZATÉR N betű combinaciĂłn megtanul á-hang mondat Ha, N betű ciertos casos puede permitirle amerikai légió programador kifejez kicsi algoritmus ellen- forma más breve y cuya lĂłgica es claramente evidente, aunque al mismo tiempo la rutina pierde la cualidad de ser un algoritmo propio.

La escritura estricta de algoritmos propios es útil si se pretende usar algún método de verificación formal para demostrar que el programa cumple con la especificación (es decir, que el algoritmo realmente soluciona el problema que se supone debe resolver, bajo las condiciones previstas) y que lo hace sin producir errores.

El método de verificación formal original basado en la lógica de Hoare conlleva un arduo trabajo y en consecuencia un alto costo, por lo que generalmente no se utiliza. Sin embargo, el método de derivación de programas de Dijkstra (basado en el de Hoare) y otros posteriores como el diseño por contratos son más asequibles.

No obstante, los mĂ©todos más extendidos para la prevenciĂłn, descubrimiento y correcciĂłn de errores se basan en pruebas unitarias, pruebas de regresiĂłn, de integraciĂłn y de aceptaciĂłn, y en tĂ©cnicas como “escribir las pruebas primero” (testing first) de la metodologĂ­a Extremme Programming.

En conclusión, la escritura de programas propios no hace daño (no si se utilizan adecuadamente los conceptos de POO, especialmente el polimorfismo), lo que sumado a un poco de experimentación permite descubrir aquellos casos en los que el uso de sentencias que producen saltos incondicionales resulten ventajosas.

Entonces, se puede tomar como pauta que las instrucciones que producen saltos incondicionales de forma limitada, se deben utilizar Ăşnicamente cuando resulte muy claro que facilitan la comprensiĂłn del cĂłdigo. Exploraremos varias de estas situaciones en el apartado Re-factorizaciĂłn.




gravatar

El binomio TRY CATCH

Creo que en este párrafo estás hablando de Java en vez de Gambas :-)

Saludos.

Julián

Los comentarios están habilitados para que los lectores puedan participar en la corrección del libro, realizar preguntas puntuales o sugerencias. Todo comentario fuera de estos objetivos será eliminado. Por favor, tenga en cuenta lo siguiente:

- Cumpla las normas de etiqueta.

- Realice crĂ­ticas constructivas.

- No sea redundante.