Você está na página 1de 19

Cajamarca, 9 de diciembre del 2013

Este trabajo lo dedico a mis padres y hermanos, y a


mis compañeras por haberme ayudado a realizarlo.

Asi también a Dios, por brindarme todos los días vida.


INTRODUCCION

Programación, es el proceso de diseñar, codificar, depurar y mantener el


código fuente de programas computacionales. El propósito de la programación
es crear programas que exhiban un comportamiento deseado. El proceso de
escribir código requiere frecuentemente conocimientos en varias áreas
distintas, además del dominio del lenguaje a utilizar, algoritmos especializados
y lógica formal. Programar no involucra necesariamente otras tareas tales
como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque
sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones.

Con la ayuda de software comerciales que ya han sido desarrollados, así como
de las Hojas Electrónicas y Lenguajes de Programación, se puede sistematizar
algunas actividades que enfrente el ingeniero civil en la práctica profesional,
investigación y/o docencia.
MARCO TEORICO
La programación se rige por reglas y un conjunto más o menos reducido de órdenes,
expresiones, instrucciones y comandos que tienden a asemejarse a una lengua natural
acotada (en inglés); y que además tienen la particularidad de una reducida
ambigüedad. Cuanto menos ambiguo es un lenguaje de programación, se dice, es
más potente. Bajo esta premisa, y en el extremo, el lenguaje más potente existente es
el binario, con ambigüedad nula (lo cual lleva a pensar así del lenguaje ensamblador).

En los lenguajes de programación de alto nivel se distinguen diversos elementos entre


los que se incluyen el léxico propio del lenguaje y las reglas semánticas y sintácticas.

En el diseño de un programa tenemos diferentes pasos:

Análisis del problema. Este paso es fundamental. La correcta resolución de un


problema viene determinada en gran medida por el planteamiento inicial. Un
planteamiento correcto nos evitará perder tiempo en la implementación de algoritmos
que posteriormente nos demos cuenta que son incorrectos. En este paso nos
debemos hacer tres preguntas: ¿Qué entradas se nos ofrece?, ¿Qué salida debemos
generar? y ¿Cuál es el método que debemos usar para llegar hacia la solución
deseada?

Diseño del algoritmo. Si en el análisis determinamos qué hace el programa aquí


determinamos cómo lo hace. Para ello se divide el problema en varios subproblemas
que se solucionan de forma independiente (divide y vencerás), lo que se denomina
diseño modular. En este paso puede ser conveniente la utilización de diagramas de
flujo o pseudocódigo.

DIAGRAMAS DE FLUJO : El diagrama de flujo o diagrama de actividades es la


representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como
programación, economía, procesos industriales y psicología cognitiva.

Un diagrama de flujo presenta generalmente un único punto de inicio y un único punto


de cierre, aunque puede tener más, siempre que cumpla con la lógica requerida.

Las siguientes son acciones previas a la realización del diagrama de flujo:

• Identificar las ideas principales al ser incluidas en el diagrama de flujo. Deben


estar presentes el autor o responsable del proceso, los autores o responsables del
proceso anterior y posterior y de otros procesos interrelacionados, así como las
terceras partes interesadas.

• Definir qué se espera obtener del diagrama de flujo.

• Identificar quién lo empleará y cómo.

• Establecer el nivel de detalle requerido.


• Determinar los límites del proceso a describir.

Los pasos a seguir para construir el diagrama de flujo son:

• Establecer el alcance del proceso a describir. De esta manera quedará fijado el


comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso
previo y el final la entrada al proceso siguiente.

• Identificar y listar las principales actividades/subprocesos que están incluidos


en el proceso a describir y su orden cronológico.

• Si el nivel de detalle definido incluye actividades menores, listarlas también.

• Identificar y listar los puntos de decisión.

• Construir el diagrama respetando la secuencia cronológica y asignando los


correspondientes símbolos.

• Asignar un título al diagrama y verificar que esté completo y describa con


exactitud el proceso elegido.
SIMBOLOGIA DE DIAGRAMAS DE FLUJO:
PSEUDOCODIGO: Es un lenguaje algorítmico escrito en el lenguaje natural pero más
conciso y que permite una redacción rápida del algoritmo aunque lógicamente no
tendrá la precisión en sus operaciones que en los lenguajes de programación. El
pseudocódigo es fácil de mantener, ya que sus modificaciones se pueden realizar con
un procesador de textos.

Se concibió para superar las dos principales desventajas del diagrama de flujo que es
lento de crear y difícil de modificar sin un nuevo dibujo.

Codificación. Es la escritura del código según el algoritmo decidido en las etapas


anteriores.

Compilación y ejecución. Una vez escrito el código, se compila. Si el código contiene


errores el compilador nos los mostrará: son los llamados errores de compilación, que
suelen estar relacionados con incoherencias en la sintaxis, conversión incorrecta de
tipos, etc. Una vez solucionados estos errores, se creará el programa ejecutable.

Verificación. Al ejecutar el programa puede ocurrir que realice lo que queríamos o que,
por el contrario, produzca un resultado indeseado. Nos encontramos aquí con dos
tipos de errores:

- Errores de ejecución: Se producen cuando el programa llega a un punto en el que el


ordenador no puede realizar la operación que se le solicita: división por cero,
desbordamiento, etc.

- Errores del algoritmo: Son los más difíciles de detectar, se producen cuando el
algoritmo está mal implementado. Nos conduce al siguiente paso.

Depuración. Esta es una parte importante. Se utilizan las herramientas de depuración


del compilador que usamos, lo que en gran medida determina si el compilador es
mejor o peor. En general, todos los compiladores incluyen entre sus herramientas de
depuración las siguientes:

- Ejecución paso a paso: En lugar de ejecutar todo el programa hasta su finalización,


se ejecuta línea a línea, lo que permite observar el comportamiento del programa en
cada momento.

- Watches (inspecciones): permiten seguir el valor de una variable y comprobar que


cambia su valor en su momento y modo deseado.

- Debug Inspector: similar a las watches pero especialmente útil para la visualización
de arrays, listas, etc.

- Breakpoints: si la ejecución es demasiado larga, podemos definir un breakpoint


(punto de ruptura) en una o varias líneas. El programa se ejecutará normalmente hasta
que llegue a una de esas líneas. En ese momento la ejecución se detendrá y
podremos consultar valores de variables o ejecutar paso a paso desde ese punto.

- Evaluar/modificar: permite obtener el valor de una variable en un punto en el que la


ejecución del programa se ha pausado. Se puede modificar el valor de dicha variable
para comprobar, por ejemplo, que si tuviera otro valor el comportamiento también sería
el esperado.
PSEUDOCODIGOS

 SUMA DE MATRICES

INICIO
Entero matriza (1,1)
Entero matrizb (1,1)
Entero matrizresultado (1,1)

Mostrar (“Llenar Matriz A”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matriza (i,j)
Fin_Para
Fin_Para

Mostrar (“Llenar Matriz B”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matrizb (i,j)
Fin_Para
Fin_Para

Para (entero i=0 hasta i=1) hacer


Para (entero j=0 hasta j=1) hacer
Matrizresultado (i,j) = matriza (i,j) + matrizb (i,j)
Fin_Para
Fin_Para

Mostrar (“Suma de Matriz A + B”)


Para (entero i=0 hasta i=1) hacer
Para (entero i=0 hasta i=1) hacer
Mostrar (matrizresultado (i,j))
Fin_Para
Fin_Para
FIN
DIAGRAMA DE FLUJO

Inicio

Entero matriza(1,1)
Entero matrizb(1,1)
Entero matrizresultado(1,1)

Mostrar “Ingrese los


datos de la matriz A”

Para
i=0
j<0

Leer
Matriza(i,j)

Fin_para

Mostrar “Ingrese los


datos de la matriz B”

Para
i=0
j<0

Leer
Matrizb(i,j)

Fin_para
Para
i=0
j<0

Matrizresultado(i,j) =
matriza(i,j) +
matrizb(i,j)

Fin_para

Mostrar “Suma de
matriz A + B”

Para
i=0
j<0

Mostrar
matrizresultado

Fin_para

Fin
 PRODUCTO DE MATRICES

INICIO
Entero matriza (1,1)
Entero matrizb (1,1)
Entero matrizresultado (1,1)

Mostrar (“Llenar Matriz A”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matriza (i,j)
Fin_Para
Fin_Para

Mostrar (“Llenar Matriz B”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matrizb (i,j)
Fin_Para
Fin_Para

Para (entero i=0 hasta i=1) hacer


Para (entero j=0 hasta j=1) hacer
Matrizresultado (i,j) = matriza (i,j) * matrizb (i,j)
Fin_Para
Fin_Para

Mostrar (“Suma de Matriz A + B”)


Para (entero i=0 hasta i=1) hacer
Para (entero i=0 hasta i=1) hacer
Mostrar (matrizresultado (i,j))
Fin_Para
Fin_Para
FIN
DIAGRAMA DE FLUJO

Inicio

Entero matriza(1,1)
Entero matrizb(1,1)
Entero matrizresultado(1,1)

Mostrar “Ingrese los


datos de la matriz A”

Para
i=0
j<0

Leer
Matriza(i,j)

Fin_para

Mostrar “Ingrese los


datos de la matriz B”

Para
i=0
j<0

Leer
Matrizb(i,j)

Fin_para
Para
i=0
j<0

Matrizresultado(i,j) =
matriza(i,j) *
matrizb(i,j)

Fin_para

Mostrar “Producto
de la Matriz A * B”

Para
i=0
j<0

Mostrar
matrizresultado

Fin_para

Fin
 MAYOR VALOR DE UNA COLUMNA

INICIO
Entero matriza(1,1)

Mostrar (“Llenar Matriz”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matriza (i,j)
Fin_Para
Fin_Para

Entero mayorcol1
Entero mayorcol2
Para (entero i=0 hasta i=1)
Para (entero i=0 hasta i=1)
Si (j=0) entonces
Si matriza(i,j) > mayorcol1 entonces
Mayorcol1 = matriza(i,j)
Fin_Si
Si_no
Si matriza(i,j) > mayorcol2 entonces
Mayorcol2 = matriza(i,j)
Fin_Si
Fin_Si
Fin_Para
Fin_Para

Mostrar (“Matriz A: “)
Para (entero i=0 hasta i=1)
Para (entero i=0 hasta i=1)
Mostrar (matriza(i,j))
Fin_Para
Fin_Para
DIAGRAMA DE FLUJO

Inicio

Entero matriza(1,1)

Mostrar “Llenar
Matriz”

Para
i=0
j<0

Leer
Matriza(i,j)

Fin_para

Entero mayorcol1
Entero mayorcol2

Para
i=0
j<0

Si
j=0
Si matriza(i,j) > Si matriza(i,j) >
mayorcol1 mayorcol2

Mayorcol1 = Mayorcol2 =
matriza(i,j) matriza(i,j)

Mostrar
“Matriz”

Para
i=0
j<0

Mostrar
matriza

Fin_para

Fin
MENOR VALOR DE UNA FILA

INICIO
Entero matriza(1,1)

Mostrar (“Llenar Matriz”)


Para (entero i=0 hasta i=1) hacer
Para (entero j=0 hasta j=1) hacer
Mostrar (“Valor” & i & “-“ & j & “:”)
Leer matriza (i,j)
Fin_Para
Fin_Para

Entero menorfil1
Entero menorfil2
Para (entero i=0 hasta i=1)
Para (entero i=0 hasta i=1)
Si (j=0) entonces
Si matriza(i,j) < menorfil1 entonces
menorfil1 = matriza(i,j)
Fin_Si
Si_no
Si matriza(i,j) < menorfil2 entonces
menorfil2 = matriza(i,j)
Fin_Si
Fin_Si
Fin_Para
Fin_Para

Mostrar (“Matriz A: “)
Para (entero i=0 hasta i=1)
Para (entero i=0 hasta i=1)
Mostrar (matriza(i,j))
Fin_Para
Fin_Para
DIAGRAMA DE FLUJO

Inicio

Entero matriza(1,1)

Mostrar “Llenar
Matriz”

Para
i=0
j<0

Leer
Matriza(i,j)

Fin_para

Entero menorfil1
Entero menorfil2

Para
i=0
j<0

Si
j=0
Si matriza(i,j) > Si matriza(i,j) >
menorfil1 menorfil2

menorfil1 = menorfil2 =
matriza(i,j) matriza(i,j)

Mostrar
“Matriz”

Para
i=0
j<0

Mostrar
matriza

Fin_para

Fin