Vous êtes sur la page 1sur 50

Jos

Alejandro Franco Calderon

Problema

Anlisis profundo
del problema

Construccin del
algoritmo

Verificacin del
algoritmo

Preciso

Independiente de la complejidad,
siempre debe ser de una longitud
definida.

Finito

Algoritmo

Los pasos a seguir en el algoritmo


deben ser precisados claramente

Dado un conjunto idntico de


valores de entrada siempre debe
arrojar los mismos resultados

Determinstico

Algoritmo

Datos de entrada

Procesamiento de
datos

Impresin de
resultados

1. Representa la esquematizacin grafica de un algoritmo.


2. Se muestra grficamente los pasos o procesos a seguir para alcanzar la
solucin a un problema.
3. Su correcta construccin es importante porque a partir del mismo se
escribe un programa en algn lenguaje de programacin.
4. Si el diagrama de flujo esta completo y correcto, el paso del mismo a un
lenguaje de programacin es simple y directo.

Todo diagrama de flujo tiene un inicio y un fin.


Las lneas que se usan para conectar los distintas flujos deben ser
rectas, verticales y horizontales.
Todas las lneas usadas para indicar direccin en un flujo del diagrama
deben estar conectadas.
El diagrama de flujo debe ser construido de arriba hacia abajo y de
izquierda a derecha.
La notacin en el diagrama de flujo debe ser independiente del lenguaje
de programacin.

Si el diagrama de flujo requiere ms de una hoja para su construccin,


debemos utilizar conectores adecuados y enumerar las paginas de la
manera mas adecuada.
No pueden llegar ms de una lnea a un smbolo.

1. Tipos de datos.
2. Identificadores, constantes y variables.
3. Operaciones aritmticas y lgicas.
4. Bloques de asignacin.

1. Tipos de datos.
2. Identificadores, constantes y variables.
3. Operaciones aritmticas y lgicas.
4. Bloques de asignacin.

Tipos de datos

Simples
Ocupan solo un espacio de
memoria

Estructurados
Con el nombre (id) se hace
referencia a un grupo de
casillas de memoria

Numricos
Enteros
Pueden ser + o y NO tiene
parte decimal
125 -3215 8734 -29876

Reales
Pueden ser + o y SI tiene
parte decimal
7.9 128.7 -34.67 180001.43

Alfanumricos

Carcter
Contiene la informacin de un
solo carcter y se escribe entre
apostrofes simples.
a $ - g

Cadena de
caracteres
Contiene un conjunto de caracteres,
y se escribe entre comillas.
abc edkjys sjha-09_$

Booleanos

Verdadero (true)

Falso (false)

1. Tipos de datos.

2. Identificadores, constantes y variables.


3. Operaciones aritmticas y lgicas.
4. Bloques de asignacin.

Identificadores
Los datos almacenados en una computadora deben ser guardados
en casillas de memoria para su posterior uso.
Esas casillas de memoria (constante o variable) tiene un nombre
que permite su identificacin.
Se le llamara identificador al nombre que se le de a la casilla de
memoria (constante o variable).

Identificadores
Los identificadores cumplen una serie de reglas, pudiendo variar
segn el lenguaje de programacin implementado, estas son:
- El primer carcter que forma un identificador debe ser una letra.
- Los dems caracteres puedes ser letras (a,b,c ), dgitos (0,1,2
) o el carcter _
- La longitud del identificador es menor o igual a 7 en la mayora de
los lenguajes de programacin.

Identificadores
MEMORIA
SUMA

A1

3RESTA

NUM_3

AC$M

A10-BC

MULTIPLICACIN

PR#M_2

Constantes
Son datos que NO cambian durante la ejecucin de un programa.
Para nombrar las constantes se har uso de los identificadores
mencionados anteriormente.
Existen tipos de constantes como tipos de datos, es decir que existen
constantes de tipo entero, real, carcter, cadena de caracteres, etc.
Es importante que el nombre de la constante sea representativo y por
convencin estar en maysculas.

Constantes
MEMORIA
RESU

NUM_1

resultado

LETRA

NREAL

5.46

Variables
Son objetos que SI pueden cambiar de valor durante la ejecucin de
un programa.
Para nombrar las variables haremos uso de los identificadores
mencionados anteriormente.
Existirn tantos tipos de variables como tipos de datos existan en un
determinado lenguaje de programacin.

Variables
MEMORIA
resu

num_1

/n

letra

nreal

/n

1. Tipos de datos.
2. Identificadores, constantes y variables.

3. Operaciones aritmticas y lgicas.


4. Bloques de asignacin.

Operaciones Aritmticas
Para realizar operaciones matemticas se hace necesario el uso de
operadores aritmticos y la presencia de operandos (nmeros).
El resultado de una operacin aritmtica ser un nmero.

Operaciones Aritmticas

Operaciones Aritmticas
Al evaluar expresiones que contengan operadores aritmticos
debemos respetar la jerarqua en el orden de aplicacin.
Si tenemos en una expresin con mas de un operador aritmtico
debemos aplicar primero el operador con mayor jerarqua, resolver la
operacin y as sucesivamente.
El operador () parntesis es un operador asociativo que tiene la
prioridad ms alta en cualquier lenguaje de programacin.

Operaciones Aritmticas

Operaciones Aritmticas Reglas


Si una expresin contiene sub expresiones entre parntesis estas
se evaluarn primero; respetando la jerarqua entre operadores
de esta sub expresin.
Si las sub expresiones se encuentran anidadas entre muchos
parntesis, primero se evaluarn las que se encuentren en ultimo
nivel del anidamiento.
Los operadores aritmticos se aplican teniendo en cuenta la
jerarqua, y de izquierda a derecha.

Operaciones Aritmticas Ejemplo


9 + 7 * 8 36 / 5
9 + 56 36 / 5
9 + 56 7.2
65 7.2
= 57.8

Operaciones Aritmticas Ejemplo


7 * 8 * ( 160 mod 3 ** 3 ) div 5 * 13 - 28
7 * 8 * ( 160 mod 27 ) div 5 * 13 - 28
7 * 8 * 25 div 5 * 13 - 28
56 * 25 div 5 * 13 - 28
1400 div 5 * 13 - 28
280 * 13 - 28

3640 - 28
= 3612

Operaciones Aritmticas Ejercicios


a) 7 * 5 ** 3 / 4 div 3
b) 15 / 2 * ( 7 + ( 68 15 * 33 + ( 2025 / 16 ) / 3 ) / 15 ) + 19

Respuestas
a) = 72 con 4 pasos
b) = -120.9062 con 11 pasos
Tomando / como variables reales

Operaciones Lgicas
Las expresiones lgicas o booleanas son llamadas as en honor al
matemtico George Boole.
Estn constituidas por nmeros, constantes o variables y
operadores lgicos o relacionales.
El valor que pueden tomar estas expresiones es el de verdadero o
falso.
Se usan frecuentemente en estructuras selectivas y en
estructuras repetitivas.

Operaciones Lgicas Relacionales


Son operaciones que nos permiten comparar dos operandos.
Los operandos pueden ser nmeros, alfanumricos, constantes,
variables.
Las constantes a su vez pueden ser tipo entero, real, carcter o
cadena de caracteres.
El resultado de una expresin con operadores relacionales es
verdadero o falso.

Operaciones Lgicas Relacionales

Operaciones Lgicas Relacionales Ejemplo


Sea las siguientes constantes:
A=5
B = 16
Evalu la expresin:
( A ** 2 ) > ( B * 2 )
( A ** 2 ) > ( B * 2 )
25 > ( B * 2 )

25 > 32
FALSO

Operaciones Lgicas Relacionales Ejercicio 1


Sea las siguientes constantes:
X=6
B = 7.8
Evalu la expresin:
( X * 5 + B ** 3 / 4 ) <= ( X ** 3 div B )
Respuesta
FALSO con 7 pasos o
iteraciones

Operaciones Lgicas Relacionales Ejercicio 2


Evalu la expresin:
( ( 1580 mod 6 * 2 ** 7 ) > ( 7 + 8 * 3 ** 4 ) ) > ( ( 15 * 2 ) = ( 60 * 2 / 4 ) )

Respuesta

NOTA

FALSO con 11 pasos


o iteraciones

Cuando se usan operadores de relacin con operadores


lgicos, falso es menor que verdadero.

Operaciones Lgicas Lgicos


Son operaciones que nos permiten formular condiciones compleja a
partir de condiciones simples.
Los operadores lgicos son de conjuncin ( y ), disyuncin ( ) y
de negacin ( no )

Operaciones Lgicas Lgicos

Operaciones Lgicas Lgicos

Operaciones Lgicas Lgicos

Operaciones Lgicas Lgicos Ejemplo


NO ( 15 >= 7 ** 2 ) ( 43 8 * 2 div 4 < > 3 * 2 div 2 )
NO ( 15 >= 49 ) ( 43 8 * 2 div 4 < > 3 * 2 div 2 )
NO FALSO ( 43 16 div 4 < > 3 * 2 div 2 )
NO FALSO ( 43 4 < > 3 * 2 div 2 )
NO FALSO ( 43 4 < > 6 div 2 )
NO FALSO ( 43 4 < > 3 )

VERDADERO VERDADERO

NO FALSO ( 39 < > 3 )


NO FALSO VERDADERO

VERDADERO

Operaciones Lgicas Lgicos Ejercicio 1


( 15 >= 7 * 3 ** 2 Y 8 > 3 Y 15 > 6 ) NO ( 7 * 3 < 5 + 12 * 2 div 3 ** 2 )

Respuesta
VERDADERO con 15
pasos o iteraciones

Operaciones Lgicas Lgicos Ejercicio 2


NO ( ( 7 * 3 div 2 * 4 ) > ( 15 / 2 * 6 >= 15 * 2 / 17 = 15 ) )

Respuesta

NOTA

ERROR con 9 pasos


o iteraciones

NO se pueden realizar comparaciones entre un valor


lgico y un numrico haciendo uso de un operador
relacional.

1. Tipos de datos.
2. Identificadores, constantes y variables.
3. Operaciones aritmticas y lgicas.

4. Bloques de asignacin.

Bloques de asignacin
Se usan para asignar valores o expresiones a una variable o
constante.
La asignacin es una operacin destructiva. Esto significa que si la
variable tenia asignado un valor, este se destruye, conservando
ahora el nuevo valor.
El formato de la asignacin es el siguiente:
Variable expresin o valor
Donde: expresin puede ser aritmtica o lgica, o una constante u
otra variable.

Ejemplo
Supongamos que tenemos las variables i, ACUM y J de tipo entero, REA y SUM
de tipo real, CAR de tipo carcter y BAND de tipo booleano. Consideremos
tambin las siguientes asignaciones:

Memoria
1. i 0
2. i i + 1
3. ACUM 0
4. J 5 ** 2 div 3
5. CAR a
6. ACUM J div i
7. REA ACUM / 3
8. BAND ( 8 > 5 ) Y ( 15 < 2 ** 3 )
9. SUM ACUM * 5 / J ** 2
10. i i * 3
11. RES REA / 5
12. BAND BAND ( i = J)
13. i REA
14. CAR J

iteracin

1
2
3
4
5
6
7
8
9
10
11
12
13
14

ACUM

REA

SUM

CAR

BAND

Memoria
1. i 0
2. i i + 1
3. ACUM 0
4. J 5 ** 2 div 3
5. CAR a
6. ACUM J div i
7. REA ACUM / 3
8. BAND ( 8 > 5 ) Y ( 15 < 2 ** 3 )
9. SUM ACUM * 5 / J ** 2
10. i i * 3
11. RES REA / 5
12. BAND BAND ( i = J)
13. i REA
14. CAR J

iteracin

ACUM

REA

SUM

CAR

2.66

FALSO

9
10

0.625
3

11

0.532

12
13
14

BAND

FALSO
Er
Er

Vous aimerez peut-être aussi