Академический Документы
Профессиональный Документы
Культура Документы
Diagramacin y programacin
algortmica
Que es un paradigma?
Paradigma es un modelo o patrn en
cualquier disciplina cientfica.
- Funcional: est representado por Scheme o Haskell. Esta basado en la utilizacin de funciones aritmticas que
no maneja datos mutables o de estado.
- Lgico: est representado por Prolog. La programacin lgica encuentra su hbitat natural en aplicaciones de
inteligencia artificial o relacionadas: sistema experto|Sistemas expertos, donde un sistema de informacin imita
las recomendaciones de un experto sobre algn dominio de conocimiento.
Orientado a objetos: est representado por Smalltalk, un lenguaje completamente orientado a objetos. La
programacin orientada a objetos es un paradigma que utiliza objetos como elementos fundamentales en la
construccin de la solucin. Un objeto es una abstraccin de algn hecho o ente del mundo real que tiene
atributos que representan sus caractersticas o propiedades y mtodos que representan su comportamiento o
acciones que realizan. Ej: C++ , Visual Basic, Fortran, Java
Que es un programa de computador?
1 Anlisis del problema Conducen al diseo detallado por medio un pseudocdigo escrito en forma de un algoritmo y
creacin de un diagrama de flujo
2 Diseo de algoritmo y
diagramacin
A continuacin en la figura podemos observar las etapas que debemos seguir para la
solucin de un problema
Problema
1. Inicio
2. Declaracin de variables:
cve, ht: entero
pht, sueldo: real (flotante)
3. Leer cve, ht, pht
4. sueldo = ht * pht
5. Imprimir cve, sueldo
6. Fin
Ejemplo No 2
1. Inicio
2. Declaracin de variables:
PI = 3.145926536: real (flotante)
rad, grad, numrad, numgrad: real (flotante)
3. Leer rad, grad
4. numgrad = rad * (180 / PI)
5. numrad = grad * (PI / 180)
6. Imprimir numgrad, numrad
7. Fin
Ejemplo No 3
1. Inicio
2. Declaracin de variables
matest: entero
cal1, cal2, cal3, cal4, calfin: real (flotante)
3. Leer matest, cal1, cal2, cal3, cal4
4. calfin = (cal1 + cal2 + cal3 + cal4) / 4
5. Imprimir matest, calfin
6. Fin
Diagramas de flujo
Debemos recordar que un diagrama de flujo debe
ilustrar grficamente los pasos o procesos a seguir
para alcanzar la solucin de un problema.
inicio
cve, ht
pht
sueldo = ht * pht
cve fin
sueldo
Diagrama de flujo Ejemplo 2
inicio
rad
grad
numgrad
numrad = grad * (PI / 180) fin
numrad
Diagrama de flujo Ejemplo 3
inicio
matest, cal1
cal2, cal3
cal4
matest fin
calfin
Ejemplo 4
Crear un algoritmo y un Diagrama de flujo
que encuentra la suma de los primeros N
nmeros naturales
Algoritmo 4: Suma de los primeros N nmeros naturales
1. Inicio
2. Declaracin de variables
N, i, suma: entero
3. Leer N
4. suma=0
5. i=1
6. Si i>N al paso 8
7. Si no suma= suma +i
i=i+1 pasar al paso 6
8. Imprima suma
9. fin
Inicio
suma=0
i=1
Si
i>N
No suma
suma=suma + i
i = i +1
Fin
Ejemplo 5
Crear un algoritmo y un Diagrama de flujo
que permita escribir los 100 primeros
pares
Algoritmo 5: Escribe los 100 primeros pares
1. Inicio
2. Declaracin de variables
N, p: entero
3. N=100
p=0
4. Si N>0
imprima p
p=p+2
N=N-1 pasar al paso 4
5. Si no pasar al siguiente
6. fin
INICIO
N=100
p= 0
No
N>=0
Fin
Si
p=p + 2
N=N - 1
Ejemplo 6
Crear un algoritmo y un Diagrama de flujo
que pida 3 nmeros y diga cual es el
mayor
Algoritmo 6: Determina cual es el mayor de 3 nmeros
1. Inicio
2. Declaracin de variables
a,b,c,mayor: entero
3. Leer a,b,c
4. mayor=a
5. Si mayor>b
Si mayor>c
6. imprima a es el mayor pasar 11
7. Si no imprima c es el mayor pasar 11
8. Si no haga mayor=b
9. Si mayor>c
imprima b es el mayor pasar 11
10.Si no imprima c es el mayor pasa11 11. fin
Encuentra el mayor de N nmeros
Ejemplo 7
1. Inicio
2. Declaracin de variables
N,a,b,c: entero
3. Leer N
4. Si N<=2
5. imprimir 1 pasar al paso 10
6. Si no
a=1
b=1
7. c=a+b
a=b
b=c
N=N-1
8. Si N=2 imprimir b pasar al paso 10
9. Si no pasar al paso 7
10. fin
Inicio
Si No
N<=2 a=1
b=1
c=a+b
a=b
b=c
N=N-1
1 Si No
b N=2
Fin
Ejemplo 8
Hacer un algoritmo y un diagrama de flujo
que lea N nmeros y escriba la suma de
los pares y el producto de los impares
Algoritmo 8:Determina la suma de pares y producto de impares de N
nmeros
1. Inicio
2. Declaracin de variables
N,sp,pi, A: entero
3. Leer N
4. sp=0
5. pi=1
6 leer A
sp=0
pi=1
A
Si No
RESTODE A/2=0
sp=sp+A pi=pi*A
N=N-1
No
N=0
Si
sp,pi
Fin
Ejemplo 9
Hacer un algoritmo y un diagrama de flujo
para calcular AB , siendo B un entero,
ntese que B puede ser cero o negativo.
No se puede emplear logaritmos. No se
debe usar el smbolo de potenciacin.
Algoritmo 9: Calcular AB
1. Inicio
2. Declaracin de variables
A,B,p: entero
3. Leer A,B
4. p=1
5. Si B=0 pasar 12
6. Si no
Si B>0 pasar a 8
7. Si no
A=1/A
B=-B
8. p=p*A
9. B=B-1
10. Si B=0 pasar 12
11 Si no pasar 8
12.imprimir p
13. fin
Inicio
A,B
p=1
B=0
No Si
B>0
No Si
A=1/A
B=-B
p=p*A
B=B-1
No B=0
Si
p
Fin
Ejemplo 10
Hacer un algoritmo y un diagrama de flujo
para calcular el factorial de N
(N!=1*2*3*.*N)
Algoritmo 10: Calcular Factorial de N
1. Inicio
2. Declaracin de variables
N,p: entero
3. Leer N
4. p=1
5. Si N>1
p=p*N
N=N-1 pasar al paso 5
6. Si no imprimir p
13. fin
DIA y DFD
Explicar software para crear diagramas de
flujo y correr algoritmos
Arreglos: Vectores y Matrices
Por medio de
instrucciones
para anidadas
se introducen los
elementos de la
matriz
Para genera las n
filas
Acumulador a cero
Guarda en el
vector vf(i) la
suma de cada fila
Para que genera los
valores del vector vf(i)
y los presenta por
pantalla
Ejercicio
Introducir una matriz nxm por columnas,
luego sumar todos los elementos de cada
fila y guardarlos en un vector vf, luego
sumar las columnas y guardar los en un
vector vc. Presentar estos dos vectores
por pantalla con mensajes que digan el
campo del vector y el valor alojado en
dicho campo
Esta matriz lee los
elementos por columnas
Suma cada elemento de la
fila y lo guarda en un vecto
Vf
Suma cada elemento de la
columna y lo guarda en un
vector VC
Salida de los vectores
Vf(i) y Vc(j)
Ejercicio
Generar una matriz m nxn donde los
elementos de la diagonal principal sean 5
y el resto de elementos sean 2, presentar
la matriz m por pantalla.
Ejercicio
Autogenera una matriz nxn que los
elementos de la diagonal principal sean
ceros, los elementos de la diagonal
secundaria sean unos y el resto de
elementos sean 2, presentar por pantalla
la matriz por columnas
INTRODUCCIN AL SCILAB
11 12 13 14 15
21 22 23 24 25
31 32 33 34 35
Elimina el elemento 2 de x
Elimina la columna 2 de a
FUNCIONES ELEMENTALES
Diagonal de c
como vector
columna
MAS FUNCIONES
X1=inv(A)* b o X2=A\b
Para graficar una funcin basta con construir un vector con valores de X
en un intervalo [a,b] y otro vector con los valores de la funcin Y evaluada
en los puntos del primer vector
La forma general para graficar es:
a=-2 ; b=3;
X=a:0.01:b;
Y=sin(X);
plot2d(X,Y) o plot(X,Y)
Grfica poligonal no suave
El comando clf() , borra la grfica anterior
para que no queden superpuestas
Etiquetas en las grficas
Si digitamos la siguiente lnea en SCILAB
function result=nombrefuncion(par1,par2,)
endfunction
result es parmetro de salida
par1 son parmetros de entrada
Cuando la funcin tiene varias salidas, el esquema es:
if condicin then
.. Si cumple la condicin hace lo que esta dentro
del if
El then se puede omitir por cambio de lnea
end
if condicin then
.. Si cumple la condicin hace lo que esta
dentro del if y antes de else
else
while condicin
..
.
end
select variable
case valor1 then
case valor2 then
case valor3 then
..
else
end
Ordenes input y disp
La orden input me permite entrar el valor de una variable y a su vez enviar mensajes
al usuario, el formato general de la instruccin es:
La orden disp me permite presentar por pantalla el valor de una variable y a su vez
enviar mensajes al usuario, el formato general de la instruccin es:
inicio
cve, ht
pht
sueldo = ht * pht
cve fin
sueldo
Diagrama de flujo Ejemplo 2
inicio
rad
grad
numgrad
numrad = grad * (PI / 180) fin
numrad
Diagrama de flujo Ejemplo 3
inicio
matest, cal1
cal2, cal3
cal4
matest fin
calfin
Ejemplo 4 la suma de los primeros N nmeros naturales
EJEMPLO 5
Crear un algoritmo y un Diagrama
de flujo que permita escribir los
100 primeros pares
Ejemplo 6
Crear un algoritmo y un Diagrama
de flujo que pida 3 nmeros y diga
cual es el mayor
Encuentra el mayor de N nmeros
EJEMPLO 7 Inicio
N
La sucesin de Fibonacci se
define de la siguiente forma:
a1=1 a2=1 a3=2 a4=3 Si No
an=an-1 + an-2 N<=2 a=1
Para n>2, es decir, los dos
primeros son 1 y el resto b=1
cada uno es la suma de los
dos anteriores, los primeros c=a+b
son: 1, 1, 2, 3, 5, 8, 13, 21,
. Hacer un algoritmo y un a=b
diagrama de flujo para
calcular el N-simo b=c
trmino de la sucesin.
N=N-1
1 Si No
b N=2
Fin
Hacer un algoritmo y un diagrama de flujo
para calcular el factorial de N (N!=1*2*3*.*N)
Inicio
Hacer un algoritmo y un diagrama
N
de flujo que lea N
nmeros y escriba la suma de los sp=0
pares y el producto de los impares
pi=1
A
Si No
A MOD 2=0
sp=sp+A pi=pi*A
N=N-1
No
N=0
Si
sp,pi
Fin