You are on page 1of 35

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


N=0
no
el número no
N>0
N es cero

el número el número
N es positivo N es negativo

fin
Diagrama de flujo para decidir si un número es positivo o negativo
Algoritmos y estructuras de
programación
inicio

sí bastante no
dinero?

tomar tiene
sí no
un taxi dinero para
el autobús?
tomar el volver
autobús 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
Análisis del algoritmo en programa
problema

Ejecución del
Diseño del programa
algoritmo

Verificación del
Verificación manual programa
del algoritmo
Programa de
trabajo documentado
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 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:

Indicador de
00:00:00 segundos
(00 – 59)

Indicador de horas Indicador de


(00 – 23) 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 Programa
fuente Traducción objeto
Programa escrito del compilador Instrucciones
en lenguaje de en lenguaje de
alto nivel máquina
Programa fuente

Programa objeto
de programación
Algoritmos y
estructuras

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 … condicion es una
Sentencia n expresión
De lo contrario de tipo bolean y
Sentencia n+1 siempre
Sentencia n+2 … se evalúa a verdadero.
Fin Si
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
Sentencias de iteración o repetición
(Ejemplo)
Realizar, mediante una estructura For, el
cálculo del factorial de un valor.

Valor inicial
Contador Valor final

For ix = 1 To valor_limite
fact = fact * ix
Next ix
Algoritmos y estructuras de
programación
Sentencias de iteración o repetición (Do ...
Loop)
Se utiliza cuando no se conoce el número de
veces que debe repetirse el ciclo.

Expresión
bolean que es
evaluada a
verdadero
Do
sentencias
Loop While condicion

You might also like