viernes, 9 de julio de 2010

hacer mientras / fin mientras - repetir hasta / fin repetir - hacer para / fin para

Hacer Mientras :

El bucle se repite mientras la condición sea cierta, si al llegar por primera vez al bucle mientras la condición es falsa, el cuerpo del bucle no se ejecuta ninguna vez.
Diagrama de flujo que muestra el funcionamiento de la instrucción mientras .
mientras (condicion) hacer
intrucciones
fin mientras



Repetir hasta:


Existen otras variantes que se derivan a partir de la anterior. La estructura de control repetir se utiliza cuando es necesario que el cuerpo del bucle se ejecuten al menos una vez y hasta que se cumpla la condición:
repetir
intrucciones
hasta que (condicion)

La estructura anterior equivaldría a escribir:

intrucion
mientras (condicion) hacer
intrucciones
fin mientras



hacer para:


Una estructura de control muy común es el ciclo para, la cual se usa cuando se desea iterar un número conocido de veces, empleando como índice una variable que se incrementa (o decrementa):

para y=n hasta m hacer
intruccion
fin para

la cual se define como:

i=x
para i>=n hacer
intruccion
i=i+1
fin mientras

para cada:

Por último, también es común usar la estructura de control para cada. Esta sentencia se usa cuando se tiene una lista o un conjunto L y se quiere iterar por cada uno de sus elementos:

para cada x E l hacer
intruciones
fin para cada

Si asumimos que los elementos de L son , entonces esta sentencia equivaldría a:

para i=0 hasta n hacer
i= li
intuccion
fin para

Sin embargo, en la práctica existen mejores formas de implementar esta instrucción dependiendo del problema.

Es importante recalcar que el pseudocódigo no es un lenguaje estandarizado. Eso significa que diferentes autores podrían dar otras estructuras de control o bien usar estas mismas estructuras, pero con una notación diferente. Sin embargo, las funciones matemáticas y lógicas toman el significado usual que tienen en matemática y lógica, con las mismas expresiones.

lunes, 14 de junio de 2010

Sentencia condicional es una instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición.
Los tipos más conocidos de sentencias condicionales son el SI...ENTONCES , el SI...ENTONCES...SI NO y el SEGÚN , aunque también podríamos mencionar al lanzamiento de errores como una alternativa más moderna para evitar el "anidamiento" de sentencias condicionales.

Las sentencias condicionales constituyen, junto con los bucles, los pilares de la programación estructurada, y su uso es una evolución de una sentencia en lenguaje ensamblador que ejecutaba la siguiente línea o no en función del valor de una condición.

Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples.

Simples:

Las estructuras condicionales simples se les conocen como “Tomas de decisión”. Estas tomas de decisión tienen la siguiente forma:
Pseudocódigo: Diagrama de flujo:



Dobles:

Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma:
Pseudocódigo: Diagrama de flujo:

Donde:
Si: Indica el comando de comparación
Condición: Indica la condición a evaluar
Entonces: Precede a las acciones a realizar cuando se cumple la condición
Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición
si no: Precede a las acciones a realizar cuando no se cumple la condición
Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones.


Múltiples:

Las estructuras de comparación múltiples, son tomas de decisión especializada que permiten comparar una variable contra distinta posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma común es la siguiente:
Pseudocódigo: Diagrama de flujo:

martes, 1 de junio de 2010

EL PSEUDOCÓDIGO: (falso lenguaje) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo.

El pseudocódigo está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo en general es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él.

VARIABLE: En programación es una estructura que contiene datos y recibe un nombre único dado por el programador, mantiene los datos asignados a ella hasta que un nuevo valor se le asigne o hasta que el programa termine.

CONSTANTE: Valor o conjunto de caracteres que permanecen invariables durante la ejecución del programa

DECLARACION DE VARIABLES Y CONSTANTES

La declaración de variables es un proceso que consiste en listar al principio del algoritmo todas las variables que se usarán, además de colocar el nombre de la variable se debe decir qué tipo de variable es.

Contador: ENTERO

Edad, I: ENTERO

Dirección: CADENA_DE_CARACTERES

Salario_Basico : REAL

Opcion : CARACTER

En la anterior declaración de variables Contador, Edad e I son declaradas de tipo entero; Salario _ Básico es una variable de tipo real, Opción es de tipo carácter y la variable Dirección está declarada como una variable alfanumérica de cadena de caracteres.

En el momento de declarar constantes debe indicarse que lo es y colocarse su respectivo valor.

CONSTANTE Pi 3.14159

CONSTANTE Msg “Presione una tecla y continúe”

CONSTANTE ALTURA 40

Cuando se trabaja con algoritmos por lo general no se acostumbra a declarar las variables ni tampoco constantes debido a razones de simplicidad, es decir, no es camisa de fuerza declarar las variables. Sin embargo en este curso lo haremos para todos los algoritmos que realicemos, con esto logramos hacerlos más entendibles y organizados y de paso permite acostumbrarnos a declararlas ya que la mayoría de los lenguajes de programación (entre ellos el C++) requieren que necesariamente se declaren las variables que se van a usar en los programas.

Veamos algunos ejemplos donde se aplique todo lo que hemos visto hasta el momento sobre algoritmos:

Ejemplo 1: Escriba un algoritmo que pregunte por dos números y muestre como resultado la suma de estos. Use Pseudocódigo y diagrama de flujos.

ESTRUCTURAS SECUENCIALES: a estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.

Las instrucciones se siguen en una secuencia fija que normalmente viene dada por el número de renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo. Las instrucciones se ejecutan dependiendo de la condición dada dentro del algoritmo.

En Pseudocódigo una Estructura Secuencial se representa de la siguiente forma:

Corrida en frío del programa:

El programador realiza una corrida en frío sobre el programa fuente escogiendo un conjunto de datos de entrada, ejecutando manualmente cada sentencia del programa fuente y verificando que los resultados obtenidos son los esperados de acuerdo al conjunto de datos de entrada.

Como una técnica de depuración, el programador debe realizar este proceso utilizando conjuntos de datos que permitan ejecutar todos los “caminos” posibles del programa.

Ejemplo 2: Realizar el análisis E-P-S y diseñar un algoritmo para calcular el área de superficie de un paralelepípedo de dimensiones l (largo), a (ancho) y h (altura)

Codificación
float Area()
{
float l, h,a, AS;
printf("Largo del paralelepipedo = ");
scanf(“%f”,&l);
printf("Ancho del paralelepipedo= ");
scanf(“%f”,&a);
printf("Altura del paralelepipedo= ");
scanf(“%f”,&h);
AS = 2 * (l * a + l * h + a * h);
printf("Area de superficie del
paralelepipedo = %f", AS);
}

Corrida en frío

l = 3.0

a = 2.5

h = 7.3

AS = 2 x (3.0 x 2.5 + 3.0 x 7.3 +2.5 x 7.3) = 95.3



martes, 18 de mayo de 2010

operadores

Operadores:

Los operadores: son símbolos que permiten realizar operaciones con uno o más datos, para dar un resultado. El ejemplo clásico y obvio de operador es el símbolo de la suma (+), aunque hay otros muchos.

Los operadores aritméticos:

nos permiten, básicamente, hacer cualquier operación aritmética, que necesitemos (ejemplo: suma, resta, multiplicación, etc). En la siguiente tabla se muestran los operadores de los que disponemos en C y su función asociada.

Los operadores lógicos:
son utilizados por la lógica proposicional para admitir o rechazar proposiciones. En programación de ordenadores se utilizan para combinar valores lógicos (Verdadero/Falso) y obtener nuevos valores lógicos que determinen el flujo de control de un algoritmo o programa.

Operador Relación
not: Negación (No)
and : Conjunción (Y)
or : Disyunción (O)
xor : Disyunción Exclusiva (O/SOLO)

Se obtiene Verdadero si:

NOT : El operando es falso
AND: Ambos operandos son verdaderos
OR Al menos un operando es verdadero
XOR Solo uno de los operandos son verdadero


Tablas de Verdad

El comportamiento de un operador lógico suele definirse mediante su correspondiente tabla de verdad, en ella se muestra el resultado que produce la aplicación de un determinado operador a uno o dos valores lógicos. Las operaciones lógicas más usuales son:

· NO lógico (NOT) o negación:

Operador unario (aplicado a un único operando). Cambia el valor de verdad de verdadero ( V) a falso (F) y viceversa.

p

NOT p

V

F

F

V

Monografias.com

a) Contactos, b) Normalizado y c) No normalizado


  • O lógica (OR) o disyunción:

Operador n-ario (aplicado a 2 o más operandos). Si todos los operandos son F devuelve F; si hay alguno que sea V devuelve V.

p

q

p OR q

V

V

V

V

F

V

F

V

V

F

F

F

Monografias.com

a) Contactos, b) Normalizado c) No normalizado


  • Y lógica (AND) o conjunción:

Operador n-ario . Si todos los operandos son V devuelve V; si hay alguno que sea F devuelve F.

p

q

p AND q

V

V

V

V

F

F

F

V

F

F

F

F




Monografias.com

a) Contactos, b) Normalizado y c) No normalizado


  • O-eXclusiva logica (XOR):

Operador binario (aplicado a dos operandos). Devuelve V cuando ambos operandos son distintos y F cuando son iguales.

p

q

p XOR q

V

V

F

V

F

V

F

V

V

F

F

F

Monografias.com

a) Contactos, b) Normalizado y c) No normalizado




OPERADORES RELACIONALES:

Permiten realizar comparaciones de valores de tipo numérico o carácter. Estos operadores sirven para expresar las condiciones en los algoritmos. Proporcionan resultados lógicos.

también denominados operadores binarios lógicos y de comparación, se utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación (en realidad se trata respuestas a preguntas). Las expresiones que los contienen se denominan expresiones relacionales. Aceptan diversos tipos de argumentos, y el resultado, que es la respuesta a la pregunta, es siempre del tipo cierto/falso, es decir, producen un

Operador Significado

<>
> Mayor que
= Igual que
<= Menor o igual que
>= Mayor o igual que
<> Diferente de
== igual que (identidad)
!= desigual que (desigualdad)



miércoles, 5 de mayo de 2010

ejercicios de algoritmo

realizar los siguientes algoritmos con su respectivo diagrama de flujo:

a) Freír tajada.

b) Hacer café.

c) Hacer un puré de papa.

d) Como llegar de findesiglo a PC actual.


Freír tajadas:

  1. inicio.
  2. BUSCO UN SALTEN.
  3. PRENDO LA ESTUFA.
  4. COLOCO EL SARTEN EN LA ESTUFA.
  5. VIERTO ACEITE EN EL SARTEN.
  6. PELO EL PLATANO.
  7. REVANO LAS TAJADAS.
  8. eSta CALIENTE EL SARTEN.
  9. HECHO LAS TAJADAS EN EL ACEITE CALIENTE.
  10. ESPERO A QUE DORE.
  11. VOLTEO LAS TAJADAS.
  12. VUELVO A ESPERAR QUE DORE.
  13. SACO LAS TAJADAS.
  14. fin





Hacer café:

  1. Enciendo la estufa
  2. Coloco la olla en la estufa
  3. Vierto el agua
  4. Agrego café
  5. esta hirviendo
  6. Apago estufa
  7. Cuelo café
  8. fin


Hacer pure de papa:

  1. Pelo las papas
  2. Lavo las papas
  3. Pongo a sancochar las papas
  4. están cosidas
  5. Coloco las papa en una tasa
  6. Busco un tenedor
  7. Trituro las papas
  8. fin

Como llegar de findesiglo a pc actual:

  1. Salgo de findesiglo
  2. Tengo dinero taxi
  3. Cruzo la calle
  4. Paro el autobús
  5. Me subo en el autobús
  6. Pago el pasaje
  7. Pido parada en puente barbulla
  8. Bajo del autobus
  9. Bajo las escaleras
  10. Cruzo la calle
  11. Paro el autobús
  12. Me subo en autobús
  13. Pago el pasaje
  14. Pido parada en merca norte
  15. Bajo del autobus
  16. Camino hasta pc actual









martes, 4 de mayo de 2010

Que es algoritmo:

son modos de resolución de problemas, cabe aclarar que no sólo son aplicables a la actividad intelectual, sino también a todo tipo de problemas relacionados con actividades cotidianas.


TIPOS DE ALGORITMO:


Algoritmos Cualitativos: Son todos aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema cualquiera.

Como ejemplo podemos decir que la utilización de un directorio (Búsqueda de un teléfono). Para poder buscar un teléfono en un directorio, se debe conocer el algoritmo que se va a utilizar, es decir la forma en que están codificados los nombres de las personas, para así lograr encontrarlos y localizar el número telefónico correspondiente.


Algoritmos Cuantitativos: Son aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satifactorio

Como ejemplo podemos citar los pasos para resolver una ecuación de segundo grado, los pasos lógicos y secuenciales para obtener una nomina.

Antes de entrar a estudiar lo que es en sí el desarrollo de algoritmos se deben tener claros algunos conceptos, como:

Variables: Son todos aquellos valores que pueden o no cambiar en el transcurso de un algoritmo. Usualmente son introducidas como datos. Existen variables simples y variables suscritas (arreglos). Todas las variables se componen de dos partes esenciales: Nombre y Valor.

El nombre es quien identifica la variable en todo el transcurso del algoritmo, y son un conjunto de caracteres, letras y números. Dicho nombre debe ser mnemotécnico, es decir, que con solo leer el nombre de la variable se pueda entender o determinar con facilidad lo que ella significa o contiene. Como ejemplo podemos decir la Variable VdlA significa a simple vista Valor de la Hora; pero si fuese X o HH, estos nombres pueden significar muchas cosas o, a la vez, no significar nada.

El valor es la cantidad que una variable representa o tiene asociada en un momento determinado. Se debe tener en cuenta que una variable también puede tener asociado un valor lógico como falso o verdadero.

Constantes: Son todos aquellos valores que no cambian en el transcurso de un algoritmo y son introducidos en el momento de utilizarse.

En determinados casos se puede presentar que el valor de una variable no cambie en el transcurso de un algoritmo; pero por este hecho no se considera constante, sigue siendo una variable, porque su valor puede cambiar y las constantes no lo pueden hacer.

EJEMPLO:

Calcular el salario neto de un trabajador en función del número de horas trabajadas, precio de la hora de trabajo y considerando unos descuentos fijos al sueldo bruto en concepto de impuestos (20 por 100).

Pseudocódigo

Inicio
{cálculo salario neto}

leer nombre, horas, precio hora

salario bruto horas * precio

impuestos 0.20 * salario bruto

salario neto salario_bruto_impuestos

escribir nombre, salario bruto, salario_neto_bruto, salario neto

Fin

2) EJEMPLO

Contar los números enteros positivos introducidos por teclado. Se consideran dos variables enteras NUMERO y CONTADOR (contará el número de enteros positivos). Se supone que se leen números positivos y se detiene el bucle cuando se lee un número negativo o cero.

Pseudocódigo

Inicio

contador 0

Leer (numero)

Mientras numero > 0 hacer

contador contador+1

Leer (numero)

Fin_Mientras

Escribir('El número de enteros positivos es : ', contador)

Fin

Diagrama de Flujo