Está en la página 1de 17

Universidad de el salvador

Facultad de ingeniera y arquitectura Escuela de ingeniera elctrica

CICLO I 2012 Grupo de laboratorio 02

Materia: INTRODUCCION ALA INFORMATICA

Profesores: Ing. Walter Zelaya y Carlos Pocasangre Guia No. 3 Solucin Grafica de Problemas Instructores Daniel Flores y Ral Alvarenga

Alumnos: Cesar Ulises Romero Monterrosa RM10059 Rafael De Jess Barrios Lima BL10023

San Salvador, 30 de Marzo de 2012

INDICE

Introduccin............... i

Objetivos 4

Referencia terica5 -10

Asignacin de laboratorio..11-15

Conclusin16

Bibliografa...........................17

INTRODUCCIN.

En el presente trabajo se plantean una serie de ejercicios, los cuales se han resuelto mediante algoritmos narrados, diagramas de caja y diagramas de flujo, todo esto como una antesala a la programacin en c. Tambin se incluye una breve descripcin de los diagramas de caja, la cual ser de mucha utilidad para la comprensin y desarrollo de los mismos.

OBJETIVO GENERAL Desarrollar habilidades en la solucin de problemas mediante algoritmos.

OBJETIVOS ESPECFICOS Implementar los, algoritmos narrados, flujogramas, diagramas de caja como un mtodo de solucin de problemas.

Conocer y aplicar los distintos bucles y sentencias de control.

REFERENCIA TEORICA

Un algoritmo de programacin est constituido por una o ms sentencias de programacin. Las sentencias de programacin suelen tener algn carcter que determina su final, por lo general es un punto y coma (;) o un punto final (.), y algunas estn separadas simplemente por enters (retorno de carro). Esto depende del lenguaje de programacin que se est empleando. Existen lenguajes que no necesitan un carcter que determine el final de una sentencia. En algunos lenguajes de programacin las sentencias estn numeradas, de esta manera, si existe algn error de sintaxis (o alguna advertencia), el compilador entrega un mensaje con el nmero de sentencia donde fue encontrado.

Sentencias simples Es una sentencia que no contiene ninguna otra sentencia. Se clasifican en: asignacin y proceder.

Sentencias compuestas En numerosas ocasiones, en vez de realizar slo una accin, cuando se cumpla o no se cumpla una determinada condicin, se deben realizar diferentes acciones. Esto es posible gracias a las sentencias compuestas.

Aritmtica y varias funciones

En lenguajes de programacin, las estructuras de control permiten modificar el flujo de ejecucin de las instrucciones de un programa. Con las estructuras de control se puede:

De acuerdo a una condicin, ejecutar un grupo u otro de sentencias (IfThen-Else y Select-Case) Ejecutar un grupo de sentencias mientras exista una condicin (DoWhile) Ejecutar un grupo de sentencias hasta que exista una condicin (DoUntil) Ejecutar un grupo de sentencias un nmero determinado de veces (ForNext) Etc

Todas las estructuras de control tienen un nico punto de entrada y un nico punto de salida. Las estructuras de control se puede clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite que la programacin se rija por los principios de la programacin estructurada.

Seleccin if simple
Se trata de una estructura de control que permite redirigir un curso de accin segn la evaluacin de una condicin simple, sea falsa o verdadera. El formato general de una sentencia if es la siguiente: Si se cumple la condicin, entonces se ejecuta la instruccin el bloque de instrucciones; en caso contrario, no se ejecutan. OPERADORES RELACIONALES

Se debe tener especial cuidado en no confundir el operador asignacin con el operador relacional igual a. Las asignaciones se realizan con el smbolo =, las comparaciones con ==.

Los operadores lgicos Los operadores lgicos son:


&& AND (el resultado es verdadero si ambas expresiones son verdaderas) || OR (el resultado es verdadero si alguna expresin es verdadera) ! NOT (el resultado invierte la condicin de la expresin)

AND y OR trabajan con dos operandos y retornan un valor lgico basadas en las denominadas tablas de verdad. El operador NOT acta sobre un operando. Estas tablas de verdad son conocidas y usadas en el contexto de la vida diaria, por ejemplo: "si hace sol Y tengo tiempo, ir a la playa", "si NO hace sol, me quedar en casa", "si llueve O hace viento, ir al cine". Las tablas de verdad de los operadores AND, OR y NOT se muestran en las tablas siguientes

El operador XOR

x True True False False true false

resultado False True True false

True False

SENTENCIA SI (IF) Las tres formas como se puede emplear la sentencia if son:
if (condicion) sentencia;

...o
if (condicion) sentencia1; else sentencia2;

...o
if (condicion1) sentencia1; else if (condicion 2) sentencia2;

...
else sentencian;

El flujo lgico de esta estructura es de arriba hacia abajo. La primera sentencia se ejecutar y se saldr de la estructura if si la primera condicin es verdadera. Si la primera condicin fue falsa, y existe otra condicin, se evala, y si la condicin es verdadera, entonces se ejecuta la sentencia asociada. Si existen ms condiciones dentro de la estructura if, se van evaluando stas, siempre y cuando las condiciones que le precedan sean falsas. La sentencia que esta asociada a la palabra reservada else, se ejecuta si todas las condiciones de la estructura if fueron falsas.

MIENTRAS (WHILE)
La sentencia while es otro ciclo o bucle disponible en C. Su formato es: while ( expresion) sentencia; donde sentencia puede ser una sentencia vaca, una sentencia nica o un bloque de sentencias que se repetirn. Cuando el flujo del programa llega a esta instruccin, primero se revisa si la condicin es verdad para ejecutar la(s) sentencia(s), y despus el ciclo while se repetir mientras la condicin sea verdadera. Cuando llega a ser falsa, el control del programa pasa a la lnea que sigue al ciclo.

HACER MIENTRAS (DO WHILE) Al contrario de los ciclos for y while que comprueban la condicin en lo alto del bucle, el bucle do ... while la examina en la parte baja del mismo. Esta caracterstica provoca que un ciclo do ... while siempre se ejecute al menos una vez. La forma general del ciclo es: do { sentencia; } while (condicin); Aunque no son necesarias las llaves cuando slo est presente una sentencia, se usan normalmente por legibilidad y para evitar confusin (respecto al lector, y no del compilador) con la sentencia while.

PARA (FOR) La sentencia for tiene el siguiente formato:


for ( expresion1; expresion2; expresion 3)

sentencia; o { bloque de sentencias } En donde expresion1 se usa para realizar la inicializacin de variables, usando una o varias sentencias, si se usan varias sentencias deber usarse el operador , para separarlas. Por lo general, establece el valor de la variable de control del ciclo. expresion2 se usa para la condicin de terminacin del ciclo y expresion3 es el modificador a la variable de control del ciclo cada vez que la computadora lo repite, pero tambin puede ser ms que un incremento.

10

Asignacin
Hacer un algoritmo narrado y diagrama de flujo que puede analizar si n es mltiplo de 5 1-inicio 2-leer n 3-n debe ser mayor o igual a 5 4-dividir n entre 5 el cual debe de dar un residuo igual a cero. 5-si el residuo es igual a cero ir al paso 6, si el residuo no es igual a cero ir al paso 7 6-mostrar que n es mltiplo de 5 7-mostrar que n no es mltiplo de 5 8-fin
Inicio

n>=5

NO

Si
div =5 R=n mod div

No es mltiplo

Si

R=0

no

Si es mltiplo

Fin 11

Hacer un algoritmo narrado para indicar n es o no un numero primo


1) Inicio 2) Leer n 3) Asignar div= 1 4) Div= div+1 5) Hacer la divisin n div, almacenar residuo. 6) Si el residuo es= 0, ir a paso 7. Si el residuo es 0, ir al paso 4. 7) Si n= div es primo Sino no es primo. 8) FIN.

Hacer un diagrama de caja que muestre todos los nmeros primos que estn desde el 3 al 100

Inicio Desea ver los nmeros primos del 3 al 100? si mostrar:2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Fin no

12

Hacer un diagrama de flujo que indique si n es un nmero perfecto.

Inicio

A=1 B =0 R=0

A<n

r=n mod a

r==0

b=b+a

A ++

B==n

No es perfecto

Es perfecto

fin 13

5) Implementar un diagrama de cajas que utilizando lazos Hacer-Mientras, desarrolle las siguientes Series de Taylor: Sin (t) = t - t 3/3! + t 5/5! - t 7/7! +...... - < t < Inicio

ingresar numero t

mientras t >= 1 or t <= -1

Exp=1 num=1 sen= 1

mientras pow (t/exp)/exp! <0.01

var 1=pow(-1, num+1)

Sen = sen+ var t pow(t/exp)/exp! num+1; exp=2

mostrar sen

Fin

14

cos (t) = 1 t 2/2+ t 4/4! - t 6/6! +...... - < t <

Inicio

ingresar numero t

mientras t >= 1 or t <= -1

Exp=1 num=0 sen= 1

mientras pow (t/exp)/exp! <0.01

var 1=pow(-1, num+1)

cos = cos+ var t pow(t/exp)/exp!

num+1; exp=2

mostrar cos

Fin

15

CONCLUSION

El adecuado y suficiente conocimiento acerca de los algoritmos nos proporcionan herramientas bastantes verstiles a la hora de como plantear la solucin a un problema, lo cual es de una gran utilidad por sus diversas formas de cmo representarlos en un ambiente bastante sencillo de comprender, por lo que resulta de gran utilidad tanto como para el lector como para el programador.

16

BIBLIOGRAFIA.

Fundamentos de programacin

Tcnicas de diseos de algoritmos

17