Вы находитесь на странице: 1из 24

Curso de Algoritmos y Estructura de Datos

w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 01
Area de descargas - www.cursos.evira.net
ALGORITMOS Y
ESTRUCTURA DE DATOS
Profesora: Ing. Grimanesa Ramos Balln
ver. 1.0.0
CONTENIDO DEL CURSO
I Introduccin y Conceptos Bsicos
II Estructuras de Control
III Arreglos
IV Cadenas
V Subprogramas
VI Recursividad
VII Registros
VIII Archivos
IX Programacin Dinmica
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 02
Area de descargas - www.cursos.evira.net
Dato:
- Un dato es la representacin de un hecho real.
- Son smbolos concretos que pueden ser reconocidos por un computa-
dor.
- Un dato para una computadora es una secuencia de bits (0 1).
- Un dato de entrada se transforma por el programa despus de eta-
pas intermedias en datos de salida.
Ejemplos de datos:
- Nota de un alumno - Edad de una persona
- Nombre de una persona - Temperatura del da, etc.
SESION
01
Introduccin y Conceptos Generales
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 03
Area de descargas - www.cursos.evira.net
Tipos de Datos
1) Datos Estticos
1.1 Datos Simples
1.1.1 Numricos
1.1.1.1 Numricos enteros (integer)
1.1.1.2 Numricos reales (real)
1.1.2 Lgicos (booleanos)
1.1.3 Carcter (char)
1.2 Datos Compuestos: Estructurados
1.2.1 Arreglos: vectores/matrices
1.2.2 Cadenas
1.2.3 Registros
1.2.4 Archivos
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 04
Area de descargas - www.cursos.evira.net
2) Datos Dinmicos
2.1 Punteros (pointiers)
2.2 Pilas/colas
2.3 Listas: simples/dobles
2.4 Arboles
2.5 Grafos
1.1.1.1 Dato Numrico Entero (integer)
Subconjunto fnito de nmeros enteros, no
tienen componentes fraccionarios ni deci-
males, son positivos o negativos.
Ejemplo:
i) -325
ii) 580
Los enteros mximo y mnimo de una com-
putadora, suele estar dentro del rango:
-32768 32767
Mnimo Mximo
Los nmeros fuera de este
rango no se puede represen-
tar como enteros.
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 05
Area de descargas - www.cursos.evira.net
1.1.1.2 Dato Numrico Real
Son nmeros que contienen una parte frac-
cionaria e incluyen un punto decimal.
Ejemplos:
i) 38.4
ii) -106.3
iii) 0.005
Se utiliza la llamada notacin exponencial
o cientfca para representar los nmeros
reales:
nE dd
En Pascal
en C++
Donde:
n : Parte decimal del nmero (+ -)
E : Exponente, potencia de 10
dd: Exponente entero (+, - 0)
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 06
Area de descargas - www.cursos.evira.net
Ejemplo:
1.6125 * 10
-10
1.6125 E-10
5 * 10
12
5E12
0.0005 5 * 10-4 5 E-4
1.1.2 Datos Lgicos
Un dato lgico o booleano es aquel que puede tomar
nicamente dos valores:
- Verdadero (true)
- Falso (false)
Se utiliza para representar alternativas:
i) Par/impar
ii) Encontrado/no encontrado
iii) Ocupado/no-ocupado
1.1.3 Datos Tipo Caracter
Un dato tipo caracter (char) contiene un solo carac-
ter.
La mayora de computadoras reconoce:
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 07
Area de descargas - www.cursos.evira.net
Caracteres Alfabticos:
A, B, C, ... Z
Caracteres Numricos:
0, 1, 2, ..., 9
Caracteres Especiales:
+, -, /, *, ^, <, <=, >, .. etc.
El nmero de caracteres especiales vara de acuerdo
a la versin del Lenguaje de Programacin.
Ejemplos:
i) A, C, Z
ii) 1, O
iii) *, /, +
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 08
Area de descargas - www.cursos.evira.net
ALGORITMOS
Concepto de Algoritmos
Es una secuencia ordenada y cronolgica de pasos que llevan a la solu-
cin de un problema a la ejecucin de una tarea.
Caractersticas
1. Es fnito y tiene un orden. (nmero fnito de pasos en un tiempo
limitado).
2. Es defnido. Si se sigue el mismo algoritmo dos veces, se debe ob-
tener el mismo resultado.
3. Es conciso. Tiene una entrada - salida.
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 09
Area de descargas - www.cursos.evira.net
Por lo general los algoritmos presentan la siguiente estructura
Observacin:
No existe una regla prctica para crear algoritmos sin embargo las si-
guientes preguntas nos ayudan en su formulacin.
Preguntas que se necesitan formular antes de construir un
algoritmo
cules son los datos de entrada?
qu tipo de informacin nos piden? (resultado)
en base a los datos de entrada, cuales son los procesos que nos gene-
ran las salidas requeridas?
Datos de entrada Datos de salida
PROCESOS
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 10
Area de descargas - www.cursos.evira.net
Ejemplo de Algoritmos:
i) Los planos de construccin
ii) Recetas de cocina
iii) Instrucciones para armar un juguete
iv) Se desea Leer 3 nmeros y luego calcular el promedio
Algoritmo Promedio
1. Leer (a,b,c)
2. Calcular PROM! (a+b+c)/3
3. Escribir (el promedio es: + PROM)
4. fn
Datos de entrada
a, b, c
(nmeros)
prom
(Promedio)
prom (a+b+c) /3
Salida
PROCESO
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 11
Area de descargas - www.cursos.evira.net
v) Algoritmo Pelcula
1. Ir al cine
2. Comprar una entrada
3. Ver la Pelcula
4. Regresar a casa
vi) Dados el radio, la altura, encontrar el volumen de un cilindro
Algoritmo Volum_cilindro
1. def. Variables
radio, altura, volumen: real
2. Leer (radio, altura)
3. volumen 3.1416 * (radio*radio) * altura
4. escribir (volumen)
5. fn
Datos de entrada
r,h,
volumen
volum *(radioh2) *h
Salida
PROCESO
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 12
Area de descargas - www.cursos.evira.net
Estructura y Diseo de un Algoritmo
Un algoritmo consta bsicamente de:
1. Encabezado
2. Bloque Algortmico
2.1 Seccin de declaracin de variables
2.2 Acciones ejecutables
1) Encabezado
Todo algoritmo tiene como cabecera la palabra resevada: algoritmo
seguida de un identifcador que describe adecuadamente el progra-
ma.
Ejemplo:
i) Algoritmo promedio
2) Bloque algortmico
2.1 Seccin de declaracin de variables
Se defne las variables o estructuras de datos que se necesitan
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 13
Area de descargas - www.cursos.evira.net
En Pseudocdigo:
Defnir variables
nomb_variable_1 : tipo_1
nomb_variable_2 : tipo_2



nomb_variable_n : tipo_n
2.2 Acciones ejecutables
Leer, Calcular, Imprimir
i) Lectura de datos
Se introducen los datos disponibles mediante una operacin
de lectura en el orden dado.
Ejemplo:
Leer (nombre, hora_tra, cuota_ho)
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 14
Area de descargas - www.cursos.evira.net
ii) Calcular o procesar
Se procesa la entrada mediante clculos para producir la
salida.
calcular: sueldo hora_tra * cuota_ho
iii) Salida datos
Dar salida a la informacin obtenida
escribir (nombre, sueldo)
Conceptos Bsicos Utilizados en Algoritmos
1. Operador Asignacin:
indica una operacin de reemplazo o asignacin.
Formato:
nombre_variable expresin
Pueden ser:
Constante
Variable
Expresin algebraica
:= pascal
= basic, fortran
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 15
Area de descargas - www.cursos.evira.net
Ejemplo:
1. b 15
2. n n+1
3. prom (12*8)/(5*3)
4. x Av. Tupac Amaru 210
2. Identifcador
Conjunto de caracteres que debe cumplir con lo siguiente:
- Debe empezar con una letra (a-z), apartir del segundo carac-
ter puede usar letras, dgitos (0-9) y no debe tener espacios en
blanco (b).
- Solo se puede usar letras, dgitos y el subrayado (-).
- Debe ser diferente de las palabras reservadas empleadas en
algoritmos.
- Deben ser signifcativos, es decir tener relacin con el objeto
que representan.
/
Ejercicio:
i) sum a
ii) orden 2
iii) leer
iv) sum1
v) sum_2
vi) pro2
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 16
Area de descargas - www.cursos.evira.net
2.1 Constante
Es un identifcador vlido, cuyo valor no cambia durante la eje-
cucin del algoritmo.
Formato:
Ejemplo:
1. Defnicion de variables
A = 10 (constante entera)
LETRA = m (constante caracter)
PI = 3.1416 (constate real)
2.2 Variable
Es un identifcador vlido cuyo valor puede cambiar durante la
ejecucin del algoritmo.
Formato:
Const
Nomb_cost = valor
Var
Nomb_var : tipo_dato
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 17
Area de descargas - www.cursos.evira.net
Ejemplo:
1. Defnicin de variables
m : entero
x, y, z : real
car : caracter
L : lgico
2.3 Acumulador
Es una variable que incrementa valores variables a una de-
terminada variable.
Formato:
<variable> <variable> + <valor variable>
valor actual
(o valor presente)
valor antiguo
(o inmediato anterior)
Ejemplo:
suma 0 (inicializando suma)
num 5
suma suma + num (suma tiene el valor 5)
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 18
Area de descargas - www.cursos.evira.net
num 6
suma suma + num (suma tiene el valor 11)
num 3
suma suma + num (suma tiene el valor 14)
2.3.1 Contador
Es un caso particular de un acumulador, incrementa
valores constantes a una determinada variable.
Formato:
<variable> <variable> + k
valor actual valor antiguo
Ejemplo:
i i + 1
n n + 2
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 19
Area de descargas - www.cursos.evira.net
3. Operadores
3.1 Aritmticos
+ : suma
- : resta
/ : divisin real
* : multiplicacin
Ejemplo:
2*6 = 12;
12/3 = 4.0;
Operadores Aritmticos para datos enteros:
DIV : Divisin entera
MOD : Resto de la divisin entera
Ejemplo:
5 DIV 2 = 2
5 MOD 2 = 1
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 20
Area de descargas - www.cursos.evira.net
3.2 Operadores de Relacin o de Comparacin
= igual > mayor que
= diferente menor o igual que
< menor que mayor o igual que
3.3 Operadores Lgicos
negacin
^ y logico (AND)
v o logico (OR)
Ejemplo:
Leer (nota)
si ( (nota > 10) and (nota 20) ) entonces
sumaA sumaA + nota
fn_si
/
14
exp. log. simple exp. log. simple
exp. log. compleja
v v
v
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 21
Area de descargas - www.cursos.evira.net
3.4 Jerarqua de los Operadores
Prioridad Operador
1
2 ()
3 div, /, *, mod, ^
4 +, -, v
5 =, =, <, >, ,
Operadores con igual prioridad se realiza de izquierda a dere-
cha.
Ejemplo:
2 g 2/(x+1)
x+1
Se emplean parntesis para agrupar operadores y alterar la
prioridad.
/
Ejemplo:
1+2*(3-1)*2
(1+2*2)*2
5*2 = 10
si tenemos:
1 < x 3 es equivalente
(1<x) ^ (x 3)
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 22
Area de descargas - www.cursos.evira.net
Operaciones sobre las expresiones
1. Operaciones entre Parntesis.- Primero se evalua lo que est entre
parntesis. En caso de que hayan parntesis anidados, evala 1
ro
lo
ms interno y luego prosigue con los externos.
Si se tiene 2 operadores del mismo nivel o jerarqua se evalua de
izquierda a derecha, fnalmente se evaluan las sumas y restas.
Ejemplo:
T 6, Y 3, R 4, S 2
Z (T * (y-2) + r) / s
Z (6 * (3 - 2) + 4) / 2
Z (6 * 1 + 4)/2
Z 10/2
Z 5
2. Si se tiene dos operadores del mismo nivel o jerarqua se evalua
de izquierda a derecha. (caso multiplicacin y divisin).
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Pg. 23
Area de descargas - www.cursos.evira.net
M -3 * 7 + (2 h3) / 4 - 6
M -21 + 8/4 - 6
M -21 + 2 - 6
M -25
3. Finalmente se evaluan las sumas y restas.
A 5*5 - 3*2 + 6/2
A 25 - 6 + 3
A 25 - 3
A 22
Algunas Funciones Utiles
Nombre de la
funcin
ABS (u) --> valor absoluto
SQRT (u) --> raiz cuadrada
TRUNC (u) --> truncasion
ROUND (u) --> redondeo
LOG (u) --> logaritmo natural
Argumento
y tipo
u : exp. real o entera
u : exp. real o entera
u : exp. real
u : exp. real
u : exp. real
Cerrar
Curso de Algoritmos y Estructura de Datos
w
w
w
.
e
v
i
r
a
.
n
e
t
Area de descargas - www.cursos.evira.net
FIN DE PRESENTACION
Cerrar

Вам также может понравиться