You are on page 1of 24

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

ALGORITMOS Y
ESTRUCTURA DE DATOS

CONTENIDO DEL CURSO

www.evira.net

I
II
III
IV
V
VI
VII
VIII
IX

Introduccin y Conceptos Bsicos


Estructuras de Control
Arreglos
Cadenas
Subprogramas
Recursividad
Registros
Archivos
Programacin Dinmica

ver. 1.0.0

Profesora: Ing. Grimanesa Ramos Balln


Cerrar

Pg. 01

www.evira.net

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

Introduccin y Conceptos Generales

SESION
01

Dato:
- Un dato es la representacin de un hecho real.
- Son smbolos concretos que pueden ser reconocidos por un computador.
- Un dato para una computadora es una secuencia de bits (0 1).
- Un dato de entrada se transforma por el programa despus de etapas intermedias en datos de salida.
Ejemplos de datos:
- Nota de un alumno
- Edad de una persona
- Nombre de una persona - Temperatura del da, etc.
Cerrar

Pg. 02

www.evira.net

Curso de Algoritmos y Estructura de Datos

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
1.1.3


1.2



Datos Compuestos: Estructurados


1.2.1
Arreglos: vectores/matrices
1.2.2
Cadenas
1.2.3
Registros
1.2.4
Archivos

Cerrar

Lgicos (booleanos)
Carcter (char)

Pg. 03

www.evira.net

Curso de Algoritmos y Estructura de Datos

2)




Area de descargas - www.cursos.evira.net

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 finito de nmeros enteros, no
tienen componentes fraccionarios ni decimales, son positivos o negativos.

Ejemplo:
i) -325
ii) 580
Los enteros mximo y mnimo de una computadora, suele estar dentro del rango:
-32768
Mnimo

Cerrar

32767
Mximo

Los nmeros fuera de este


rango no se puede representar como enteros.
Pg. 04

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

1.1.1.2 Dato Numrico Real



Son nmeros que contienen una parte fraccionaria e incluyen un punto decimal.

Ejemplos:
i) 38.4
ii) -106.3
iii) 0.005

Se utiliza la llamada notacin exponencial


o cientfica para representar los nmeros
reales:

www.evira.net

nE dd

En Pascal
en C++

Donde:

n : Parte decimal del nmero (+ -)


E : Exponente, potencia de 10
dd: Exponente entero (+, - 0)

Cerrar

Pg. 05

www.evira.net

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

Ejemplo:
1.6125 * 10-10
5 * 1012
0.0005

1.6125 E-10
5E12
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 caracter delimitados por simples apstrofes.

La mayora de computadoras reconoce:
Cerrar

Pg. 06

www.evira.net

Curso de Algoritmos y Estructura de Datos

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

Pg. 07

www.evira.net

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

ALGORITMOS

Concepto de Algoritmos
Es una secuencia ordenada y cronolgica de pasos que llevan a la solucin de un problema a la ejecucin de una tarea.
Caractersticas
1. Es finito y tiene un orden. (nmero finito de pasos en un tiempo
limitado).
2. Es definido. Si se sigue el mismo algoritmo dos veces, se debe obtener el mismo resultado.
3. Es conciso. Tiene una entrada - salida.

Cerrar

Pg. 08

www.evira.net

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

Por lo general los algoritmos presentan la siguiente estructura

Datos de entrada

PROCESOS

Datos de salida

Observacin:
No existe una regla prctica para crear algoritmos sin embargo las siguientes 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 generan las salidas requeridas?
Cerrar

Pg. 09

www.evira.net

Curso de Algoritmos y Estructura de Datos

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
Salida

Datos de entrada
a, b, c
(nmeros)

PROCESO

prom
(Promedio)

prom (a+b+c) /3

Algoritmo Promedio
1. Leer (a,b,c)
2. Calcular PROM! (a+b+c)/3
3. Escribir (el promedio es: + PROM)
4. fin
Cerrar

Pg. 10

www.evira.net

Curso de Algoritmos y Estructura de Datos

v)



Area de descargas - www.cursos.evira.net

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


Salida

Datos de entrada
r,h,

PROCESO

volumen

volum *(radioh2) *h

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. fin
Cerrar

Pg. 11

www.evira.net

Curso de Algoritmos y Estructura de Datos

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 identificador que describe adecuadamente el programa.

Ejemplo:
i) Algoritmo promedio

2) Bloque algortmico
2.1 Seccin de declaracin de variables


Se define las variables o estructuras de datos que se necesitan
Cerrar

Pg. 12

www.evira.net

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

En Pseudocdigo:
Definir 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

Pg. 13

www.evira.net

Curso de Algoritmos y Estructura de Datos

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
:= pascal
= basic, fortran
Cerrar

Pueden ser:
Constante
Variable
Expresin algebraica
Pg. 14

www.evira.net

Curso de Algoritmos y Estructura de Datos

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. Identificador

Conjunto de caracteres que debe cumplir con lo siguiente:
- Debe empezar con una letra (a-z), apartir del segundo caracter 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 significativos, es decir tener relacin con el objeto
que representan.



Ejercicio:
i) sum a
ii) orden 2
iii) leer
Cerrar

iv) sum1
v) sum_2
vi) pro2
Pg. 15

www.evira.net

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

2.1 Constante
Es un identificador vlido, cuyo valor no cambia durante la ejecucin del algoritmo.

Formato:
Const
Nomb_cost = valor

Ejemplo:


1. Definicion de variables
A = 10 (constante entera)


LETRA = m (constante caracter)
PI = 3.1416 (constate real)

2.2 Variable
Es un identificador vlido cuyo valor puede cambiar durante la
ejecucin del algoritmo.


Cerrar

Formato:

Var
Nomb_var : tipo_dato
Pg. 16

www.evira.net

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

Ejemplo:


1. Definicin de variables
m
: entero
x, y, z : real
car
: caracter
L
: lgico

2.3 Acumulador
Es una variable que incrementa valores variables a una determinada variable.

Formato:
<variable> <variable> + <valor variable>
valor actual
valor antiguo
(o valor presente) (o inmediato anterior)





Cerrar

Ejemplo:
suma 0 (inicializando suma)
num 5
suma suma + num (suma tiene el valor 5)
Pg. 17

www.evira.net

Curso de Algoritmos y Estructura de Datos

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

Cerrar

valor antiguo

Ejemplo:
ii+1
nn+2

Pg. 18

www.evira.net

Curso de Algoritmos y Estructura de Datos

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

Pg. 19

www.evira.net

Curso de Algoritmos y Estructura de Datos

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

14
v

exp. log. simple

exp. log. simple

exp. log. compleja


sumaA sumaA + nota


fin_si
Cerrar

Pg. 20

www.evira.net

Curso de Algoritmos y Estructura de Datos

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 derecha.


Ejemplo:
2 g 2/(x+1)
x+1

Se emplean parntesis para agrupar operadores y alterar la


prioridad.
Ejemplo:

si tenemos:
1+2*(3-1)*2

1 < x 3 es equivalente
(1+2*2)*2

(1<x) ^ (x 3)
5*2 = 10

Cerrar

Pg. 21

www.evira.net

Curso de Algoritmos y Estructura de Datos

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 1ro 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, finalmente 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
Z5

2.

Cerrar

Si se tiene dos operadores del mismo nivel o jerarqua se evalua


de izquierda a derecha. (caso multiplicacin y divisin).
Pg. 22

www.evira.net

Curso de Algoritmos y Estructura de Datos

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
Cerrar

Argumento
y tipo
u : exp. real o entera
u : exp. real o entera
u : exp. real
u : exp. real
u : exp. real
Pg. 23

Curso de Algoritmos y Estructura de Datos

Area de descargas - www.cursos.evira.net

www.evira.net

FIN DE PRESENTACION

Cerrar

You might also like