Académique Documents
Professionnel Documents
Culture Documents
Docente:
Salinas
FUNDAMENTOS DE
PROGRAMACIN
Competencia Especfica de la
Asignatura
Aplica
algoritmos
y
lenguajes de programacin
para disear e implementar
soluciones a problemticas
del entorno.
UNIDAD I
DISEO DE
ALGORITMO
S
SUBTEMAS
1.1 Conceptos
Bsicos
1.2
Anlisis de problemas
y Representacin de
algoritmos: grfica y
pseudocdigo.
1.3 Diseo de
algoritmos aplicados
a problemas.
1.4 Diseo
algortmico de
funciones
Competencia especfica a
desarrollar
CRITERIOS DE EVALUACIN
Prcticas
30 %
Ejercicios
40 %
Resumen
20 %
Investigacin
10
%
BIBLIOGRAFA O REFERENCIAS DE
INTERNET
Luis Joyanes Aguilar
Fundamentos de
Programacin
Ed. Prentice Hall.
Jess J. Garca Molina
Introduccin a la
programacin un Enfoque
Algortmico
Ed. Paraninfo.
Documentaci
n
Prueba y
Depuraci
n
Anlisis
del
Problema
Diseo del
Algoritmo
Codificaci
n
2)
Informacin
3)
Tratamiento
de
Salida
deseada.
Para
ello
se
debe
responder a Qu se quiere obtener?
que ha de
realizarse con estos datos (mtodos y
formulas). En este caso, se necesita
responder a la pregunta Cmo se
Consideraciones
En el anlisis del problema
se requiere del mximo de
creatividad e imaginacin.
Debido a que se busca una
solucin se debe examinar
cuidadosamente el problema a
fin de identificar que tipo de
informacin
es
necesaria
producir. En seguida se deben
identificar aquellos elementos
de informacin ofrecidos por
el problema y que resulten
tiles para obtener la solucin
al problema
Preciso
Definid
o
Finito
Consideraciones en un Algoritmo
Grfic
os
Es la representacin
grfica
de
las
operaciones
que
realiza un algoritmo
(Diagrama de flujo).
No
grfic
os
Representa en forma
descriptiva
las
operaciones
que
debe
realizar
un
algoritmo.
(Pseudocdigo).
A) Diagrama de flujo
El Diagrama de Flujo es
una
representacin
grfica de la secuencia
de pasos que se realizan
para
obtener
un
resultado.
Un diagrama de flujo
muestra la lgica de un
algoritmo,
haciendo
nfasis en los pasos
individuales
y
sus
interrelaciones.
Reglas
Los Diagramas de flujo deben
escribirse de arriba hacia
abajo, y/o de izquierda a
derecha.
Los smbolos se unen con
lneas, las cuales tienen en la
punta una flecha que indica la
direccin
que
fluye
la
informacin
procesos,
se
deben de utilizar solamente
lneas de flujo horizontal o
verticales (nunca diagonales).
Todos los smbolos pueden tener
ms de una lnea de entrada, a
excepcin del smbolo final.
Smbolos
Inicio / Fin
Proceso
Decisi
n
Entrada y
salida de
datos
Impresin
Disco
Magntic
o
Conecto
r
Conect
or
Lneas de
conexin y
direccin del flujo
Ejemplo No. 1
Inicio
Realizar
el
diagrama
de
flujo de la suma
de dos nmeros.
Primer
Numero
Num2
Num1
Segundo
Numero
La suma
de los
nmeros
es, Suma
Fin
Ejemplo No. 2
Inicio
Realizar
un
diagrama
de
flujo
que
indique si un
alumno
est
aprobado
o
reprobado.
Calificaci
n
Cal
Cal>
70
Reprobad
o
V
Aprobado
Fin
B) Pseudocdigo
Es una de las maneras para
representar algoritmos usando la forma
narrada o descriptiva para cada uno de
los pasos del algoritmo.
Reglas
Todo pseudocdigo comienza
con la palabra Inicio y
termina con la palabra Fin.
Cada instruccin se
escribir en una lnea.
debe
Se
escribir
en
minscula,
excepto aquellos nombres que
elige el programador, como son
los nombres de variables, de
ficheros, de mdulos, etc., que
se escribirn con maysculas.
Cada estructura utilizada tendr
un solo punto de comienzo y un
solo punto de fin de estructura.
Algunos autores suelen utilizar
un corchete para unir el principio
y fin de cada estructura.
Ejemplo No. 1
Obtener la suma
de dos nmeros
enteros.
INICIO
Escribir Dame el primer nmero
Leer Num1
Escribir Dame el segundo
nmero
Leer Num2
Suma
Num1 + Num2
Escribir La suma de los dos
nmeros
es , Suma
FIN
Ejemplo No. 1
Calcular el rea
de un triangulo.
INICIO
Escribir Introduzca la base
Leer bas
Escribir Introduzca la altura
Leer alt
are
bas*alt / 2
Escribir El rea es , are
FIN
4.- Codificacin
La
codificacin
es
la
operacin
de
escribir
la
solucin del problema (de
acuerdo a la lgica del
diagrama
de
flujo
o
pseudocdigo), en una serie
de instrucciones detalladas, en
un cdigo reconocible por la
computadora, la serie de
instrucciones detalladas se le
conoce como cdigo fuente, el
cual se escribe en un lenguaje
de programacin o lenguaje de
alto nivel.
6.- Documentacin
Es la gua o comunicacin
escrita es sus variadas formas,
ya
sea
en
enunciados,
procedimientos,
dibujos
o
diagramas.
A menudo un programa escrito
por una persona, es usado por
otra. Por ello la documentacin
sirve
para
ayudar
a
comprender
o
usar
un
programa o para facilitar
futuras
modificaciones
(mantenimiento).
Interna
Externa
usuario
7.- Mantenimiento
Datos Lgicos
Permiten
representar
valores
escalares de
forma
numrica, esto
incluye a los
nmeros
enteros y los
reales. Este tipo
de datos
permiten
realizar
operaciones
aritmticas
comunes.
Son aquellos
que solo
pueden tener
dos valores
(cierto o falso)
ya que
representan el
resultado de
una
comparacin
entre otros
datos
(numricos o
alfanumricos).
Datos
Alfanumricos
Es una
secuencia de
caracteres
alfanumricos
que permiten
representar
valores
identificables
de forma
descriptiva,
esto incluye
nombres de
personas,
direcciones,
etc.
Expresiones
Las
expresiones
son
combinaciones
de
constantes,
variables,
smbolos de operacin,
parntesis y nombres de
funciones especiales. Por
ejemplo:
a+(b + 3)/c
Operadores y Operandos
Operadores:
Son elementos que relacionan de forma diferente, los valores
de una o ms variables y/o constantes. Es decir, los
operadores nos permiten manipular valores.
Aritmtico
s
Relacional
es
Lgicos
Tipos de
Operadores
Operadores Aritmticos
Los operadores
aritmticos permiten la
realizacin de
operaciones
matemticas con los
valores (variables y
constantes).
Los operadores
aritmticos pueden ser
utilizados con tipos de
datos enteros o reales.
Si ambos son enteros,
el resultado es entero;
si alguno de ellos es
real, el resultado es
real.
Operadores
Aritmticos
+ Suma
Resta
*
Multiplicacin
/
Divisin
Mod
Modulo
(residuo de la
divisin entera)
Tipos de
Operadores
Operadores Relacionales
Operadores Relacinales
Se
utilizan
para
establecer una relacin
entre dos valores.
Compara estos valores
entre
si
y
esta
comparacin
produce
un resultado de certeza
o falsedad (verdadero o
falso).
Los
operadores
relacinales comparan
valores del mismo tipo
(numricos o cadenas)
>
<
>
<
<
=
Mayor que
Menor que
= Mayor o igual que
= Menor o igual que
> Diferente
= Igual
Tipos de
Operadores
Operadores
Lgicos
Estos operadores
se utilizan para
establecer
relaciones entre
valores lgicos.
Estos valores
pueden ser
resultado de una
expresin
relacional.
Operadores
Lgicos
And
Or
Not
Y
O
Negacin
1.- ( )
2.- ^
3.- *, /, Mod, Not
4.- +, -, And
5.- >, <, > =, < =, < >, =, Or
Identificadores
Los
identificadores
representan los datos
de
un
programa
(constantes,
variables, tipos de
datos).
Un
identificador es una
secuencia
de
caracteres que sirve
para identificar una
posicin
en
la
memoria
de
la
computadora,
que
nos permite accesar
a su contenido.
(A
a
Z,
maysculas
o
minsculas)
y
no
deben
contener espacios en blanco.
2.- Letras, dgitos y caracteres
Regla
s:
Constantes
Variables
Es un espacio en la memoria de la
computadora
que
permite
almacenar
temporalmente
un
dato durante la ejecucin de un
proceso, su contenido puede
cambia durante la ejecucin del
programa. Para poder reconocer
una variable en la memoria de la
computadora, es necesario darle
un nombre con el cual podamos
identificarla
dentro
de
un
algoritmo.
Ejemplo:
area = pi *
radio ^ 2
Las variables
son : radio,
area y la
constate es pi
Variables
Por su
conteni
do
Numric
as
Lgica
s
Por su
uso
Alfanumri
cas String
De
Trabaj
o
Contado
res
Acumulad
ores
Por su contenido
Numricas
Lgicas
Alfanumricas
Son aquellas en
las
cuales
se
almacenan
valores
numricos,
positivos
o
negativos,
es
decir almacenan
nmeros del 0 al
9, signos (+ y -)
y
el
punto
decimal.
Ejemplo:
iva=0.15
pi=3.1416
costo=2500
Ejemplo:
letra=a
apellido=Lpez
direr=Av.
Libertad #190
Por su uso
Variables de
Trabajo
Variables que
reciben
el
resultado de
una operacin
matemtica
completa
y
que se usan
normalmente
dentro de un
programa.
Contadores
Acumuladores
Se
utilizan
para llevar el
control
del
nmero
de
ocasiones en
que se realiza
una operacin
o se cumple
una condicin.
Con
los
incrementos
generalmente
de uno en
uno.
Forma
que
toma
una
variable y que
sirve
para
llevar la suma
acumulativa
de una serie
de
valores
que se van
leyendo
o
calculando
progresivame
nte.
Estructuras Algortmicas
Estructuras
algortmica
s
Secuencial
es
Asignaci
n
Entrada
Cclic
as
Condicion
ales
Salida
Simpl
es
Mltiples
Hacer
para
Hacer
Mientras
Repetir
Hasta
Estructuras Secuenciales
La estructura secuencial es aquella en la que una accin
(instruccin) sigue a otra en secuencia. Las tareas se suceden
de tal modo que la salida de una es la entrada de la siguiente
y as sucesivamente hasta el fin del proceso. Una estructura
secuencial se representa de la siguiente forma:
Inicio
Accion1
Accion2
.
.
AccionN
Fin
Asignacin
La asignacin consiste, en el paso de valores o resultados a
una zona de la memoria. Dicha zona ser reconocida con el
nombre de la variable que recibe el valor. La asignacin se puede
clasificar de la siguiente forma:
Simples: Consiste en pasar un valor constate a una variable
(a=15).
Contador: Consiste en usarla como un verificador del numero de
veces que se realiza un proceso (a=a+1)
Acumulador: Consiste en usarla como un sumador en un proceso
(a=a+b).
De trabajo: Donde puede recibir el resultado de una operacin
matemtica que involucre muchas variables (a=c+b*2/4).
Lectura
Leer a, b
Escritura
Estructuras Condicionales
Las estructuras condicionales comparan una variable contra
otro(s) valor(es), para que en base al resultado de esta
comparacin, se siga un curso de accin dentro del programa.
Cabe mencionar que la comparacin se puede hacer contra otra
variable o contra una constante, segn se necesite.
Existen dos tipos bsicos, las simples y las mltiples.
Estructuras Cclicas
Se llaman problemas repetitivos o cclicos a aquellos en cuya
solucin es necesario utilizar un mismo conjunto de acciones que
se puedan ejecutar una cantidad especifica de veces. Esta
cantidad puede ser fija (previamente determinada por el
programador) o puede ser variable (estar en funcin de algn
dato dentro del programa).
Ciclos con un Nmero Determinado de Iteraciones (HacerPara)
Estructuras Cclicas
Hacer-Mientras: Esta es una estructura que repetir un
proceso durante N veces, donde N puede ser fijo o variable.
Para esto, la instruccin se vale de una condicin que es la que
debe cumplirse para que se siga ejecutando. Cuando la condicin
ya no se cumple, entonces ya no se ejecuta el proceso.