lunes, 5 de mayo de 2014

estructuras de control repetitivas (estructura y ejemplo)

for ( …; ….; ….)
 {
 Acción1;
 Acción2;
 Acción3;
 Acción4;
 Acción5;
 ……..
 }
===========================

acum = 0; 
for
 (i=0; i<100; i++) 
 { 
 acum =acum +i; 
 printf
(“%d ”, acum); 
 printf
(“\t %d ”, i); 
 printf
(“\n”); 
 } 
===========================

while 
(condición) 
 { 
 Acción1; 
 Acción2; 
 Acción3; 
 Acción4; 
 Acción5; 
 …….. 
 }

=========================
i=0; 
acum = 0; 
while
 (i < 100) 
 { 
 acum = acum +i; 
 printf
(“%d ”, acum); 
 printf
(“\t %d ”, i); 
 printf
(“\n”); 
 i= i+1; 
 } 

============================
do 
 { 
 Acción1; 
 Acción2; 
 Acción3; 
 Acción4; 
 Acción5; 
 …….. 
 } 
while (condición); 


=============================

i=0; 
acum = 0; 
do 
 { 
 acum = acum +i; 
 printf
(“%d ”, acum); 
 printf
(“\t %d ”, i); 
 printf
(“\n”); 
 i= i+1; 
 } while 
(i < 100)

============================


estructuras de control selectivas

=====================
if (condición)
 acción 1;
else
 acción 2;
===================

if (condición)
 {
 Acción 1;
 Acción 2;
 Acción 3;
 }
else
 {
 Acción 4;
 Acción5;
 }
======================

selecciones anidadas

if 
(condición1) 
 { 
 Acción 1; 
 if 
(condición2) 
 Acción 3; 
 } 
else 
 { 
 Acción 4; 
 Acción5; 
 }
=========================
switch (variable) 
 case
 constante1 : acción1; 
 
break; 
 case
 constante1 : acción2; 
 
break; 
 case
 constante1 : acción3; 
 
break; 
 case
 constante1 : acción4; 
 
break; 
 default
: acción5; 
===============================
switch (nota) 
 case
 10 : printf(“Calificación 10”); 
 
break; 
 case
 9 : printf(“Calificación 9”); 
 
break; 
 case
 8: printf(“Calificación 8”); 
 
break; 
 case
 7: printf(“Calificación 7”); 
 
break; 
 default
: printf(“Reprobado”);; 
}
==============================


diseno del algoritmo

Diseño del Algoritmo
En esta fase, como se ha mencionado anteriormente, se
 determina cómo hace el programa la tarea solicitada. 
Los métodos más eficaces para el proceso de diseño s
e basan en el conocido divide y vencerás, esto es d
ividiendo el 
problema en subproblemas y a continuación dividir es
tos subproblemas en otros de nivel más bajo hasta que 
pueda 
ser implementada la solución. 

Existen diferentes herramientas de programación, las
 más utilizadas para diseñar algoritmos son: 

1. Diagramas de flujo: Es una representación gráfica de
 un algoritmo. Los símbolos normalizados por el Ins
tituto 
Norteamericano de Normalización (ANSI) y los más fr
ecuentes empleados se muestran a continuación. 

2. Pseudocódigo: Es una herramienta de programación en 
la que las instrucciones se escriben en palabras 
similares en inglés o español, que facilitan tanto l
a escritura como la lectura de programas. 

ejemplos de la solucion de un problema de programacion

Ejemplo 1
¿Es un algoritmo la siguiente instrucción?
Problema: Escribir una lista de todos los enteros po
sitivos
Solución: Es imposible ejecutar la instrucción anterio
r dado que hay infinitos enteros positivos.

Ejemplo 2
Problema: Calcular la paga neta de un trabajador con
ociendo el número de horas trabajadas, la tarifa hor
aria y
la tasa de impuestos.
Solución: Debemos definir el problema.
1. ¿Qué datos de entrada se requieren?
Número de horas trabajadas
Tarifa
Impuestos
2. ¿Cuál es la salida deseada?
Paga Neta
3. ¿Cuál es el método a usar? (Algoritmo)
Inicio
 Leer Número de horas trabajadas
 Leer Tarifa
 Leer Impuestos
 Calcular Paga Bruta = Número de horas trabajadas * Tarifa
 Calcular Impuestos = Paga Bruta * Tasa
 Calcular Pago Neta = Paga Bruta – Impuestos
 Visualizar Paga Bruta
 Visualizar Impuestos
 Visualizar Pago Neta
Fin

fase de documentacion

Finalmente se debe usar la fase de Documentación, es
decir, es la escritura de las diferentes fases del c
iclo de vida
del software, esencialmente el análisis, diseño y c
odificación, unidos a manuales de usuario y de refe
rencia, así como
normas para el mantenimiento.
En este concurso se pondrán a prueba las cuatro pri
meras fases, aunque se recomienda realizar las fase
s faltantes
para terminar con el ciclo de vida del software.
Análisis del Problema
En esta fase se requiere una clara definición del pr
oblema, para poder hacer esto es conveniente realiza
r las
siguientes preguntas:

1. ¿Qué entradas se requieren? (tipo y cantidad)
2. ¿Cuál es la salida deseada? (tipo y cantidad)
3. ¿Qué método produce la salida deseada?

Con dichas preguntas se determina qué necesita el prog
rama para resolver el problema. La solución puede
llevarse a cabo mediante varios algoritmos [Joyanes
, 2004].
Un algoritmo dado correctamente resuelve un problema
definido y determinado.

El algoritmo debe cumplir diferentes propiedades:
1. Especificación precisa de la entrada. Se debe dejar claro el número y tipo de valores de
 entrada y las
condiciones iniciales que deben cumplir dichos valo
res.
2. Especificación precisa de cada instrucción. No debe haber ambigüedad sobre las acciones que se
 deben ejecutar
en cada momento.
3. Exactitud, corrección. Si debe mostrar que el algoritmo resuelva el proble
ma. 4. Etapas bien definidas y concretas. Concreto quiere decir que la acción descrita por es
a etapa está totalmente
comprendida por la persona o máquina que debe ejecu
tar el algoritmo. Cada etapa debe ser ejecutable en un
a
cantidad finita de tiempo.
5. Número finito de pasos. Un algoritmo se debe componer de un número finito d
e pasos.
6. Un algoritmo debe terminar. En otras palabras, no debe entrar en un ciclo infin
ito.
7. Descripción del resultado o efecto. Debe estar claro cuál es la tarea que el algoritmo
 debe ejecutar. La mayoría
de las veces, esta condición se expresa con la produ
cción de un valor como resultado que tenga ciertas
propiedades.

FASES PARA LA RESOLUCIÓN DE PROBLEMAS

FASES PARA LA RESOLUCIÓN DE PROBLEMAS
Las fases o etapas constituyen el ciclo de vida del s
oftware, ayudarán en el proceso de resolución de un
problema,
estas consisten en:

1. Análisis del problema.
2. Diseño del algoritmo.
3. Codificación (Implementación).
4. Compilación y ejecución.
5. Verificación
6. Depuración.
7. Mantenimiento.
8. Documentación.

Las dos primeras etapas conducen a un diseño detalla
do escrito de forma de algoritmo
1. Durante la tercera
etapa (Codificación) se implementa el algoritmo en un
 código escrito en un lenguaje de programación refl
ejando las
ideas desarrolladas en las fases de análisis y dise
ño [Joyanes, 2003].
La Compilación, Ejecución y Verificación realiza la
 traducción y ejecución  programa, se comprueba
rigurosamente y se eliminan todos los errores que pu
eda tener. Si existen errores es necesario modificarl
o y
actualízalo de manera que cumplan todas las necesid
ades de cambio de sus usuarios, para ello se usan l
as etapas de
Verificación y Depuración.