Académique Documents
Professionnel Documents
Culture Documents
Campus Virtual
Carrera: Licenciatura en Informtica Educativa
Materia: Tcnicas de Programacin
Clase 2
ALGORITMOS
Un algoritmo es un mtodo para resolver un problema.
Es un conjunto de instrucciones ordenadas que tienen un tiempo de ejecucin y que para
la cual consume una serie de recursos identificados.
Todo algoritmo tiene un punto de inicio y un punto de terminacin.
Los cuales son nicos y claramente identificables
.
Todo algoritmo debe cumplir las siguientes caractersticas:
Ser preciso: esto significa que los pasos u operaciones del algoritmo deben
desarrollarse en un orden estricto.
Ser finito: el nmero de pasos de un algoritmo, por grande y complicado que sea el
problema que soluciona, debe ser limitado. Todo algoritmo incluye los pasos inicio y
fin.
Programar el mdulo.
Comprobar el mdulo.
Si es necesario, depurar el mdulo.
Combinar el mdulo con los mdulos anteriores.
El proceso que convierte los resultados del anlisis del problema en un diseo modular
con refinamiento sucesivos que permitan una posterior traduccin a un lenguaje se
denomina diseo del algoritmo.
3
Datos de entrada
1
Datos de salida
2
Metodologa de la solucin.
3
Con lo cual vemos que el concepto de dividir un gran problema en pequeos problemas,
nos ayuda a:
Tipos de Objetos.
Los algoritmos trabajan con datos de la realidad, esta informacin que recibe, deber
procesarla, por lo cual puede generar nuevos datos a partir de la informacin ingresada,
transformar directamente lo que ingreso al proceso y actualizar o informar a partir de las
condiciones que le definamos.
Esa relacin de comunicacin, ya sea de entrada al mismo o de salida desde el algoritmo
lo realiza mediante DATOS, que en nuestro proceso los conocemos como CAMPOS.
Podemos dar como primera definicin, que un CAMPO es el elemento que nosotros
identificamos mediante un nombre.
Por lo cual la caracterstica fundamental del CAMPO es su nombre, ese nombre que
declaramos es el que permite que el algoritmo lo identifique unvocamente y que
mediante el mismo lo utilizare en el proceso en las operaciones que desarrollemos.
Mientras que el DATO es el valor que ese campo tiene.
El mismo lo obtiene desde el exterior, o lo modifica durante el proceso o es el que
indicamos como salida del mismo.
Por lo cual consideramos al CAMPO como el nombre y lugar fsico en el cual
alojaremos el valor o DATO.
Cada DATO tiene una particularidad, y es justamente el tipo de informacin que puede
traer y por la cual a esa particularidad debemos definirla en el CAMPO que lo va a
contener
Por ejemplo, encontramos rpidamente dos grandes divisiones:
Por lo cual un nmero que utilicemos como tal, es decir que nos permita usarlo en
operaciones matemticas pude ser o bien un NUMERO REAL o un NUMERO
ENTERO.
Definiendo entonces como:
ENTERO: son solo nmeros enteros: 1, 0, 28, 30, 5, tambin los enteros
negativos (-1, -40, etc), pero siempre sin decimales.
REAL: son los enteros mas los nmeros decimales (3/4, 0.45 , -8 , -95.45 ,
etc)
Ahora bien, tambin existen otros tipos de datos, como vimos antes, que son los
caracteres alfabticos, con la aclaracin de los nmeros que en caso de ser definidos de
esta manera no podemos usarlos para operaciones matemticas.
Para nuestros algoritmos los definiremos como:
ALFANUMERICO: Un objeto que representa una cadena de caracteres, que
pueden ser letras o nmeros, en este caso los nmeros se toman como
caracteres, es decir que no tendrn un valor numrico.
Por Ej: SanMartin1554
Constantes:
1. Normales:
a. Enteros
b. Reales
c. Alfanumricas
d. Carcter
e. Lgica
2. Figurativas:
a. Enteros
b. Reales
c. Alfanumrica
d. Carcter
e. Lgica
Variables
Nombre
Tipo
Valor
Ejemplos
12500
245.65
.V.
.F.
A
Analia
Defino como
entero
real
logico
logico
carcter
alfanumrico
Resumiendo
Podemos encontrar solamente 4 tipos de datos en nuestros ejercicios:
Real
Entero
Alfanumrico
Lgico
Expresiones
Dentro de nuestros algoritmos podemos hacer una separacin , un tanto parcial, diciendo
que tendremos instrucciones y expresiones.
Las INSTRUCCIONES u OPERACIONES las veremos una a una mas adelante.
Veremos en este momento un poco ms en detalle las EXPRESIONES.
Ahora bien a que consideramos una expresin?.
Podemos considerar como expresiones tanto una operacin matemtica como un manejo
de cadena de caracteres.
Expresiones de resultado nico
Mensaje=Muy Buenos Das
Suma=4+8
Pregunta:
Que tipo de dato le hubiera asignado a:
Mensaje:
Suma:
Expresiones de resultado variable
Sueldo=Basico+Basico*0.50
Nombre=Sr. ,S_nombre
En estos ejemplos ,tanto el campo basico como el campo S_nombre, son las variables
Operaciones Fundamentales
Introduccin
Vamos a definir a continuacin estructuras que nos permitirn interactuar con el
ambiente y determinar la forma en que podemos resolver los clculos matemticos y
operaciones con caracteres.
Asignacin
La utilizamos cuando a un campo determinado le queremos mover un valor especfico,
ya sea producto de una operacin matemtica o no.
Cuando creamos una variable a travs de su definicin (Ej: Cantidad, entera), estamos
reservando un lugar en memoria ,pero no le estamos pasando ningn valor, es lo que
identificamos como el CAMPO, ahora bien cuando le queremos dar un valor la
operacin que usamos es la asignacin y decimos que le estamos asignando un valor.
Por ejemplo al campo VARI, le movemos el valor que tiene el campo A, eso quiere decir
que a VARI le asigno el valor de A
Vari = A
10
<= o
Debemos tener especial cuidado de moverle a un campo, un tipo de dato igual al que
usamos para definir al campo.
Es decir, moveremos caracteres a un campo definido como tal, y podremos mover
nmeros a utilizar en operaciones aritmticas si previamente al campo lo definimos
como entero o como real.
Operaciones Numricas
Las operaciones mas comunes son la de contar o la de acumular en un campo.
Para esto, se utilizan dos estructuras, que son:
Acumuladores
Contadores.
Si bien son operaciones bsicamente similares, tiene pequeas particularidades que las
diferencian
Acumuladores
Consiste en la operacin de ir acumulando cantidades variables dentro de una misma
variable.
Que hago primero?: DEFINO LAS VARIABLES A UTILIZAR, por ejemplo:
Importe, entera
Acumulo, entera
Que caractersticas tienen? QUE SIEMPRE DEBEN SER NUMERICAS, YA SEA
ENTERA (como en este caso ) o REAL.
Si el campo el cual se acumula es REAL, tenemos que pensar que seguramente el
acumulador tambin deba ser REAL
11
Este tipo de variables se podran aplicar para determinar por ejemplo, dentro de un
conjunto de personas cuantas de ellas son del sexo femenino y cuantas del sexo
masculino.
Operaciones Alfabticas o alfanumricas
Estas operaciones son aquellas definidas para el manejo de caracteres. Para resolverlas
existe una jerarqua de operaciones a tener en cuenta:
Operacin
1. Parntesis
2. Funciones
3. Concatenacin
Funciones para el manejo de caracteres
A=LEN(Variable)
12
// El contenido de B es =10
13
14
15
Un ejemplo completo:
Confeccionar un algoritmo tal que dados 2 nmeros enteros muestre su suma y su
diferencia.
Atencin: ...dados 2 nmeros cualquiera... significa que nuestro algoritmo tiene que
servir para cualquier par de nmeros.
Por lo tanto tendremos que preguntarlos.
16
17
SUMA
A+B
NUM2
10
30=10+10
RESTA
MOSTRAR
SUMA
MOSTRAR
RESTA
10=20-10
30
10
18
Representacin de Algoritmos
Existen diversas formas de representar algoritmos, dentro de las
ms comunes se encuentran los diagramas de flujo y el pseudocdigo.
Cada uno tiene sus ventajas y desventajas, todo depende del gusto de la persona que
realiza el algoritmo.
Pseudocdigo
El pseudocdigo es una herramienta de programacin en la que las instrucciones se
escriben en palabras similares al espaol o ingles, que facilitan tanto la escritura como la
lectura de programas, y permite a quien lo realiza concentrarse en las estructuras de
control sin tener presente las caractersticas propias de algn lenguaje en especial
En esencia se puede definir como un lenguaje de especificaciones de algoritmos.
El pseudocdigo se encuentra a un solo paso de pasarse a un lenguaje de programacin y
es leble de igual forma que los diagramas de flujo ,a diferencia que no es grfico pero
igual de comprensible:
Cuenta con palabras reservadas y la forma de su uso, y tiene una estructura minima qu se
debe respetar.
Siempre la primera palabra debe ser:
Algoritmo:nombre
Seguida de : y el nombre que le definamos para el mismo.
Debe tener una sentencia unica de FIN , que indica la finalizacion del proceso.
Diagramas de flujo
Tambin llamado ordinograma.
Esta tcnica muestra los algoritmos de una manera clara y comprensible.
Es una representacin grfica, es decir, se vale de diversos smbolos para representar las
ideas o acciones a desarrollar.
Los diagramas de flujo ayudan en la comprensin de la operacin de las estructuras de
control.
19
Por ejemplo: el inicio y el fin del algoritmo se representan con un smbolo elptico, las
entradas y salidas con un paralelogramo, las decisiones con un rombo, los procesos con
un rectngulo, etc.
Los smbolos utilizados han sido normalizados por el Instituto Norteamericano de
Normalizacin(ANSI) y algunos de ellos son:
Entrada/salida
Inicio
o
Fin
Subprograma
Decisin
NO
Proceso
SI
Definicin de variables:
Es obligatorio definir todas las variables que vayamos a utilizar durante el
programa, en el inicio del diagrama de flujo.
Cuando nuestro programa se ejecuta, a nuestros efectos la memoria contendr
informacin basura (informacin que estaba cargada en la memoria antes de
ejecutar nuestro programa)
Para definir una variable es imprescindible indicar cual ser su nombre y su tipo.
Pudiendo asignar a esa variable su valor posteriormente.
20
C=6
R = 3 2 + 6 * 2 + ( 6/2 1) + 2 * 4 * 3 4
R = 1 + 12 + 2 + 20
R= 35
Expresiones alfanumricas ( STRINGS ):
CADENA =(Pepe, Lpez)
PepeLopez
Pepe Lpez
22
23
24