Issuu on Google+

Comunidad en Desarrollo de Software Cod206

.

FUNDAMENTOS DE PROGRAMACIÓN Y ALGORITMOS. Guía N° 2  Estructuras de Control Selectivas.

Autor: Freddy Aparicio M.


INDICE TIP DE PROGRAMACIÓN ______________________________________________________ 2 ERRORES DE PROGRAMACIÓN: __________________________________________________ 2 ERRORES DE COMPILACIÓN (SINTAXIS): __________________________________________________ 2 ERRORES DE EJECUCIÓN: ________________________________________________________________ 2 ERRORES LÓGICOS: _____________________________________________________________________ 2

ESTRUCTURAS DE CONTROL SELECTIVAS _____________________________________ 2 ESTRUCTURA SIMPLE: ___________________________________________________________ 2 ESTRUCTURA SELECTIVA DOBLE O COMPUESTA: _________________________________ 2 ESTRUCTURA DE SELECCIÓN MÚLTIPLE O ANIDADA: _____________________________ 2 ESTRUCTURA DE SELECCIÓN MÚLTIPLES-CASOS: ________________________________ 2


TIP DE PROGRAMACIÓN ERRORES DE PROGRAMACIÓN: Los errores de programación son inevitables, incluso para programadores expertos, recordemos que los errores son un conflicto o un fin no esperado por el programador, que afecta el desarrollo de la aplicación o ejecución de esta. El proceso de corregir un error (bug en inglés) se denomina depuración (debuggin) del programa. Existen tres tipos de errores: errores de compilación, errores de ejecución y errores lógicos.

ERRORES DE COMPILACIÓN (SINTAXIS): Los errores de sintaxis ocurren cuando el código viola una o más reglas gramaticales estipuladas por el lenguaje. Estos errores se detectan por el compilador cuando se ejecuta la aplicación, por esta razón también son denominados errores de compilación. Los errores de compilación provienen de errores de construcción del código tales como escribir mal una palabra reservada, omitir algún signo de puntuación , entre otros, la ventaja es que estos errores suelen ser fáciles de detectar ya que el compilador suele indicar donde se producen las posibles causas , y así mismo son fáciles de corregir en un tiempo considerado.

ERRORES DE EJECUCIÓN: Son errores que producen una terminación anormal y que se detectan y visualizan durante la ejecución del programa. Un error de ejecución se produce cuando el usuario instruye a la computadora para que ejecute una operación no valida, un ejemplo muy claro sería una división por cero o manipular datos indefinidos o no validos de entrada, como escribir palabras “string” cuando la entrada debe ser un numero entero “int”, para enfrentar esto se maneja en todos los lenguajes el término de “Manejo de excepciones”.

ERRORES LÓGICOS: Los errores lógicos ocurren cuando un programa realiza un algoritmo incorrecto y no ejecuta la operación que estaba prevista, eso significa que no implica que tenga ni errores de compilación o de ejecución, así que son más difíciles de detectar, podríamos decir en pocas palabras que la salida que esperaba el programador no es la correcta por lo cual podemos definir el error lógico como “Un error producido por un algoritmo incorrecto”.

ESTRUCTURAS DE CONTROL SELECTIVAS Existen tres tipos de estructuras de control selectivas, estas se basan en una condición o en una opción para decidir una expresión realizada por el programador, donde tomara un valor falso o verdadero y de esta forma ejecutará un bloque de instrucciones dadas. Existen tres tipos de estructuras selectivas que son: a. Simple b. Doble o compuesta c. Múltiple o Anidada y Múltiples-Casos


ESTRUCTURA SIMPLE: Evalúa una expresión lógica y si la toma como verdadero, ejecuta una o varias instrucciones; la estructura será de la forma:

Si condición Entonces: Instrucciones (acciones por verdadero); . . Fin Si

El diagrama de flujo será así:

Ejemplo: Proceso comparar

n<-0; Escribir “Ingrese el número”; leer n; Si n>0 Entonces Escribir “Es mayor que cero”; FinSi; FinProceso;

Un tipo de dato entero es un tipo de dato que puede representar un subconjunto finito de los números enteros. Los tipos de dato entero disponibles y su tamaño dependen del lenguaje de programación usado así como la arquitectura en cuestión. Por ejemplo, si para almacenar un número entero disponemos de 4 bytes de memoria tememos que: 4 Bytes = 4x8 = 32 bits Con 32 bits se pueden representar 232 = 4294967296 valores: • Sólo positivos (enteros sin signo): del 0 al 4294967295 • Positivos y negativos (enteros con signo): del -2147483648 al 2147483647


ESTRUCTURA SELECTIVA DOBLE O COMPUESTA: Evalúa una expresión lógica y si la toma como verdadera ejecuta una o varias instrucciones, si la toma como falsa ejecuta otra u otras instrucciones; la estructura será de la forma:

Si condición Entonces: Instrucciones (acciones por verdadero); Sino Entonces Instrucciones (acciones por falso); Fin si

Ejemplo:

El diagrama de flujo será así:

Proceso comparar n<-0; Escribir “Ingrese el número”; leer n; Si n>0 Entonces Escribir “El número es positivo”; Sino Escribir “El número es negativo”; FinSi FinProceso

Un desbordamiento u overflow: Es un error de software que se produce, cuando un programa no

controla adecuadamente la cantidad de datos que se copian sobre una área de memoria reservada (buffer), de forma tal que si dicha cantidad es superior a la capacidad pre asignada, los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original. Esto constituye un fallo de programación. Cuando esto ocurre lo habitual es que el programa siga funcionando como si nada hubiera pasado, pero el valor desbordado se habrá convertido en un valor indeterminado con lo que las operaciones posteriores en las que este valor intervenga producirán resultados incorrectos.


ESTRUCTURA DE SELECCIÓN MÚLTIPLE O ANIDADA: Son estructuras selectivas que dentro de sus instrucciones contienen otra estructura selectiva y esta a su vez puede contener otra estructura selectiva y así sucesivamente, esta estructura será de la forma:

Si condición Entonces: Si condición Entonces: Instrucciones (acciones por verdadero) Fin si Sino Entonces: Si condición Entonces: Instrucciones (acciones por verdadero); Sino Entonces: Instrucciones (acciones por falso)

Ejemplo: Proceso numero Escribir "ingresar número" leer n Si n>0 Entonces Escribir "es positivo" Sino Si n=0 entonces Escribir "es cero" Sino Escribir "es negativo" FinSi FinSi FinProceso

El diagrama de flujo será así:


ESTRUCTURA DE SELECCIÓN MÚLTIPLE-CASOS: En esta estructura se toma una variable como punto de decisión y dependiendo del el valor que esta tome, se ejecutan diferentes instrucciones. La estructura tendrá la siguiente forma:

Segun <variable> Hacer : valor1: <instrucciones> valor2: <instrucciones> . . valorN: <instrucciones> De Otro Modo: <instrucciones> FinSegun

Ejemplo: Proceso calificar n<-0; Escribir "digite la nota"; Leer n; Segun n Hacer 1: Escribir "Deficiente"; 2: Escribir " Aprobado "; 3: Escribir " Sobresaliente "; De Otro Modo: Escribir " Valor equivocado"; FinSegun FinProceso


Las expresiones algebraicas al ser algorĂ­tmicas en cualquier lenguaje son diferente; es decir se escriben Las expresiones algebraicas al ser algorĂ­tmicas en cualquier lenguaje son diferentes, es decir, se

de diferente forma, damos unos ejemplos para tenerlos en cuenta: escriben de diferente forma, damos unos ejemplos para tenerlos en cuenta: Algebra: AlgorĂ­tmicas Algebra: AlgorĂ­tmicas a+b+c+d+e a+b+c+d+e 5 5

(a+b+c+d+e) / (5) / (5) (a+b+c+d+e)

Si no, se utilizaran parĂŠntesis en la forma algorĂ­tmica y quedara de la forma Si no, se utilizaran parĂŠntesis en la forma algorĂ­tmica y quedara de la forma a+b+c+d+e/5 estarĂ­amos procesando de forma algebraica la siguiente ecuaciĂłn a+b+c+d+e/5 estarĂ­amos procesando de forma algebraica la siguiente ecuaciĂłn đ?&#x2018;&#x2019;

a+b+ c +b d++c + d + đ?&#x2018;&#x2019; a+ 5

5

Algebra: Algebra:

AlgorĂ­tmicas AlgorĂ­tmicas

5

5 đ?&#x2018;&#x161;đ?&#x2018;Ľ 2 +đ?&#x2018;&#x161;đ?&#x2018;Ľ đ?&#x2018;? 2++12 đ?&#x2018;? + 12 3

( ((m*x*x))+(b*((5/3)) )+12 )+12 ( ((m*x*x))+(b*((5/3))

3

*Entre mĂĄs parĂŠntesis se puedan especificar una operaciĂłn, es mucho mĂĄs eficiente para la mĂĄquina, y no *Entre mĂĄs parĂŠntesis se puedan especificar una operaciĂłn, es mucho mĂĄs eficiente para la consume tantos recursos, si lo hiciĂŠramos de forma contraria. mĂĄquina, y no consume tantos recursos, si lo hiciĂŠramos de forma contraria. *En algunos lenguajes, se debe leer primero el manual de referencia, antes de realizar este tipo de *En algunos lenguajes, se debe leer primero el manual de referencia, antes de realizar este tipo de operaciones, ellos especifican el nĂşmero de bytes que pueden almacenar los diferentes tipos de datos, y operaciones, ellos especifican el nĂşmero de bytes que pueden almacenar los diferentes tipos de como el lenguaje realiza la jerarquĂ­a de operaciones. datos, y como el lenguaje realiza la jerarquĂ­a de operaciones.

OPERADORES RELACIONALES Operador Significado =

Igual

<>

Diferente

<=

Menor o igual

>=

Mayor o igual

<

Menor

>

Mayor

OPERADORES BOOLEANOS Operador

Significado

ÂŹ â&#x20AC;&#x153;NOTâ&#x20AC;?

NegaciĂłn

É&#x2026; â&#x20AC;&#x153;ANDâ&#x20AC;?

â&#x20AC;&#x2DC;Yâ&#x20AC;&#x2122; LĂłgica

V â&#x20AC;&#x153;ORâ&#x20AC;?

â&#x20AC;&#x2DC;Oâ&#x20AC;&#x2122; LĂłgica


tecnología