You are on page 1of 32

ALGORITMOS

Algoritmos basados en Pseudocodigo


Fundamentos I: Tipos de datos, variables,
constantes, operadores y expresiones

Expositor : Jorge Medianero A.


Autor: Jos Carlos, Garca La Riva
Qu es un ALGORITMO ?
Un algoritmo es la secuencia de pasos
ordenados y finitos con los cuales se da
solucin a un determinado problema
informtico.

Ejemplo:
Como elaborar una boleta de pago
Como obtener el importe a pagar
Como crear el record acadmico de alumnos
Qu necesito para disear un
Algoritmo ?
Definir el Problema: Establecer los requisitos
y establecer las especificaciones de Entrada y
Salida de datos a procesar. Una buena
comprensin determinara la solucin
satisfactoria del problema planteado.

Implementar tcnicas de programacin


estructurada y modular. Estas tcnicas
promueven la simplicidad, el encapsulamiento
y la reusabilidad de cdigo.
Problema: Como calcular el importe de venta?
Anlisis: Los elementos del importe son la cantidad y el precio de
venta, este ultimo es un valor real (monetario), y se calcula mediante la
siguiente expresin:
Importe = precio x cantidad
Como se deduce el importe resulta ser un valor real.

Especificaciones de E/S:
Entrada: cantidad y precio de tipo real.
Salida : importe a pagar.

PASOS:
1. Solicitar el precio de venta del articulo.
2. Solicitar cantidad de artculos.
3. Calcular el importe de venta.
4. Escribir resultado.
Problema: Como calcular la media
aritmtica de 3 nmeros enteros?
Anlisis:

Especificaciones E/S:
Entrada:
Salida :

PASOS:
1.

Elaborar su solucin ?
Herramientas de un Algoritmo
OPERADORES ARITMETICOS

OPERADOR SIGNIFICADO
+ SUMAR
- RESTAR
* MULTIPLICAR
DIV DIVISION ENTERA
/ DIVISION REAL
MOD, % RESTO ARTIMETICO
, ^,** POTENCIACION
Herramientas de un Algoritmo: Reglas de prioridad
Las expresiones que tienen dos o mas operando requieren de reglas
matemticas que determinan el orden de las operaciones. A esta
normativa se denomina precedencia o reglas de prioridad.

Reglas:
1. Las operaciones que estn encerradas entre parntesis, se evalan
primero. Si existen parntesis anidados, las expresiones internas estas
se evalan primero.
2. Las operaciones aritmticas dentro de una expresin siguen el
siguiente orden de precedencia:
Operador exponencial (^)
Operadores: *, /
Operadores: div y mod
Operadores: + y
En caso de coincidir varios operadores de igual prioridad en una
expresin, el orden de prioridad en estos casos es de izquierda a derecha.
Herramientas de un Algoritmo
OPERADORES RELACIONALES

OPERADOR SIGNIFICADO
> MAYOR
< MENOR
>= MAYOR o IGUAL
<= MENOR o IGUAL
= IGUAL
<> DIFERENTE
Herramientas de un Algoritmo
OPERADORES LOGICOS
OPERADOR SIGNIFICADO
Y CONJUNCION
O DISYUNCION
NO NEGACION

Tablas de
verdad
Herramientas de un Algoritmo
OPERADORES DE ASIGNACION Y
AGRUPACION

OPERADOR SIGNIFICADO
ASIGNAR
() AGRUPAR
Herramientas de un algoritmo: Expresiones
Expresiones Aritmticas: Son anlogas a las formulas
matemticas. Se forman combinando los operadores aritmticos
y el smbolo de agrupacin. Las reglas de prioridad definen las
expresiones aritmticas.
Expresin Matemtica Expresin Algortmica
2A
2A + 3B
(2A + 3B) 2C
[(5C x 6D) + (3E)] x 5
[(2X + 3Y) x (5Y 2X)] x 2A
2A + 3B
2A
3 [(2X + 3Y)(5Y 2X)]
2A
Herramientas de un algoritmo: Expresiones
Expresiones Lgicas: Se denominan expresiones
booleanas en honor al matemtico britnico George Boole,
que desarrollo el Algebra lgica. Las expresiones, lgicas se
forman combinando los operadores lgicos and, or y not y
los operadores relacionales. Esencialmente una expresin
lgica solo puede tomar el valor de verdad o falso.

Expresin Logica Expresin Algortmica


Sea: A = 2, B = 7, C = 0
not [(3C + B MOD 2) > 0]
(C DIV A) or (5C)
not (3B MOD B)
(2B/A >= B) and (not C )
Evaluacin de Expresiones
Si las variables: a, b, c y d contienen los valores: 10, 20, 30 y 5
respectivamente, evaluar:

EXPRESION RESULTADO

(a + b) DIV d

(a + b) MOD d

(a > b) Y (c < d)

NO (a > b) O ( c <> d)
Tipos de Datos primitivos

NUMERICOS
Entero
Real
ALFANUMERICOS
Carcter
LOGICOS (Verdad o Falso)
Qu es una variable ?
Es una entidad con nombre nico en un algoritmo
y a la que se le puede inicializar, asignar y
reasignar un valor. Una variable puede cambiar su
valor dentro de un programa.
Las variables pueden asumir valores numricos,
alfanumricos y lgicos (tipos de datos primitivos).
Qu es Ambito?
Existen 2 tipos de duracin o mbito de las variables,
estas son (GLOBAL Y LOCAL). Las variables
globales se pueden utilizar en cualquier parte del
Algoritmo y las variables locales son usadas dentro
de un sub-programa (Procedimiento o Funcin).
NOMENCLATURA: Nombre de Variables
El nombre de una variable esta formada por una coleccin de
caracteres alfabticos (A..Z,a..z), dgitos (0..9) y por el carcter
subrayado ( _ ).
El nombre de una variable siempre debe comenzar por un carcter
alfabtico o por el carcter subrayado.
El nombre de una variable NO DEBE comenzar con un digito.
El nombre de una variable no debe contener espacios en blanco o
caracteres especiales tales como (, #, ., :, ;, %, &, @, etc).
Notacin Camlida y Nemotcnica: Es recomendable
que los nombres de las variables sean representativos
Asi: sueldo
sueldoBasico //notacin camlida y nemotcnica
sub_total
Excepciones:
var
entero: k, i, j, m, n //notacin reservada para contadores e ndices
NOTA: El nombre de una variable no debe coincidir con una palabra
clave de un algoritmo (SI, SINO, MIENTRAS, PARA, REPETIR, etc.)
Ejemplos
DECLARACION VALIDEZ
importe VALIDO
digito123 VALIDO
1a2b NO VALIDO
_miVariable VALIDO
mi_variable VALIDO
mi_123456 VALIDO
pagoNeto VALIDO
Mi@Variable NO VALIDO
Como se declaran las variables
Para declarar variables en un algoritmo se hace
uso de la siguiente sintaxis :
var
tipo_dato: <Lista_variables>
Ejemplo :
var
entero: k, i, j //contador e indices
real: pago, descuento
caracter: car1, car2, letra
cadena: apePaterno, razonSocial
logico: estado, ok, flag
Qu es una constante ?
Es una entidad con nombre nico en un algoritmo
y a la que se le asigna un valor inicial, el cual no
puede ser alterado luego dentro de un programa.
Las constantes pueden asumir valores numricos,
alfanumricos y lgicos (tipos de datos primitivos).
Las constantes al igual que las variables tienen 2
tipos de duracin o mbito (GLOBAL Y LOCAL).

OBSERVACION: En la programacin OO el mbito global


se considera una mala practica, pues contradice el principio
del Encapsulamiento.
NOMENCLATURA:
Identificadores o nombre de Constantes
El nombre de una constante esta formada
por caracteres alfabticos en
MAYUSCULAS (A..Z,), dgitos (0..9) y
por el carcter subrayado ( _ ).
El identificador de una constante, tambin
cumple con las reglas que se aplican a las
variables
Asi: PI
TASA_DESCUENTO
ROTULO_1
SINTAXIS: Declaracin de constantes
Para declarar constantes en un algoritmo se
hace uso de la siguiente sintaxis :
const
IDENTIFICADOR = valor,
Ejemplo :
const
PI = 3.1415632, IGV = 0.19
INICIAL = a
RAZON_SOCIAL = Importadora S.A.C.
ESTADO = falso
Instrucciones de Entrada y Salida
de Informacin predeterminada
Instruccin LEER : Se utiliza para ingresar un
valor por dispositivo de entrada standard
(Teclado). El valor se asigna a una variable
definida en el algoritmo.
Sintaxis : leer(lista_variables)

Instruccin ESCRIBIR : Se utiliza para exhibir el


valor de una variable, constante, texto o una
combinacin de los mismos, por dispositivos de
salida standard (Pantalla).
Sintaxis : escribir(lista_variables)
Estructura de un ALGORITMO
Algoritmo Nombre_Descriptivo
var
<tipo>: nom_var,
const NOM_CONSTANTE = <valor>
inicio
Instrucciones
y/o

//bloque de acciones Sentencias

fin
Ejemplos de
diseo de
Algoritmos
Ejemplo 1 : Ingrese un nmero entero, smele
2 unidades y luego visualcelo.
Algoritmo sumar 2 a numero
var
entero: num
inicio
leer( num )
num num + 2 //sumar 2 unidades
escribir( num )
fin
Problema 2 : Ingrese un nmero entero,
calcule su mitad y luego visualcelo.
Algoritmo mitad de numero
var
entero: n
inicio
escribir( Ingrese numero: )
leer(n)
n n DIV 2 //division entera
escribir( n )
fin
Problema 3 : Ingrese 2 nmeros enteros y luego
calcule y visualice la suma, diferencia y producto de
los nmeros ingresados.
Algoritmo operaciones aritmticas
var
entero: a, b, suma, resta, producto
inicio
escribir( Ingrese 2 numeros: )
leer( a, b )
suma a + b
resta a b
producto a * b
escribir(La Suma es:, suma)
escribir(Resta: , resta, Producto: , producto)
fin
Problema 4 : Ingresar un nmero entero
y luego calcular y visualizar su 5%.
Algoritmo calcular porcentaje
var
entero: n
real: porcentaje
inicio
escribir( Ingrese numero: )
leer( n )
porcentaje n * (5 / 100) //divisin real
escribir( porcentaje )
fin
EJERCICIOS
DE
REPASO
Problema 1 : Ingrese un nmero entero y
visualice su cuadrado.

Algoritmo problema1
var
entero: n, a

inicio
leer( n )
a cuadrado(n) //funcion interna
escribir( El cuadrado de , n, es , a )
fin
Problema 2 : Ingrese 2 nmeros enteros y
luego intercambie y visualice sus nuevos
valores.
Algoritmo problema2
var
entero: a, b, aux
inicio
leer( a, b )
aux a
ab //intercambio de a
b aux //intercambio de b
escribir( a, b ) //valores intercambiados
fin
Algoritmos, Estructuras de Datos & Objetos

medi@NERO

You might also like