Vous êtes sur la page 1sur 64

lgoritmia

Conceptos
programación
Universidad Cooperativa de
Colombia
Tecnologías – Facultad de
Ingeniería
Algoritmos:
Constructores Básicos
CONTENIDO

 Estructura de un algoritmo
 Los datos en programación
 Instrucciones sobre variables
 Estructuras de control
 Codificación de algoritmos en C++
ESTRUCTURA DE UN ALGORITMO
Los elementos fundamentales:

 Datos.
 Instrucciones.
 Estructuras de control.
Concepto de Dato
Pieza de información simple

 un número
 un código
 un hecho
 una edad
Tipo de Dato
Un conjunto es una colección ‘bien
definida’ de elementos (objetos).

Las vocales

Los dígitos
Tipo de Dato
 Todo conjunto debe tener un
nombre.
Libros
 Z y entero
 R y real
 ASCII y caracter
 Booleano
 Cadena
Tipo de Dato

El nombre del conjunto al que


pertenece el dato constituye el
tipo del mismo.
Datos en programación
Enteros
son representados utilizando 2, 4 u 8
bytes.

2 bytes:
rango(0 - 65536) enteros sin signo.
rango(-32767 - 32768) enteros con signo.
Datos en Programación
Reales: son representados utilizando dos
esquemas:
–Punto Flotante: Real representado como
un entero y un byte adicional que indica la
posición del punto.
–Punto Fijo: Real representado por dos
enteros, una mantisa y un exponente.

12345.6789 es representado como:


Mantisa = 123456789
Exponente =5
pues 0.123456789*105= 12345.6789
Datos en Programación
Caracteres: representados en codifica-
ción ASCII, se asigna a cada carácter un
valor numérico representado por un byte.

Ejemplo: el carácter ´A´ mayúscula es


representado por el byte 01000001 (65
en decimal), la letra ´B´ mayúscula por el
byte 66 en decimal y así sucesivamente.
Datos en Programación
Existe un código ASCII para cada
carácter representable (lista utilizada
en los Laboratorios), algunos ejemplos:

Espacio 32
; 59
0 48
* 42
1 49
a 97
9 57
Datos en Programación

 Cadenas: secuencia de letras, números u


otros caracteres que se escriben dentro de
comillas dobles.

Ejemplo:

“Estoy en clase de programación”


Datos en Programación

Booleanos : sólo pueden tomar


valor falso o verdadero.
Datos en Programación
 Distinciones importantes:

ENTERO REAL
2 2.0

CARACTER CADENA
‘X’ “X”
Variables

Variable : es un símbolo que


permite referenciar (señalar o
demarcar) un espacio en
memoria en el que se puede
almacenar un dato.
Variables
suma entero 168
nombre cadena Pablito Pérez

MEMORIA

Nombre Tipo Estado o Valor


Variables
 Declaración de una variable

<variable> : <tipo>

Ejemplos
 x : real
 contador : entero
Variables
 El valor de una variable puede
cambiar en el tiempo.

tiempo identificador valor


antes saldo 500000
despues saldo 100000
Literales
 Secuencia de caracteres que
representa un valor concreto.

 Tipos :
 entero: 12345, –138
 real: 3465.98, –3.987
 caracter: ‘a’, ‘3’
 cadena: “pepito va al colegio”
 booleano: falso o verdadero
Constantes
es un símbolo que permite
referenciar un espacio en memoria
en el que hay un dato almacenado
que NO se puede cambiar.

ayer PI 3.1416
hoy PI 3.1416
MEMORIA
Constantes
 Declaración de una constante

<nombre> = <literal>

 PI = 3.1416
 TAMANO_MAXIMO = 1000
 MENSAJE = “Digite los datos”
Expresiones
 Expresión: es una serie de
términos (constantes, literales,
variables y funciones) posiblemente
agrupados mediante paréntesis y
conectados mediante operadores
(aritméticos como +, - y lógicos
como &, I ), que representan un
cálculo matemático.
Evaluación de expresiones
Es el proceso que permite
determinar el valor de la expresión,
es decir el resultado del cálculo.
Según el tipo del resultado, las
expresiones se clasifican en:
 Expresiones numéricas
 Expresiones lógicas
Precedencia de Operadores
 Orden en el que se deben llevar a
cabo las operaciones para evitar
ambigüedad

(3+4)*5 3+4*5 3 +(4*5)

 Se debe evaluar primero el operador


con mayor precedencia.
Precedencia de Operadores
Precedencia Operadores
1 |
2 &
3 ~
4 >, <, >=, <=, <>
5 +, - (substracción)
6 *, / , %
7 - (negativo)
8 Paréntesis
Evaluación expresiones
numéricas
MEMORIA
(a + 5 ) * ( y+ abs (x) )
a 5
(5 + 5 ) * ( 8 + abs (-1) )

y 8 (5 + 5 ) * (8+1)
x -1 10 * 9

90
Expresiones lógicas

p q ~p ~q p& q p | q
v v f f v v
v f f v f v
f v v f f v
f f v v f f
Evaluación expresiones
lógicas
(a+5<4 ) & (b=3)

MEMORIA (4+5<4 )&(3=3)


a b
4 3 (9<4 )&(3=3)

F & V

F
Ejemplo

MEMORIA
-3 * a + b * c

a b c (-3) * 5 + 3 * 9
5 3 9
-15 + 27

12
INSTRUCCIONES SOBRE
VARIABLES
 Operaciones para modificar variables
 Asignación
 Lectura (entrada).

 Operación para mostrar


el valor de las variables
 Escritura (salida).
INSTRUCCIONES
ASIGNACIÓN
 Estructura

<variable> = <valor>

Nombre Operador de Constante


Asignación Variable o
Expresión
ASIGNACIÓN
 Representación en diagrama de flujo

variable = expresión
EJEMPLOS DE ASIGNACIÓN

Asignar un valor a las


variables a y b
EJEMPLOS DE ASIGNACIÓN

MEMORIA

a: entero a b

b: entero 5 5

a=5
b=a
INSTRUCCIONES DE ENTRADA

 LECTURA

leer (variable)
INSTRUCCIONES DE ENTRADA
 Representación en diagrama de flujo

variable(s)
INSTRUCCIONES DE ENTRADA

Programa Teclado Memoria

a
XXX
125
a
INSTRUCCIONES DE SALIDA
 ESCRITURA

escribir (variable)

150
INSTRUCCIONES DE SALIDA
 Representación en diagrama de flujo

Variable(s)
INSTRUCCIONES DE SALIDA

Programa Memoria Pantalla

a
125
a 125
ESTRUCTURAS DE CONTROL

 Constructores que determinan el flujo


del programa
TIPOS DE ESTRUCTURAS

 Secuencia
 Selección
SECUENCIA
Diagrama de Flujo
Pseudo código
a
a: entero
leer (a)
a = a*a a = a*a
escribir (a)
a
EJEMPLO

Hallar el cuadrado de un número


previamente leído
EJEMPLO

Memoria
a, b: entero
1 leer (a) a b
2 100
XX
10 XX
100
b = a*a
3 escribir (b)
SELECCIÓN
Tengo un buen trabajo ?????

No Si
SELECCIÓN

si < condición > entonces


< bloque instrucciones 1>
sino
< bloque instrucciones 2>
fin_si
SELECCIÓN

Pseudo código Diagrama de Flujo

si x > 0 entonces SI NO
y=0 x>0
sino y =0 y =1
y=1
fin_si
EJEMPLO

Hallar el cuadrado o la suma de


un número previamente leído,
según la condición
EJEMPLO
a, b: entero
leer (a) Memoria
si a >0
entonces
a b
b = a+a
sino 40 80XXX
XXX 80
b = a*a
fin_si
escribir (b)
EJEMPLO
a, b: entero
Memoria
leer (a)
si a >0
entonces a b
b = a+a 100
-10 XXX
XXX 100
sino
b = a*a
fin_si
escribir (b)
EJEMPLO

Dados tres números


enteros, calcular el máximo
EJEMPLO (a)
a, b, c : entero
mayor: entero
leer (a)
leer (b)
leer (c) Memoria
si a>=b
a>=b & & a>=c
a>=centonces
entonces
mayor = :=aa
sino a b c
si b>=a
b>=a & & b>=c
b>=centonces
entonces XXX
5 XXX
2
XXX
10
mayor = :=bb maximo 10
sino mayor
mayor = :=cc
fin_si XXX
10
fin_si
escribir (“maximo”)
escribir (mayor)
EJEMPLO (b)
a, b, c : entero
mayor: entero
leer (a)
leer (b)
leer (c) Memoria
a>=b &&a>=c
si a>=b a>=centonces
entonces
mayor = a
sino a b c
b>=a &&b>=c
si b>=a b>=centonces
entonces XXX
2 XXX
9 XXX
4
mayor = b maximo 9
sino mayor
mayor = c
fin_si XXX
9
fin_si
escribir (“maximo”)
escribir (mayor)
SELECCIÓN MÚLTIPLE
seleccionar <opcion> hacer
caso <constante 1>:
<bloque_intrucciones 1>
.
.
.
caso <constante n>:
<bloque_intrucciones n>
otrocaso:
<bloque_intrucciones>
fin_seleccionar
EJEMPLO

Selección de una transacción


en un cajero automático
EJEMPLO (a)

opcion: entero
leer (opcion)
seleccionar opcion de opcion
caso1: escribir (“Consignación”) CambioXXX
de
4 Clave
caso2: escribir (“Retiro”)
caso3: escribir (“Pago de Servicios”)
caso4: escribir (“Cambio de Clave”)
caso5: escribir (“Terminar”)
otrocaso: escribir (“Terminar”)
fin_seleccionar
EJEMPLO (b)

opcion: entero
leer (opcion)
seleccionar opcion de opcion
caso1: escribir (“Consignación”) Salir
XXX
5
caso2: escribir (“Retiro”)
caso3: escribir (“Pago de Servicios”)
caso4: escribir (“Cambio de Clave”)
caso5: escribir (“Salir”)
otrocaso: escribir(“Salir”)
fin_seleccionar
CODIFICACIÓN DE
ALGORITMOS EN C++
SEUDOCODIGO C++
Def. Variables x : tipo tipo x;
Def. Constante PI = 3.1415926 PI = 3.1415926
Asignación = =
Oper. Aritméticos
Suma + +
Resta - -
Multiplicación * *
División / /
Módulo mod %
CODIFICACIÓN DE
ALGORITMOS EN C++
Lectura leer (a) cin >>a;
Impresión escribir(a) cout << a;
Cambio de línea cambio_linea “\n”
Cad. Caracteres “cadena” "cadena"
Selección si (condición) if (condición)
entonces {
bloque_instrucciones1 bloque_instru
sino cciones1;
bloque_instrucciones2 }
fin_si else
{
bloque_instru
cciones2 ;
}
CODIFICACIÓN DE ALGORITMOS EN C++
Selección Seleccionar(variable) de switch(opción)
Múltiple caso constante 1: {
bloque_instrucciones_1 case constante_1:
. {
. bloque_instrucciones_1;
. break;
caso constante n: }
bloque_instrucciones_n .
.
otro caso: case constante_n:
bloque instrucciones {
fin_seleccionar ..bloque_instrucciones_n;
break;
}

default:
{
bloque_instrucciones;
break;
}
}
CODIFICACIÓN DE
ALGORITMOS EN C++
Comentarios /*comentario*/ /*comentario*/
Operadores Lógicos
negación ~ !
y lógico & &&
o lógico | ||
Oper. Relacionales
Menor que < <
Mayor que > >
Igual a = ==
Menor o igual que <= <=
Mayor o igual que >= >=
Diferente a <> !=
FIN
Gracias por la atención
prestada

Vous aimerez peut-être aussi