Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fundamentos de
Programacin
FUNDAMENTOS DE ALGORITMOS
Descripcin
Representacin
FUNDAMENTOS DE ALGORITMOS
FUNDAMENTOS DE ALGORITMOS
Descripcin
Procedimiento
De
decisin
SI
NO
HAY
SOLUCIN
FUNDAMENTOS DE ALGORITMOS
FUNDAMENTOS DE ALGORITMOS
S0
CONTROL
FINITO
S7
S14
S4
S2
FUNDAMENTOS DE ALGORITMOS
FUNDAMENTOS DE ALGORITMOS
1. Definicin o anlisis del
problema: Descripcin
especfica y comprensible
del problema a resolver
2. Diseo del algoritmo:
Planteamiento de los
pasos a seguir para
resolver el problema
3. Transformacin del
algoritmo en un programa
independientemente del
lenguaje de programacin.
4. Ejecucin y validacin del
programa
5. Mejoras y correcciones al
programa
FUNDAMENTOS DE ALGORITMOS
FUNDAMENTOS DE ALGORITMOS
FUNDAMENTOS DE ALGORITMOS
FUNDAMENTOS DE ALGORITMOS
Declaracin de Constantes: En este punto se
declararn todas las constantes de carcter estndar;
es decir, que tengan nombre y un valor ya conocido o
valores que ya no pueden variar en el transcurso del
algoritmo
Cuerpo del algoritmo: Una vez aadidas la cabecera
y la declaracin de variables y constantes se procede
a realizar los pasos del algoritmo
A continuacin se muestra un ejemplo:
FUNDAMENTOS DE ALGORITMOS
Algoritmo rea_Crculo
{Clculo del rea de un circulo pidiendo
el radio al usuario}
var r, A: real
cte: :real
Inicio
Mostrar Dame el radio
Leer r
A <- *r^2
Mostrar El rea es:, A
Fin
Cabecera
Declaracin de variables y
constantes
FUNDAMENTOS DE ALGORITMOS
Inicio
var r, A: real
cte: :real
A <- *r^2
Dame el
radio:
El rea es , A,
u^2
Fin
FUNDAMENTOS DE ALGORITMOS
Instrucciones
que se le dan a la
Computadora
Un algoritmo se compone de muchos pasos,
todos diferentes, los que son interpretados
como instrucciones (lenguaje de bajo nivel),
sentencias o proposiciones (lenguaje de alto
nivel). Entonces, en un programa, la
secuencia de instrucciones especifica las
operaciones que la computadora debe
realizar.
FUNDAMENTOS DE ALGORITMOS
FUNDAMENTOS DE ALGORITMOS
CONSTANTES Y VARIABLES
Las constantes son datos cuyos valores no cambian,
pero existen datos cuyos valores s varan durante la
ejecucin del programa, a stos los llamamos variables.
En la mayora de los lenguajes de programacin se
permiten diferentes tipos de constantes: enteras, reales,
caracteres y boolean o lgicas, quienes representan
datos de estos tipos.
Entonces una variable se conoce como un objeto, o
partida de datos cuyo valor puede cambiar durante la
ejecucin del algoritmo o programa.
A las variables y a las constantes se les conoce o
identifica por los atributos siguientes: nombre o
identificador que lo asigna y tipo que describe el uso de
la variable.
FUNDAMENTOS DE ALGORITMOS
Identificadores:
FUNDAMENTOS DE ALGORITMOS
OPERACION DE ASIGNACION
Se le otorgan valores a una variable. Esta operacin
de asignacin se conoce como instruccin o
sentencia de asignacin, si es que est en un
lenguaje de programacin
La operacin de asignacin es representada por un
smbolo u operador:
La accin de asignar puede ser destructiva ya que
puede perderse el valor que tuviera la variable antes,
siendo reemplazado por el nuevo valor. Las acciones
de asignacin se clasifican segn sea el tipo de
expresiones en: Asignacin aritmticas,
Asignacin lgica y Asignacin de caracteres
FUNDAMENTOS DE ALGORITMOS
EXPRESIONES
Son la combinacin de constantes, variables, smbolos de
operacin, parntesis y nombres de funciones especiales,
idea que puede ser utilizada en notaciones de matemtica
tradicional. Los valores de las variables nos permitirn
determinar el valor de las expresiones, debido a que
stos estn implicados en la ejecucin de las operaciones
indicadas. Estas constan de operandos y operadores.
Segn el tipo de objetos que manipulan, pueden
clasificarse en:
FUNDAMENTOS DE ALGORITMOS
Expresiones Aritmticas
Estas expresiones son anlogas a las frmulas
matemticas. Las variables y constantes son
numricas (real o entera) y las operaciones son las
aritmticas
Operadores aritmticos
Precedencia
- (operador monario)
^ (exponenciacin), (radicacin)
*, / (divisin real),
+, div o / (cociente de divisin entera) , mod o %
(residuo de divisin entera)
FUNDAMENTOS DE ALGORITMOS
FUNDAMENTOS DE ALGORITMOS
Operadores
lgicos
A NOT
Precedencia
!
o ~ o not (negado)
and o && (conjuncin)
or o || (disyuncin)
Nota: En C un valor
falso se toma como 0 y
un valor verdadero se
toma como cualquier
valor diferente de cero
AND
OR
FUNDAMENTOS DE ALGORITMOS
INTRODUCCION A LA
PROGRAMACION ESTRUCTURADA
El
PROGRAMACION MODULAR
PROGRAMACION MODULAR
PROGRAMACION MODULAR
PROGRAMACION ESTRUCTURADA
PROGRAMACION ESTRUCTURADA
Los recursos abstractos son utilizados como un
apoyo en la programacin estructurada, en vez
de los recursos concretos de los que se dispone
(lenguaje de programacin determinado).
Para separar un programa en trminos de
recursos abstractos debemos descomponer
acciones complejas en acciones ms simples,
las que son capaces de ejecutar o constituyen
instrucciones de computadora disponible.
PROGRAMACION ESTRUCTURADA
Diseo descendente (Top-Down)
Este es un proceso en el cual el problema se
descompone en una serie de niveles o pasos
sucesivos (stepwise). Esta metodologa consiste
en crear una relacin entre las etapas de
estructuracin, las que son sucesivas, de tal
forma que se interrelacionen mediante entradas
y salidas de informacin. Considerando los
problemas desde dos puntos de vista: que
hace? y cmo lo hace?
PROGRAMACION ESTRUCTURADA
FUNDAMENTOS DE ALGORITMOS
Estructuras bsicas de control
En un programa estructurado, el flujo lgico se
gobierna por las estructuras de control bsicas:
Secuenciales
Selectivas o de seleccin
Repetitivas
PROGRAMACION ESTRUCTURADA
ESTRUCTURA SECUENCIAL
Es la estructura en donde una accin (instruccin) sigue
a otra de manera secuencial.
Las tareas se dan de tal forma que la salida de una es la
entrada de la que sigue y as en lo sucesivo hasta
cumplir con todo el proceso.
PROGRAMACION ESTRUCTURADA
ESTRUCTURA DE DECISIN
Decisin: Elegir una alternativa o camino en el flujo del
algoritmo cuando se cumpla o no una determinada
condicin.
El resultado de la condicin se evala como falso o
verdadero y se obtiene al comparar dos expresiones
mediante operadores relacionales. De ser necesario
realizar ms de una comparacin al mismo tiempo se
asocian con operadores lgicos
de control
PROGRAMACION ESTRUCTURADA
Estructuras
de control
Decisiones (cont.)
En algunas ocasiones para realizar
las comparaciones tambin se
hace uso de una variable
booleana o bandera (flag). Una
bandera es una variable que slo
puede tener dos valores: falso o
verdadero
PROGRAMACION ESTRUCTURADA
Estructuras de control
Ciclo, loop, lazo o bucle: Repetir un conjunto de
instrucciones varias veces con base en que se cumpla o no
una determinada condicin.
A cada ejecucin del conjunto de instrucciones en un ciclo se
le llama iteracin
PROGRAMACION ESTRUCTURADA
Tipos
de ciclos:
PROGRAMACION ESTRUCTURADA
Contador:
PROGRAMACION ESTRUCTURADA
Decisiones
anidadas
Cuando se tiene una serie de
estructuras de control de la forma
PROGRAMACION ESTRUCTURADA
si
condicin1 entonces
si condicin2 entonces
si
condicinN entonces
sino
fin_si
sino
fin_si
sino
fin_si
PROGRAMACION ESTRUCTURADA
Decisin
mltiple o alternativa
selectiva mltiple (segn_sea, caso
de/case)
Cuando una variable puede tomar
varios valores, generalmente de tipo
entero o caracter, se puede hacer uso
de la decisin anidada para evaluar
los distintos casos, sin embargo, se
puede simplificar al poner una
estructura del tipo
PROGRAMACION ESTRUCTURADA
PROGRAMACION ESTRUCTURADA
Arreglos
Un arreglo es un conjunto ordenado de variables del
mismo tipo que se encuentran reunidas bajo un mismo
nombre
La forma de declarar un arreglo en trminos de
algoritmos es
10
14
-10
abs(x)
x
ex
ln x
log10 x
sen x
cos x
sqrt(x)
senh x
cosh x
sinh(x)
tanh x
cosh(x)
exp(x)
senh1 x
tanh(x)
log(x)
cosh 1 x
asinh(x)
log10(x)
tanh 1 x
acosh(s)
sin(x)
tan x
cos(x)
sen1 x
tan(x)
cos1 x
asin(x)
tan 1 x
acos(s)
atanh(x)
y asignacin de cadenas
En general, las cadenas son un tipo de
variable, sin embargo, depende del lenguaje
de programacin la forma en que se
declaren y se asignen
En lenguaje algortmico simplemente
podemos declararlas as:
var nombre_cadena: cadena
var nombre_cadena: string
de cadenas
La concatenacin es una operacin especial
que consiste en la yuxtaposicin de 2 o ms
cadenas. En lenguaje algortmico la
podemos representar como:
var cadena1, cadena2, cadena3: cadena
cadena1 <- hola qu
cadena2 <- tal
cadena3 <- cadena1 + cadena2
print$ cadena3
{Muestra en pantalla hola qu tal}
que la concatenacin no es
conmutativa
de cadenas y ordenamiento
Se pueden comparar cadenas
lexicogrficamente y determinar si son
iguales o no lo son,
si cadena2 = cadena1
print$ Las cadenas son iguales
sino
print$ Las cadenas no son iguales.
de una subcadena
Otra de las operaciones ms comunes con
cadenas es la obtencin de una subcadena
a partir de un caracter, por ejemplo:
var cadena1, cadena2: cadena
cadena1 <- hola qu tal
cadena2 <- substr$ cadena1, q
print$ cadena2
{Muestra en pantalla la subcadena qu
tal}
Bsqueda de subcadenas
Una operacin frecuente es tratar de localizar si una
cadena forma parte de una cadena ms grande o
buscar la posicin en que aparece determinado
caracter o secuencia de caracteres de texto
var cadena1: cadena
var posicion:entero
cadena1 <- hola qu tal
posicion <- instr$ cadena1, la
print posicion
{Muestra en pantalla 2}
de cadenas a nmeros
de nmeros a cadenas