P. 1
Algoritmos

Algoritmos

|Views: 3.532|Likes:
Publicado pordumogo

More info:

Categories:Types, School Work
Published by: dumogo on Nov 28, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

05/24/2013

pdf

text

original

CURSO DE ALGORITMOS Y ESTRUCTURAS DE PROGRAMACION

INSTRUCTOR EDINSON ITUYAN

Algoritmos y estructuras de programación

Un algoritmo puede definirse como una secuencia finita de instrucciones realizables, no ambiguas, cuya ejecución conduce a la resolución de un problema. Para la representación de un algoritmo se pueden utilizar diagramas de flujo o programas en seudo código. Para obtener una solución mediante un computador, un algoritmo debe ser traducido a un lenguaje de programación tal como Basic, Pascal, Java, C, entre otros.

Algoritmos y estructuras de programación Seudo Código:

El seudo código es una mezcla de lenguaje natural y símbolos, términos y otras características comúnmente utilizadas en lenguajes de alto nivel. El seudo código se creó para superar las dos principales desventajas de los diagramas de flujo:
El diagrama de flujo es lento de crear y difícil de modificar sin un nuevo redibujo.

Algoritmos y estructuras de programación
Seudo Código: algoritmo SumaEnteros inicio leer (n) {cantidad de numeros} establecer Contador (de numeros) a0 establecer Suma a 0 repetir hasta que Contador = n leer (Numero) sumar Numero a Suma Incrementar Contador en 1 fin escribir (‘La suma es: ’ Suma)

Algoritmos y estructuras de programación
inicio introducir el valor del número N sí el número N es cero N=0 no N>0 sí el número N es positivo fin el número N es negativo no

Diagrama de flujo para decidir si un número es positivo o negativo

Algoritmos y estructuras de programación
inicio sí bastante dinero? sí tomar el autobús no tiene dinero para el autobús?

tomar un taxi

no volver caminando

fin Diagrama de flujo para decidir una forma de transporte

Algoritmos y estructuras de programación
Ejemplos

Se desea calcular y registrar el valor de la caída de voltaje en una resistencia eléctrica. Un algoritmo adecuado es el siguiente:
– PASO 1. Obtenga el valor de la resistencia R y la corriente I. – PASO 2. Calcule: V = I x R. – PASO 3. Escriba el voltaje V, la corriente I y la resistencia R.

Algoritmos y estructuras de programación
Ejemplos

Se desea determinar y registrar el área de un rectángulo. Un algoritmo adecuado es el siguiente:
– PASO 1. Obtenga el valor de la base (B) y la altura (H). – PASO 2. Calcule A = B X H. – PASO 3. Escriba el valor de A.

Algoritmos y estructuras de programación
Ejemplos

Realizar un algoritmo para hallar el equivalente de dos resistencias en paralelo:
– – – PASO 1. Obtenga el valor de R1 y R2 PASO 2. Calcule Req = (R1 X R2) / (R1 + R2). PASO 3. Escriba el valor de Req.

Algoritmos y estructuras de programación
Ejemplos

Determinar y desplegar el mayor de dos valores numéricos A y B:
– – – – – PASO 1. Obtenga el valor de A y B. PASO 2. Si A es mayor que B, ir al paso 4 PASO 3. Si B es mayor que A, ir al paso 5 PASO 4. Desplegar el valor de A y finalizar. PASO 5. Desplegar el valor de B y finalizar.

Algoritmos y estructuras de programación
Actividad en clase

Realice un algoritmo que determine el valor de un ángulo, dado el valor del coseno de dicho ángulo. Elabore un algoritmo para calcular el voltaje en un circuito eléctrico, dados la potencia y la resistencia eléctrica. Elaborar un algoritmo que determine si un número, es o no, un número par. Realizar un algoritmo para la apertura de una puerta, dependiendo del estado de un sensor, y para realizar su cierre después de 5 segundos.

Algoritmos y estructuras de programaci Proceso de diseño de un programa
Codificación del algoritmo en programa

Análisis del problema

Diseño del algoritmo

Ejecución del programa Verificación del programa Programa de trabajo documentado

Verificación manual del algoritmo

Algoritmos y estructuras de programación

Diagramas de flujo

Un diagrama de flujo (flowchart) es un diagrama que utiliza símbolos estándar y en el que cada paso de un algoritmo se visualiza dentro del símbolo adecuado. El orden en que estos pasos se ejecutan se indica conectándolos con flechas llamadas líneas de flujo, las cuales indican el flujo lógico del algoritmo.

Algoritmos y estructuras de programaci Símbolos utilizados en los diagramas de flujo
Terminal: representa el comienzo o el final de un programa

Entrada / salida: cualquier tipo de introducción de datos desd los periféricos o registro de la información procesada en un periférico.

Proceso: cualquier tipo de operación que pueda originar cambi de valor, formato o posición de la información.

Decisión: representa comparaciones entre valores y con base en su resultado el algoritmo puede tomar diferentes caminos alternativos.

Algoritmos y estructuras de programación Símbolos utilizados en los diagramas de flujo
Conector: sirve para unir dos partes de un diagrama dentro de la misma página.

Conector: sirve para unir dos partes de un diagrama en página diferentes.

Llamada a subrutina: invoca a un módulo independiente del programa principal.

Impresora: se utiliza en ocasiones en lugar del símbolo de E/S.

Algoritmos y estructuras de programación Ejemplo

Realizar el algoritmo para convertir un número de sistema decimal a sistema binario. Condición:
– El número decimal debe estar entre 0 y 15.

Solución:
– – – – Paso 1. Leer el valor decimal D a convertir. Paso 2. Hacer i = 0. Paso 3. Realizar división entera C = D / 2. Paso 4. Obtener el residuo de la división: R[i] = D Mod 2 – Paso 5. Si C > 0, hacer i = i + 1, e ir al paso 3. – Paso 6. Si C = 0, desplegar R[3], R[2], R[1], R[0].

inicio introducir el valor del número D i=0 C=D/2 R[i] = D Mod 2 C=0 ? sí no i=i+1

Desplegar R[3], R[2], R[1], R[0] fin Diagrama de flujo para conversión de decimal a binario

Algoritmos y estructuras de programación Actividades

Realizar el algoritmo y el diagrama de flujo para un reloj digital con las siguientes características:

00:00:00
Indicador de horas (00 – 23)

Indicador de segundos (00 – 59)

Indicador de minutos (00 – 59) Condiciones: el reloj arranca en 00:00:00 e incrementa cada segundo

Algoritmos y estructuras de programación Programas de computador

El computador resuelve un problema particular por medio de un programa de computador, que es una lista de enunciados, el cual da instrucciones detalladas para el computador.

Algoritmos y estructuras de programación Programas de computador

Tales instrucciones deben, eventualmente, darse al computador en su propio Lenguaje de máquina. Sin embargo, los programas de computador usualmente se escriben en algún lenguaje de alto nivel. A estos se les llama lenguajes de compilador. Lenguajes de alto nivel:
– – – – Visual Basic C++ Java Delphi

Algoritmos y estructuras de programación Programas de computador

Compilador: un compilador es un programa especial que traduce un programa escrito en un lenguaje de alto nivel a lenguaje de máquina. El programa original se llama programa fuente, y el programa traducido se llama programa objeto.
Programa fuente
Programa escrito en lenguaje de alto nivel

Traducción del compilador

Programa objeto
Instrucciones en lenguaje de máquina

Programa fuente

Algoritmos y estructuras de programación

Programa objeto

Traducción del compilador

Algoritmos y estructuras de programación Elementos del lenguaje

Variables: una variable puede definirse como un espacio reservado en la memoria del computador, destinado a almacenar un valor específico. Las variables suelen rotularse con etiquetas que representan el tipo del campo de dato que representan. Por ejemplo:

Dim voltaje As Single float area=0; Dim nombre_alumno As String

Algoritmos y estructuras de programación

El tipo de dato de las variable puede resumirse en el siguiente organigrama.
datos

numéricos

carácter

lógicos

enumerados registro

fichero

reales

enteros

cadena

simples

dobles

cortos

largos

Algoritmos y estructuras de programación

Constantes: Una constante, en un programa de computador, es un valor de datos que no cambia durante la ejecución del programa. A las constantes se les llama a veces literales. • Const PI = 3.141592 • Const e = 2.7172; • final double AVOGADRO = 6.023e23; • #define fmuestreo 1000 • Const msg = “El archivo no pudo ser leído.”

Algoritmos y estructuras de programación Sentencias
Una sentencia o instrucción es una línea de texto que indica una o más operaciones a realizar. Cuando se implementa un algoritmo, se debe tener en cuenta que las sentencias o instrucciones se ejecutan en forma secuencial, en el orden en que son escritas, línea por línea.

Sentencias de asignación
Es la sentencia mediante la cual se asigna un valor a una variable o un valor a una propiedad de un objeto. Se utiliza el signo = para esta sentencia y a la izquierda de él se coloca la variable o propiedad y a la derecha el valor asignado.

Algoritmos y estructuras de programación Sentencias de asignación (Ejemplos)
volumen = area * altura nota_alumno = 5.0 color = Color.lightGray; Picture1.BackColor = vbRed Text1.Text = Str(nota_alumno) Msg.Caption = “El valor debe ser mayor que 0”

Algoritmos y estructuras de programación Sentencias de decisión
Una sentencia de decisión permite tomar caminos alternativos dentro de una estructura de lógica secuencial. Por ejemplo, dependiendo del valor de una operación de comparación, el programa puede ejecutar cierta sentencia de asignación e ignorar el resto de las sentencias.

Si a < 0 entonces Imprima “El valor a debe ser positivo” De lo contrario z=b/a Fin Si

Algoritmos y estructuras de programación Sentencias de decisión
Las sentencias de decisión tienen la siguiente forma general:

Si condicion entonces Sentencia 1 Sentencia 2 … Sentencia n De lo contrario Sentencia n+1 Sentencia n+2 … Fin Si

condicion es una expresión de tipo bolean y siempre se evalúa a verdadero.

Algoritmos y estructuras de programación Sentencias de decisión
Estructura IF … Then … Else: If condicion Then Sentencia 1 Sentencia 2 … Sentencia n Else Sentencia n+1 Sentencia n+2 … End If

Algoritmos y estructuras de programación Sentencias de decisión
Estructura Select Case: permite evaluar una de varias condiciones. Forma general:
Select Case variable Case condicion1 Sentencias 1 … Case condicion2
Sentencias 2 … Case condicion3 Sentencias 3 …

End Select

Algoritmos y estructuras de programación Estructura Select Case (Ejemplo)
Select Case altura_individuo Case 120 Msg.Caption = “bajo” Case 150 Msg.Caption = “medio” Case 170 Msg.Caption = “alto” Case 200 Msg.Caption = “gigante” End Select

Algoritmos y estructuras de programación Sentencias de iteración o repetición
Las estructuras de iteración se utilizan cuando se requiere repetir una serie de instrucciones un determinado número de veces. Forma general del ciclo For:

For Contador = ValorInicial To ValorFinal Step ValorIncrement Sentencias ... Next Contador

Algoritmos y estructuras de programación
Realizar, mediante una estructura cálculo del factorial de un valor.
Valor inicial Valor final

Sentencias de iteración o repetición (Ejemplo)

For,

el

Contador

For ix = 1 To valor_limite fact = fact * ix Next ix

Algoritmos y estructuras de programación
Se utiliza cuando no se conoce el número de veces que debe repetirse el ciclo.
Expresión bolean que es evaluada a verdadero

Sentencias de iteración o repetición (Do ... Loop)

Do sentencias Loop While condicion

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->