Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Qu es un algoritmo?
Un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que llevan a la solucin de
un determinado problema. Los hay tan sencillos y cotidianos como seguir la receta del mdico,
abrir una puerta, lavarse las manos, etc; hasta los que conducen a la solucin de problemas muy
complejos.
Los Algoritmos permiten describir claramente una serie de instrucciones que debe realizar el
computador para lograr un resultado previsible. Vale la pena recordar que un procedimiento de
computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de
programacin que el computador entienda, en este curso utilizaremos el entorno de desarrollo de
Scratch para programar nuestros algoritmos.
En la naturaleza hay muchos procesos que puedes considerar como Algoritmos ya que tienen
procedimientos y reglas. Incluso, muchas veces no somos conscientes de ellos.
Por ejemplo, el proceso digestivo es un concepto de algoritmo con el que convivimos a diario sin
que nos haga falta una definicin precisa de este proceso. El hecho de que conozcamos cmo
funciona el sistema digestivo, no implica que los alimentos que consumimos nos alimenten ms o
menos. La familiaridad de lo que sucede da a da nos impide ver muchos algoritmos que pasan a
nuestro alrededor. Procesos naturales como la gestacin, las estaciones, la circulacin sangunea,
los ciclos planetarios, etc, son algoritmos naturales que
generalmente pasan desapercibidos.
Lenguajes de programacin
Programacin
en Pascal
en Visual Basic
en Delphi
Java
avanzada en Java
en C
orientada a objetos
en Excell
DATOS
DATOS
Los datos son nmeros, letras o smbolos que describen objetos, condiciones o
situaciones. Son el conjunto bsico de hechos referentes a una persona, cosa o
transaccin de inters para distintos objetivos, entre los cuales se encuentra la toma
de decisiones. Desde el punto de vista de la computacin, los datos se representan
como pulsaciones o pulsos electrnicos a travs de la combinacin de circuitos
(denominados seal digital). Pueden ser:
binario
decimal
binario
decimal
binario
decimal
101
1010
10
110
1011
11
10
111
1100
12
11
1000
1101
13
100
1001
1110
14
Para medir la cantidad de informacin que se puede almacenar, o que est almacenado
en algn dispositivo, se utilizan los siguientes mltiplos del Byte: La abreviatura b se
utiliza para bits y B para bytes.
* Nibble o cuarteto Es el conjunto de cuatro bits (1001).
* Byte u octeto Es el conjunto de ocho bits (10101010).
* Kilobyte (Kb) Es el conjunto de 1024 bytes (1024*8 bits).210
* Megabytes (Mb) Es el conjunto de 1024 Kilobytes (10242*8 bits).220
* Gigabytes (Gb) Es el conjunto de 1024 Megabytes (10243*8 bits).230
* Terabyte (Tb) Es el conjunto de 1024 Gigabytes (10244*8 bits).240
* Petabyte (Pb) Es el conjunto de 1024 Terabyte (10245*8 bits)250
* Exabyte(Eb) Es el conjunto de 1024 Petabyte (10246*8 bits)260
* Zettabyte (Zb) - Es el conjunto de 1024 Exabyte (10247*8 bits)270
* Yottabyte (Yb) - Es el conjunto de 1024 Zettabyte (10248*8 bits)280
Los datos constan de los siguientes elementos:
* Internos: Son provistos dentro de la organizacin (por distintos sectores o del propio
personal de la empresa)
* Externos: Son aquellos que provienen fuera de la organizacin (provisto por clientes,
bancos, proveedores, etc.)
La jerarqua de los datos:
JERARQUA
BIT
REPRESENTACIN
Que representa.
EJEMPLOS
01
CARCTER
10101010
CAMPO
Conjunto de caracteres.
Garca
REGISTRO
Conjunto de campos.
ARCHIVO
Conjunto de registros.
TABLAS
BASE DE
DATOS
Archivos relacionados
Archivo de clientes
Archivo de ventas
Archivo de personal
alternativas del byte (FF representa el nmero binario 1111 1111, es decir, la ltima
combinacin posible de las 256 binarias en 8 bits).
Cada tipo de informacin que se digitaliza necesita de mayor o menor cantidad de bits
para ser representada. Una pgina de texto plano ocupa 2 Kb. Pero al trabajar con otro
tipo de informacin (texto con formato, grficos, sonidos, etc., las cantidades de bits
aumentan significativamente.
Ejemplos:
Constantes
= 0;
= 100;
= 10;
integer;
i := Min;
while i < Max do begin
writeln(i);
i := i + Sep
end
end.
Constantes literales
Son valores de cualquier tipo que se utilizan directamente, no se
declaran ya que no tienen nombre. En el siguiente ejemplo
tienes un par de constantes literales (el 3, el 4, y el 3.1416):
VolumenEsfera:=4/3*3.1416*Radio
*Radio*Radio;
Constantes declaradas
Tambin llamadas constantes con nombre, son las que se
declaran en la seccin const asignndoles un valor
directamente. Por ejemplo:
const
Pi=3.141592;(*valorreal*)
Min=0;(*entero*)
Max=99;(*entero*)
Saludo='Hola';(*cadenacaract.*)
Constantes expresin
Tambin se declaran en la seccin const, pero a estas no se les
asigna un valor directamente, sino que se les asigna
una expresin. Esta expresin se evala en tiempo de
compilacin y el resultado se le asigna a la constante. Ejemplo:
const
Min=0;
Max=100;
Intervalo=10;
N=(MaxMin)divIntervalo;
Centro=(MaxMin)div2;
Variables
Utilizacin
Declaracin de variables
Esta es la primera fase en la vida de cualquier variable. La
declaracin se realiza en la seccin que comienza con la
palabra var. Si quieres ms informacin, puedes ir al apartado
que trata sobre la declaracin de variables en el
tema Estructura de un programa.
Nota: Toda variable que vaya a ser utilizada en Pascal tiene
que ser previamente declarada.
Iniciacin de variables
Esto no es ms que darle un valor inicial a una variable. As
como lo primero que se hace con una variable es declararla, lo
siguiente tiene que ser iniciarla. Esto se hace para evitar
posibles errores en tiempo de ejecucin, pues una variable tiene
un valor indeterminado despus de declararla. Principalmente,
existen dos maneras de otorgar valores iniciales a variables:
Mediante una sentencia de asignacin
Mediante uno de los procedimientos de entrada de datos
(read o readln)
Veamos un ejemplo que rene los dos casos:
begin
...
i:=1;
readln(n);
while i < n do begin
(* cuerpo del bucle *)
i := i + 1
end;
...
end.
Utilizacin de variables
Una vez declarada e iniciada una variable, es el momento de
utilizarla. Esta es la parte que presenta un mayor abanico de
posibilidades. A continuacin tienes unas cuantas:
Incrementar su valor:
i:=i+1
Controlar un bucle:
fori:=1to10do...
Chequear una condicin:
ifi<10then...
Participar en una expresin:
n:=(MaxMin)divi
Y otras que ya irs descubriendo
Principales diferencias:
Las constantes ya reciben un valor inicial en su declaracin
Ejemplo
A continuacin tienes un ejemplo con el que puedes interactuar
para que repases algunos de los conceptos que se han tratado
en este tema. En l puedes observar cmo se encuentran los
valores de dos variables y una constante en varios puntos del
programa.
Variables
Otras expresiones
Lo que se hace con una expresin es evaluarla para que
devuelva un valor.
Tipos de expresiones
Dentro de las expresiones distinguimos dos clases segn el tipo
de datos que devuelven al evaluarlas:
Aritmticas: las que devuelven un valor numrico
Lgicas: las que devuelven true o false
Las expresiones se utilizan fundamentalmente en
las asignaciones y en las partes condicionales de las
sentencias if, while y repeat. Esto puedes verlo en el siguiente
ejemplo:
begin
i:=1;
encontrado:=false;
while(i<final)and(notencontrado)do
begin
(*mirarelelementoenlaposicioni*)
(*sies,cambiamos"encontrado"a"true"
*)
i:=i+1
end
end.
El ejemplo trata de una bsqueda en un conjunto ordenado de
elementos. En el while se chequea: si hay ms elementos y si
aun no lo hemos encontrado. Si no se cumple alguna de las dos
condiciones se sale del bucle.
Evaluacin de expresiones
Para evaluar una expresin no hay que hacer nada del otro
mundo, pues es bien sencillo. Slo hay que saber sumar, restar,
si un nmero es mayor que otro, ...
Hay tres reglas de prioridad a seguir para evaluar una expresin:
Primero, los parntesis (si tiene)
Despus, seguir el orden de prioridad de operadores
Por ltimo, si aparecen dos o ms operadores iguales, se
evalan de izquierda a derecha.
funcin
-Diagrama del programa
-Listado de la ltima compilacin
-Resultados de la ejecucin del programa
3. Vestirse
4. Desayunar
5. Cepillarse los dientes
6. Salir de casa
7. Tomar el autobs
8. Llegar al ITCA
9. Buscar el aula
10. Ubicarse en un asiento
2.Descripcin en Pseudocdigo
Pseudo = falso. El pseudo cdigo no es realmente un cdigo sino una
imitacin y una versin abreviada de instrucciones reales para las computadoras.
Es una tcnica para diseo de programas que permite definir las estructuras de
datos, las operaciones que se aplicarn a los datos y la lgica que tendr el
programa de computadora para solucionar un determinado problema. Utiliza un
pseudolenguaje muy parecido a nuestro idioma, pero que respeta las directrices y
los elementos de los lenguajes de programacin. Se concibi para superar las dos
principales desventajas de los flujogramas: lento de crear y difcil de modificar sin
un nuevo redibujo.
Ejemplo 1
Disear un algoritmo que lea cuatro variables y calcule e imprima su
producto, suma y media aritmtica.
inicio
leer (a, b, c, d)
producto <-- (a * b * c * d)
suma <-- (a + b + c + d)
media <-- (a + b + c + d) / 4
escribir (producto, suma, media)
fin
3. Diagramas N-S
Son una herramienta que favorece la programacin estructurada y rene
caractersticas grficas propias de diagramas de flujo y lingsticas propias de
pseudocdigos. Constan de una serie de cajas contiguas que se leern siempre
de arriba-abajo y sus estructuras lgicas son las siguientes:
Estructura Secuencial
4. Diagramas de Flujo.
Son la representacin grfica de la solucin algortmica de un problema.
Para disearlos se utilizan determinados smbolos o figuras que representan una
accin dentro del procedimiento. Utilizan unos smbolos normalizados, con los
pasos del algoritmo escritos en el smbolo adecuado y los smbolos unidos con
flechas, denominadas lneas de flujo, que indican el orden en que los pasos deben
ser ejecutados.
El pseudocdigo
El pseudocdigo (o falso lenguaje) es comnmente utilizado por los
programadores para omitir secciones de cdigo o para dar una
explicacin del paradigma que tom el mismo programador para hacer
sus cdigos, esto quiere decir que el pseudocdigo no es programable
sino facilita la programacin.
El principal objetivo del pseudocdigo es el de representar la solucin a
un algoritmo de la forma ms detallada posible, y a su vez lo ms
parecida posible al lenguaje que posteriormente se utilizar para la
codificacin del mismo
El pseudocdigo utiliza para representar las acciones sucesivas palabras
reservadas en ingls (similares a sus homnimos en los lenguajes de
programacin), tales como star,begin, end, stop, if-then-else, while,
repeat-until.etc