Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fundamentos Bsicos
Computacin Aplicada
Qu es un Algoritmo?
Es una descripcin clara y detallada de todos los pasos o
Problema
Pasos a seguir
para resolverlo
Solucin deseada
Algoritmo
Codificacin del
algoritmo
Prueba y puesta a
punto
Para la construccin de un
Algoritmo es necesario
analizar:
Qu es lo que se
desea?
Qu tenemos?
Qu se necesita?
Solucin deseada
Comprender el
problema
Listado
de
acciones
definidas de forma:
Lgica, Precisa,
Detallada
Clara y sin
ambigedades
Ordenar
coherentemente
Algoritmos
Los pasos del algoritmo se pueden pensar como unidades
de procesamiento, donde la materia prima son datos
Variables de
Entrada
(Datos)
F1
F2
:
Fn
El Algoritmo
Operaciones
que realiza el
computador
Variables de
Salida
(Respuestas)
X1
X2
:
Xn
Qu tenemos?
Qu se
necesita?
Para la base:
16 galletas tipo campurrianas (200 gr.)
75 gramos de mantequilla
Algorit
mo
Para la cubierta:
750 gr. de cerezas
250 ml de agua
Segunda Opcin:
Conectar la llave en el encendido o contacto.
Pisar el embrague con el pie izquierdo.
Poner punto neutro.
Girar la llave en el contacto y encender el auto.
Pisar el embrague con el pie izquierdo.
Meter primera, sin quitar el pie del embrague.
Quitar el freno de mano.
Levantar, poco a poco, el pie izquierdo del embrague
al mismo tiempo que se pisa el acelerador con el pie
derecho.
Decision
es
Diagrama de Flujo
El diagrama de Flujo es una representacin grfica que, mediante el
uso de smbolos estndar conectados por lneas de flujo, muestran
la secuencia lgica de las acciones que debe realizar el computador.
Datos
Los objetos con los cuales trabajaremos en un programa son conocidos
como DATOS.
Los Datos son elementos considerados como unidades de tratamiento
dentro de un sistema de proceso de datos. Contienen la informacin con la
que opera el computador.
Datos
No Numricos
Numricos
Enteros
105
383
Reales
0.105
38.3
Complejos
Lgicos
Caracte
r
10 +5i
38 3i
True,
False
**Hola**
Dato # 2
Simple
Variables
Su valor cambia a lo largo del
programa
Subindizada
ndice solo
(vectores)
ndices dobles
(matrices)
Variable Simple
Es un espacio de almacenamiento simple,
que permite guardar un solo dato.
Dato: 25
25
Almacenar el dato
en variable A
A=25
25
1
1
ltimo
Se enumera de arriba hacia abajo
V(1)= 25
V(3)=
-1
25
V(i)
A=
A(2,2)
a11
a12
a21
a22
am1
am2
a1n
a2n
amn
filas
Las filas se enumeran
de arriba hacia abajo
columnas
Las columnas se enumeran de izquierda a derecha
Analoga:
Variables de dos ndices (Bidimensionales)
Variables de un ndice
(Unidimensionales)
Variables simples
Declaracin de Variables
Establecer qu tipo de dato tomar una variable se conoce como
Declaracin de variables. La declaracin debe indicarse al comienzo del
programa y tiene la forma general:
Var
Variable: tipo
Ejemplo:
Var.
x,y,z:real
n,m:integer
(entero)
Nombre:caracter
Operadores
Son comandos que nos van a permitir trabajar o manipular datos.
Los operadores de datos que podemos usar en el computador son:
Operadores
Numricos
+ -*/
** ^
Relacionales
>, <, , ,
=,
Lgicos
And, Or,
Negacin
No Numricos
Concatenacin: //
Operadores Numricos:
Funcionan o trabajan con dos datos numricos y su salida es un dato
numrico.
Operadores Relacionales:
Funcionan o trabajan con dos datos numricos o carcter, y su
salida es un dato lgico.
Operadores Lgicos
Funcionan o trabajan con dos datos lgicos, A y B, y su salida es un
dato lgico.
Operador AND
B
Cierto
Falso
Cierto
True
False
Falso
False
False
Operador OR
B
Cierto
Falso
Cierto
True
True
Falso
True
False
Operador Caracter
La concatenacin es una operacin para datos tipo carcter que
permite combinar cadenas de caracteres para formar una nueva
cadena que contiene a las anteriores.
Los datos tipo carcter deben escribirse encerrados en apstrofes
Ejemplo:
A=Computacin
B=Aplicada
C=A//B
C=ComputacinAplicada
D= bAplicada
E=A//D
E=Computacin Aplicada
Expresiones
Son una combinacin de datos (operandos) y operadores con unas
reglas especficas de construccin, que permiten la manipulacin de los
datos para obtener nuevos valores que se denominan resultados.
Las expresiones que podemos usar en el computador son:
Expresiones
Numricas
Lgicas
Peso
Operador
Descripcin
Peso
Operador
Descripcin
** ^
Potencia
Not
Negacin
(-)
Negacin
AND
Y lgico
*,/
Multiplicacin y
Divisin
2
1
OR
O lgico
+,-
Sumas y Restas
Estructuras de Secuencia
Las estructuras de secuencia representan instrucciones que sern
ejecutadas una sola vez. Son llamadas tambin estructuras
primitivas.
Datos
iniciales
Accin 1
Datos
Accin 2
Datos
Accin n
Datos
salida
Estructuras
de secuencia
Comienzo y Fin
Son instrucciones que indican el punto a partir del cual comienza el
cuerpo del programa y el punto final del mismo.
Nombre del Algoritmo
Var
Variable:
tipo
Comienzo
Paso1
Paso2
PasoN
Fin
Nota: Recuerde que previamente se habl de una seccin
llamada Declaracin de variables y constantes, ahora
mencionamos otra seccin: Cuerpo del algoritmo (o del
programa), el cual se refiere al conjunto de pasos o
instrucciones a seguir para resolver el problema.
Leer
Datos de Entrada
Num1
Num2
Num3
Num4
Num5
LEER DATOS
Leer
La operacin leer tiene la forma general:
Leer: (lista de
variables)
Frecuentemente se emplean los comandos:
Read: (lista de variables)
nombre variable=input
Leer A,B,C
Escribir
Es la instruccin empleada para que el computador muestre datos o algn
comentario en un dispositivo de salida como el monitor o la impresora.
La operacin escribir tiene la forma general:
Escribir: (lista de
variables)
Frecuentemente se emplean los comandos:
Write: (lista de variables)
disp(comentario)
Escribir (A,B,C)
Ejemplo: A=10
B=2
C=A-B^2
Escribir(El resultado es:,C)
Se ve en pantalla
El resultado es:
C=6
Asignacin
Es la instruccin empleada para que el computador coloque un dato en
una variable en un momento cualquiera del programa; es decir, es la
instruccin que indica el almacenamiento de un dato que se ha obtenido
de algn proceso del programa, como por ejemplo de una expresin.
La operacin de asignacin tiene la forma general:
Variable Expresin (o dato
cualquiera)
:=
A = x^2
x^2
A
Nota: Esta operacin coloca un dato en una variable y borra el dato anterior de la
variable; en otras palabras, almacena los nuevos valores y se pierden los valores viejos
que tena guardado la variable.
Acumulador
de incremento (o decremento)
de incremento (o decremento)
Inicializacin
S=0
J=Jincremento
Estructura
S=Sincremento
Ejemplos:
J=0
0, 1, 2, 3
J=J+1
Cantidad fija
S=S+V(i)
Cantidad variable
Estructuras de Decisin
Son acciones que afectan directamente el flujo del algoritmo (afectan el
orden secuencial en el cual se deben ejecutar los pasos).
Estas estructuras controlan la ejecucin o no ejecucin de una
o ms instrucciones dependiendo de una condicin impuesta.
Las estructuras de decisin permiten resolver problemas indicando al
computador que tome decisiones dependiendo del valor que arroje la
evaluacin de cierta(s) condicin(es) relacionales o lgica(s)
previamente establecidas.
Tipos de estructuras de decisin
Decisin
Simple
Decisin
Compuesta
Decisiones
Anidadas
Decisin Simple
Involucra una sola decisin que se toma mediante la evaluacin de una
expresin lgica (llamada condicin), y una sola respuesta posible que
depende de la condicin evaluada.
Si
No
Accin 1
Accin 2
Accin m
fin
accin m
end
accin m
Decisin Compuesta
Involucra una sola decisin que se toma mediante la evaluacin de una
expresin lgica (llamada condicin), y dos respuestas posibles que
dependeran de la condicin evaluada.
no
Tarea g1
Tarea g2
Expresin
si
Tarea f1
Tarea f2
Tarea fm
Tarea gk
Decisiones Anidadas
Accin g1
Accin g2
Expresin 3
No
No
Expresin 1
Si
Accin f1
Accin fm
Si
accin k1
Expresin 2
Si
No
accin kn
Expresin 4
No
accin h1
accin hr
Si
accin U
sino accin g1
accin g2
Si condicin 3 entonces accin k1
fin
fin
accin kn
(de la condicin 3)
(de la condicin 1)
Ejercicios Propuestos:
1. Escribir un algoritmo que dado dos nmeros determine si su producto
es positivo, nulo o negativo sin realizar el clculo del producto.
2. Escribir un algoritmo que dados cuatro nmeros diferentes los
ordene de mayor a menor.
3. Escribir un algoritmo que dados la edad, sexo y nmero de accidentes
de autos de un asegurado indique la rebaja que aplica una compaa de
seguros de autos. Si es mujer mayor de 30 aos y no ha tenido ningn
accidente el descuento es del 35%; si es hombre mayor de 40 aos y
no ha tenido ningn siniestro anterior el descuento es del 25%. Si no
ha tenido ningn accidente tiene un descuento del 10% sin importar
el sexo ni la edad.
4. Escribir un algoritmo que dados los valores de S1, S2, S3 genere tres
nuevos valores segn:
. Si el nmero es mayor que 0 entonces se debe guardar su raz
cuadrada .
. Si el nmero es menor que 0 entonces se debe guardar su cuadrado.
. Si el nmero es igual a 0 entonces se debe guardar su valor.
Estructuras de Repeticin
Las estructuras de repeticin permiten que el programa ejecute
ciertas tareas y que las repita durante un cierto tiempo. Tambin se
les conoce como ciclos.
Datos
iniciales
Accin 1
Estructuras
de
repeticin
Accin 2.1
Accin 2.2
Accin 2.3
Accin n
Datos
salida
Repeticin
Condicionada
Repeticin
Indizada
FOR
WHILE
REPEAT
Estructura de Repeticin
FOR
Esta estructura repite una o ms tareas durante un cierto nmero
de veces predeterminado.
Se caracteriza por usar un ndice que se encarga de contar las
veces que se repiten las acciones en el ciclo (lleva la cuenta de las
veces que se entra al ciclo)
Accin 1
Cicl
o
Accin m
Ejemplo 1:
V=[7, -4.5, 10, 2]
S=0
M=1
for i=1:4
S=S+V(i)
M=M*V(i)
end
Escribir(La suma es:,S)
Escribir(La multiplicacin es:,M)
Corrida en papel
V=[7, -4.5, 10, 2]
M=1
S=0
i=1
S=7
M=7
i=2
S=2.5
M=-31.5
La suma es:
S=14.5
La multiplicacin es:
M=-630
i=3
i=4
S=12.5
S=14.5
M=-630
M=-315
Ejercicios Propuestos:
1. Realizar un algoritmo para calcular la cantidad de molculas que hay en
una cierta cantidad de un compuesto.
Por ejemplo: Cuntas molculas hay en 315 gr de NaCl?
gr
gr
gr
gr
gr
NaCl
CaCl2
NaOH
Ca(OH)2
Na2CO3
Ejemplo 2:
Crear un algoritmo que dados una coleccin de datos determine cuntos
son positivos y los sume, cuntos son negativos y los sume, cuntos son
cero y muestre los resultados.
Datos: 2, 11, -8, 5, 25, -1, 7, 35, -3, -15,
35, 0
Ejemplo 3:
Crear un algoritmo para determinar cul es el nmero mayor de una
coleccin de datos numricos.
Ejemplo 4:
Crear un algoritmo para determinar cuntas veces se repite el nmero
mayor en una coleccin de datos numricos.
Ejemplo 5:
Crear un algoritmo para determinar si un nmero dado N es primo.
Estructura de Repeticin
Condicionada
Son estructuras o ciclos que repiten una
o ms acciones durante un
nmero de veces no predeterminado, necesitan una condicin que les
permita repetir las tareas sealas.
Estas estructuras funcionan indicndole al computador que debe repetir
ciertas tareas dependiendo del resultado de la evaluacin de una o ms
condicin(es) lgica(s) previamente establecidas, por eso se les conoce
como ciclos de repeticin condicionada.
Accin 1
Condicin
si
Accin m
no
La forma general de la estructura While es:
Mientras condicin repita
accin 1
accin 2
accin m
fin
While condicin
accin 1
accin 2
accin m
end
Nota:
Accin 1
Accin m
Condicin
si
no
Repeat
While
Accin 1
Accin 1
Accin m
Condicin
si
Condicin
no
no
si
Accin m
Repeat
accin 1
accin 2
accin m
until condicin
Nota:
La condicin funciona como un switch para salir del ciclo, las acciones
se ejecutan por lo menos una vez, ya que la condicin se chequea al
final; si se desea entrar de nuevo en el ciclo es necesario que la
condicin sea falsa.
Dentro del ciclo se debe colocar una asignacin (o accin) para que el
valor de la condicin cambie en algn momento, as se har verdadera y
se podr salir del mismo.
Si deseamos saber cuntas veces se ha repetido el ciclo necesitamos
colocarle un contador.
Estructura de Repeticin
Anidadas
Ejemplo 4:
En almacn se tienen 3760 tornillos, los cuales se usan para fabricar
sillas y mesas.
Se desea crear un algoritmo para determinar cuntas sillas y mesas
se pueden fabricar con la cantidad de tornillos que se tienen en
almacn, sabiendo que cada silla necesita 4 tornillos y cada mesa
necesita 7.
Ejemplo 5:
En el laboratorio de qumica se deben preparar soluciones de HCL a
diferentes concentraciones: 0.5N, 1N y 2.5N.
Para ello se cuenta con una solucin madre de 1000ml de
concentracin 5N.
Se desea crear un algoritmo que determine cuntas soluciones de
cada tipo se pueden hacer con la cantidad de solucin madre que se
tienen en el laboratorio.
Ejercicios:
1. Cmo sumar los datos de cada fila de una matriz, y almacenarlos en un
vector columna?
2. Cmo sumar los datos de cada columna de una matriz, y almacenarlos en un
vector fila?
3. Cmo determinar el mayor de los datos de una fila especfica de una matriz?
4. Cmo determinar el mayor de los datos de una columna especfica de una
matriz?
5. Cmo determinar en cul columna se encuentra el mayor de los datos de una
fila especfica de una matriz?
6. Cmo determinar en cul fila se encuentra el mayor de los datos de una
columna especfica de una matriz?
7. Sumar los datos en la diagonal de una matriz cuadrada.
8. Sumar los datos que se encuentran arriba de la diagonal de una matriz
cuadrada.
9. Sumar los datos que se encuentran debajo de la diagonal de una matriz
cuadrada.