Professional Documents
Culture Documents
INGENIERIA CIVIL
SEMESTRE IV
PROGRAMACIN DIGITAL
NOMBRE Y APELLIDOS: .
LENGUAJE DE PROGRAMACION
Es un conjunto de smbolos que entienden tanto el programador como el
computador. Todo lenguaje tiene sus reglas de sintaxis.
PROGRAMA:
Es un conjunto de instrucciones (ordenes dadas a la computadora) que producirn
la ejecucin de una determinada tarea. En esencia un programa es un medio para
conseguir un fin.
ALGORITMOS
1. DEFINICIN:
Los algoritmos constituyen un listado de instrucciones que indican el cambio
a seguir para dar solucin a un problema planteado.
ALGORITMO= LOGICO + CONTROL
Lgico: Especifica el conocimiento en la solucin del problema
Control: Estrategia para solucionar el problema
La solucin de problemas por medio de la computadora requiere el uso de
un lenguaje para comunicarnos con ella. Una solucin puede lograrse con
la tcnica de pseudo codificacin, es decir la confeccin de programas
escritos en nuestro propio lenguaje.
El programa producido con pseudocdigo se conoce como pseudo
programa.
El programador disea un programa, para resolver un problema particular.
Disear es un proceso creativo.
El proceso de diseo de un programa consta de los siguientes pasos o
etapas:
2. PASOS
PASOS
ETAPA
DESCRIPCIN
Diseo de algoritmo
Codificacin
Compilacin y ejecucin
Verificacin
Depuracin
Documentacin
Concepto
Tipos:
Mtodo
Algortmico
Descripcin
Utiliza un algoritmo y puede ser
implementado en una computadora
Ejemplos
Instrucciones para manejar un
vehculo
Instrucciones para secar grano
a granel
Instrucciones para resolver
ecuacin de segundo grado
Heurstica:
Ejemplos
Los algoritmos se
pueden expresar
por:
Formulas
Diagramas de flujo
Norte-Sur,Top-Down
Pseudo cdigo
inicio
leer a,b,c
calcular
escribir permetro
fin
3. TRATAMIENTO DE DATOS:
a) Constantes y variables:
Constantes:
Una constante es un valor que permanece invariable durante todo el
procesamiento.
a.1. Constantes numricas:
Una constante numrica est formada por una serie de dgitos que
pueden estar precedido por un signo mas (+) o (-) y pueden contener
un punto decimal
Ejemplo:
a) 1458
b) +596
c) -8032
d) -102.6
e) 4.316E+ 5
f) -126.7E+3
g) -205.04 E-3
Observacin:
E especifica la base 10 elevada a la potencia indicada y se lee 4.316
e+5 se lee 4.316 por 10 a la quinta
a.2 Constantes alfanumricas
Una constante alfanumrica esta formada por una serie de
caracteres y se conoce con el nombre de cadena de caracteres.
Ejemplo:
J = LI
N = TECNOLOGICO
J1= MARIA Y JOSE
Z= L125
a. Variables
Una variable viene hacer un nombre simblico que representa una
localidad en memoria para almacenar un valor el mismo que puede
variar durante el proceso
Ejemplo:
a) X b) Y c) XY d) NOM e) X1 f) XYZM g)X4 h) AREA
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
b. Normas de Trabajo
a) El primer carcter tiene que ser una letra.
b) El segundo carcter puede ser letra o digito (opcional)
c)
E = A + D + B = VALENCIA BARCELONA
F = A + + B = VALENCIA BARCELONA
4. TIPOS DE OPERADORES
a) Operadores aritmticos
Operador
^
/
*
+
-
Descripcin
Exponente
Divisin
Multiplicacin
Suma
Resta
b) Operadores de Relacin
Operador
<
>
=
<=
>=
<>
Descripcin
Menor
Mayor
Igual
Menor igual que
Mayor igual que
Diferente
c) Operadores lgicos
Operador
And
Or
Not
Descripcin
Y
O
No
Nota: El computador evala los valores que se encuentra ala derecha del
signo y el resultado lo almacena en la variable que esta al lado izquierdo.
EJEMPLOS:
Se suelen mezclar libremente los tipos en una expresin, excepto que las
cadenas no pueden formar parte de las expresiones entera, reales o
booleanas (lgicas). Las cadenas slo pueden aparecer en las expresiones
de cadena o de relacin.
CORRECTO
INCORRECTO
4.23*(A + B)
A=B
A = B&
579* ( F + G)
579 + hola @
B = 5699 + (D +C)
_B = &7D+ JOSE
Z = A + B + C+ D
&Z = 9 + D + bb
H = MARIA + J
H = MARIA + 1256
G = MM + kl
G = MM + 1455
K = ag&9
K= ksll + 900
L= sui90
Prioridad
Operador
Significado
Parntesis
1
2
3
4
4
4
4
()
^ **
*
/
+
Signo+, signo -
Mxima prioridad
Exponenciacin
Multiplicacin
Divisin
Suma
Resta
Signo de los
nmeros
5
5
5
5
5
=
<>
<
>
<=
Igual que
Distinto
Menor que
Mayor que
Menor o igual
>=
Mayor o igual
Not
7
8
9
And
Or
Xor
Complemento
lgico
AND (Y) lgico
Or (o) lgico
Operadores
aritmticos
Operadores de
relacin
Operadores lgicos
Ejemplos
Z = (A / B) + C ^(2 / 3)
b)
Z = (A ^ 2) /( C ^ (4 / 3 ))
c)
Z =A ^ ( B ^ (2 / 3) )
d)
Z= (A/(X+ Y)) C ^( 2 / 3)
e)
K= Z*V-B+H*(X/Y)*4
f)
g)
h)
i)
j)
k)
Z= (A / (X+ Y) ^(3/8)) C ^( 2 / 3)
l)
m)
X = ( Y )3
Z2
b) X = ( YZ1/2 )3/4
F+H
E1/3__
1+( E )2/3
C4
f) G = X+Y/Z_
X-Y(Z) 2
c) X = A +
d) A = X+1
Y
e) D = (X+Y)3 + (X + Y)C
X-Y
g) A =
h) E = (A+B) C
D
i) F =
k) H = (X+Y)2 .(A-B)
l) I =
n) K = XY_
1-4ZX
) Q = (X+Y)2 + (X+Z)C+2
j)
B
(C+D)2
G = XY
MN
m)
J = ((A+B)2)2
o)
J = ((A+B)5)c+1
p) K = X+Y
1- (X- H)5
XY_
1-4ZY
B__
(C+D)
q) R = (X+Y)8 + (X+Z)C+ Y
Z =A/ B
Hallar A
b)
Z = C/(A+M)
Hallar M
c) A ( B / 3 )= (D + P)
Hallar D
d)
X = (6xZ + Jx9)/(A + B)
Hallar A
e)
K= Z ( B + C) x N
Hallar N
f)
X= P + Q x (B+H) x (J + B)
Hallar J
g)
T= U + Z x (X+Y) x (F + J)
Hallar F
PRACTICA N 01
1. Exprese en trminos matemtica, las siguientes expresiones:
a)
Z = (A / D) + C ^ (2 / 3)
b)Z = (A ^ 9)/ (C ^ (4 / 3 ))
c) Z =H^ ( F ^ (2/3))
10
d)
Z= (B/(X+ A)) C ^ (2 / 3)
e)
K= (Z*V)-B+M*(A/B)*4
f)
g)
n)
o)
p)
q)
r)
s)
t)
u)
X= (A^(B(C-1))) -C
K = ( Y )7
N2
b) X = ( M3/2 )3/5
F+B
E1/3__
1+( E )2/3
C4
2
e) D = (A+B)3 + (X + Y)C f) G = A+Y/Z_
M-N
M-Y(Z) 2
d) A = B+1
M
g) A =
j)
3.
M
(C+K)2
h) E = (A+M) C
J
J = ((A+L)2)5
o)
J = ((A+B)5)c+1
i) F =
k) H = (X+Y) 2 .(P-Q)
G = XMN
MP
m)
c) X = A +
n) K = XK_
1-4ZM
p) K = M+Y
1- (X- H)5
l) I =
KM_
1-4ZY
B__
(M+N)
) Q = (A+B)2 + (M+Z)C+2
q) R = (X+Y)8 +(M+Z)C+ Y
b) ABC = 45
c) Z1C= 32.4
d) X+4=A+B
e) %AC = A+4
f) AAA1 = A4
g) A3 = A1+A2
h) C4 = D2+9
i) B4 = B4+2
j) C_A= M4_+_1
k) J = J + 2
l) I = J+1000
11
m) L = JUAN
n) A= JUAN +1
o) A = C
p) M = N
a) T= U + Z (X+Y) (F + J)
Hallar F
b) N= B/M
Hallar B
c) J= (B+M)/(H+D)
Hallar M
d) D = (M+D)/((K+N)L)
Hallar L
e) H =(M + J)/(L Z)
Hallar Z
X2 = ( Z + A )
Hallar X
g) X + 2 =8+2X
Hallar X
h) X +3 = 6X + 18
Hallar X
i)
(5A B ) C = 6K+ Z
Hallar Z
j)
B(3C + 9) 7B = 15B
Hallar C
f)
k) C(2M 4M) + 5C
Hallar C
l)
Hallar T
J+6-T = 5T +8
m) M2 + 9N+5P= 5M2- 5N
Hallar M
n) Q2 + 9Y+5P= 9Q2- 5Y
Hallar Q
DIAGRAMAS DE FLUJOS
Es la representacin grafica de un flujo lgico que se ha de emplear para
resolver un problema empleando smbolos que representan cada una de las
operaciones de entrada, proceso y salida de datos.
12
Decisin
Esta figura en forma de diamante o rombo indica una decisin generalmente
plantea una interrogante) las lneas que salen de las figuras se identifican con
los resultados de la decisin as como una lnea ser verdadera (V o si) y la
otra ser falsa (F o no)
Proceso
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
13
Conector
Esta figura en forma de circulo pequeo se utiliza para conectar entre si dos o
mas puntos relaciones del diagrama de flujo llevan una letra en el interior a fin
de identificar cuales son los bloques del diagrama de flujo, con los cuales estn
conectados.
Flechas
Estas flechas indican la Direccin del flujo de control, en la secuencia del
programa descrito generalmente se adopta que la direccin del flujo deber ser
de arriba hacia abajo y de izquierda a derecha.
Subprograma
Un subprograma realiza una tarea especfica. Puede recibir cero o ms valores
del programa o subprograma y puede devolver cero o mas valores al programa
o subprograma que lo llamo.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
14
EJEMPLO
Disear una solucin para resolver el siguiente problema y trate de refinar
su solucin mediante un diagrama de flujo:
SOLUCION
Inicio
Ubicar la cabina de
telfono pblico
15
SI
Esta
ocupada o
desocupad
a
Esperar
NO
Ingresar a la cabina
telefnica
Descolgar el
auricular del
telfono
Insertar la moneda
Marcar el Nro.
Telefnico
Ocupad
o?
Esperar
Conversar con la
persona
Fin
PRACTICA N 2
1. Suponiendo que A=4, B=12, C=4, D=20, E=2 evalu correctamente el
16
e) X = (B + E ) ^ C ^ E + 2*A
f)
X = (B+D) ^E + (B+C)
g) X = (B+ A) ^ E + D*A
h) X = (A+B+C) ^ C ^ E + 50*A
i)
X = (D+E) ^ 5 ^2 + 60*50
j)
X = (D+B) ^ 5 ^ E + 2*A
k) X = (E) ^ C ^ 2 + 8*A
l)
X = (100 + B) + 6 +100^ C ^ E
K=L/M
Hallar L
b)
H = C / (M+M)
Hallar M
c)
T* ( K / 3 )= (D + 5*B)
Hallar D
d)
Y/ 5 = 6*H + 9*M
Hallar Y
e)
B/9 = 6 ( A+ K)
Hallar A
f)
7( H + 5) = 2 ( J + K)
Hallar H
g)
P = 4*(M+ N)
Hallar M
h)
B = 6*( H + K) + P
Hallar K
i)
M*9 = 5* (K + L + N)
Hallar L
j)
Hallar M
k)
( K + L)*M = B/5
Hallar B
l)
( H + P ) /4 = M/5
Hallar P
m)
n)
Hallar M
A = 85 Nombre
J = MiProblema
A = AAAAAAAAAAAAAA + 4
L = MiJuego
N = Nombre_Apellidos
17
M = Mi Juego
J = Saldo_Actual
J = write + 2
B = 92
N = m&m + M
C = Universidad Pontificia
N = registro +N
D = - 15
A = AB
D = * 143Edad
V =A+ B
B = _458
J = D + F2
XYZ = K + G1
VZX = A + 2
VB = D + 4
H5 = A + 10
G6 = A * 20
C= D+J
P=H+L+M
M=M+1
V=V+M
A = B
A =7
A = 7
DFD
Que es Dfd?
Dfd es un software diseado para construir y analizar algoritmos. Usted puede
crear diagramas de flujo de datos para la representacin de algoritmos de
programacin estructurada a partir de las herramientas de edicin que para
ste propsito suministra el programa.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
Descripcin:
Opcin Archivo: Permite crear nuevo archivo, guardar, imprimir, salir.
Opcin Edicin: Permite copiar, pegar, insertar, eliminar, otros.
Opcin Objeto: Permite ejecutar las opciones mostradas en el grfico.
Software
en
mencin.
Asignacin,
Estructuras
de
control:
19
Los botones:
Detenemos la ejecucin paso a paso para editar la asignacin errnea y
corregirla.
20
F7
Ejecucin | Ejecutar
Este comando coloca la accin actual en Ejecucin y da paso a la ejecucin del
algoritmo.
En caso de que la accin actual sea Edicin, se realizar primero una revisin
del diagrama para encontrar errores de sintaxis. En caso de que un error sea
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
21
F9
22
23
24
PROGRAMACION
Es un proceso para convertir especificaciones generales de un sistema en
instrucciones utilizables por la mquina, que produzcan los resultados deseados.
Se le conoce tambin como desarrollo de software.
PROGRAMA
Es una lista de instrucciones que la computadora debe seguir para procesar datos
y convertirlos en informacin. Las instrucciones se componen de enunciados
usados en lenguajes de programacin como Basic, Pascal o C.
DATOS
Son las caractersticas propias de cualquier entidad. Por ejemplo: los datos de una
persona como su edad, fecha de nacimiento, domicilio, nmero de telfono, etc.
INFORMACIN
25
Entrada
Proceso
Salida
EL LENGUAJE DE PROGRAMACIN
Existen diferentes tipos, de bajo nivel y de alto nivel. Son instrucciones en una
computadora.
Una instruccin es cada paso de un algoritmo, pero que lo ejecuta el ordenador.
Un programa es un conjunto de instrucciones que ejecutadas ordenadamente
resuelven un problema.
TIPOS DE INSTRUCCIONES:
TIPOS DE LENGUAJES:
Lenguaje mquina: Todo se programa con 1 y 0, que es lo nico que entiende
el ordenador.
Ventaja: No necesita ser traducido.
Inconveniente: La dificultad, la confusin, para corregir errores, es propia de
cada mquina.
De bajo nivel o ensamblador: Se utilizan mnemotcnicos (abreviaturas).
26
VARIABLE = EXPRESION
Ejemplo:
B=10
A=16
N1=n1+n2
Inicial=LI
a. Entrada de datos
27
Ejemplos:
1. Realizar un Diagrama de Flujo y pseudoprograma que determine lo
siguiente:
a. Halle las siguientes operaciones. Si:
P= 2, M=3, N=5, T=9, H= 1, J=7, K=6
1. XYZ = P+ M + T
2. XYZ2=T/M
3. XYZ3= (M+N)2 + (H+J)P + (K+P)H
4. XYZ4= (J+T)H + ((H+P)K )2
b. Multiplicar tres nmeros.
XYZ1=M*N*H
c. Halle lo siguiente si:
A= HOLA
B=ADIOS
C=LIBRE
D=
ABC=HOLAADIOS
ABC1=HOLA LIBRE
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
28
Encuentre J
R
b.
P=M+N +
T+H
c. K = Z + R
M
D +H
Encuentre H
Encuentre D
SOLUCION
a.1.
Pseudoprograma que suma tres nmeros fijos
inicio
P=2
M=3
T=9
XYZ=P + M + T
Escribir (XYZ)
fin
29
a.3.
Pseudoprograma que halle XYZ3
Inicio
P=2
M=3
T=9
H=1
J=7
K=6
N=5
XYZ3 = (M+N)2 + (H+J)P + (K+P)H
Escribir (XYZ3)
Fin
b.1.
30
c.2
Pseudoprograma que escribe la palabra HOLA LIBRE
Inicio
A=HOLA
B=LIBRE
D=
ABC1=A+D+B
Escribir (ABC1)
Fin
31
d.1
Pseudoprograma que suma 3 nmeros
Inicio
Leer (A)
Leer (B)
Leer (C)
S= A+ B + C
Escribir (S)
Fin
d.2
Pseudoprograma que escribe
una palabra
Inicio
Leer(A)
Escribir (A)
Fin
32
e.2.
a. Primero se procede a despejar la variable
M= N + J/R
b. Realizar el diagrama de flujo
J=R (M-N)
Pseudoprograma que halle J
Inicio
Leer (M)
Leer (N)
Leer (R)
J=R*(M-N)
Escribir (J)
Fin
33
PRACTICA N 3
1.
B=RIOS
C=ESTUDIA
D=UNIVERSIDAD
E=Y
G=LA
RESPUESTA=MARTARIOS
RESPUESTA1=MARTARIOSESTUDIAENLAUNIVERSIDAD
RESPUESTA2=MARTA RIOS ESTUDIA EN LA UNIVERSIDAD
RESPUESTA3=MARTA Y RIOS
RESPUESTA4=ESTUDIA MARTA EN LA UNIVERSIDAD
e) Calcule el rea de un rombo de diagonales conocidas.
D1=Diagonal mayor
D2=Diagonal menor
AREAROMBO = (D1 x D2)
2
f)
34
Sabiendo que una milla equivale a 1609 kilmetros, lea una cantidad en millas y
convirtala en kilmetros.
j)
Hallar K
C=H +K/6
k) Hallar F
C1 = K + R + F/ 7 + 32
l)
generatriz y la altura de un cono, calcule el rea de la ase, rea lateral, el rea total
y su volumen.
AB= x RADIO2 (AREA DE BASE)
AL= x RADIO x GENE (AREA LATERAL)
AT= AB + AL (AREA TOTAL)
VOL= (1/3) x AB x ALTU (VOLUMEN)
m) Realizar un diagrama de flujo y pseudoprograma tal que dado el lado de un
hexaedro o cubo, calcule el rea de la base, el rea lateral, el are total y el
volumen.
AB= L2 (AREA DE BASE)
AL =4L2 (AREA LATERAL)
AT = 6L2 (AREA TOTAL)
V=L3 (VOLUMEN)
35
PRACTICA N 4
a. Realizar un Diagrama de Flujo y pseudoprograma que determine lo siguiente:
a) Asigne las variables A=30 y B = 100, halle la suma C
b) Leer M y N que ingresen por teclado y hallar la suma ( SUMA)
c) Leer M y N que ingresen por teclado y hallar la resta ( RESTA)
d) Leer M y N que ingresen por teclado y hallar la Multiplicacin
(MULTIPLICACION)
e) Leer M y N que ingresen por teclado y hallar la Divisin(DIVISION)
f)
j)
f)
36
V= A x T
37
FUNCIONES PREDEFINIDAS
Las funciones son frmulas predefinidas que ejecutan clculos utilizando valores
especficos, denominados argumentos, en un orden determinado o estructura. Las
funciones pueden utilizarse para ejecutar operaciones simples o complejas.
a. FUNCIONES MATEMTICAS:
Valor Absoluto: ABS(X)
Determina el valor absoluto de C el mismo nmero sin signo.
Sintaxis
: ABS( X )
Entrada
Resultado
Valor absoluto de X.
Ejemplo :
64
TRUNC( X )
Entrada
Resultado
Parte entera de X.
Ejemplo:
TRUNC(3.7 ) Retorna 3.
TRUNC(-4.5 )= -4.
TRUNC(-3.14)=-3
TRUNC(5.2)=5
TRUNC(-339.00451)=-339
38
ROUND( X )
Entrada
Resultado
Ejemplo:
SQRT( X )
Entrada
Resultado
Raz Cuadrada de X.
Ejemplo
X=8
Sqrt(x)=2.8284
LN( X )
Entrada
Resultado
Logaritmo Natural de X.
Ejemplo:
Ln(50) =
3.91
Exponencial: EXP(X)
Devuelve el valor de ex elevado a la X
Sintaxis
EXP( X )
Entrada
Resultado
a la potencia X.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
39
Ejemplo:
EXP(4.5) equivale e 4.5 o bien 2.7182824.5
Nota : Esta es la funcin inversa de LN, por lo tanto LN( EXP( X ) ) = X.
Numero Aleatorio:
Proporciona un nmero aleatorio
Sintaxis
RANDOM( N )
Donde:
N: Es opcional, si existe debe ser una expresin entera de valor mayor que 0
Si no existe n, RANDOM proporciona un nmero entre 0 y 1 es decir
0<= Nro. <= 1
Si existe el parmetro n, RANDOM proporciona un nmero entre 0 y 1 es decir
0<= Nro. <=N
Ejemplo: V= RANDOM(10)
Visualiza un nmero aleatorio entre 0 y 9
V= RANDOM(100)
Visualiza un nmero aleatorio entre 0 y 99
Otros datos:
Entrada
Resultado
Genera un nmero aleatorio R, donde 0 <= R <= X-1 para todo X>1 y
MOD
Sintaxis:
X MOD Y
Entrada
Resultado
Ejemplo:
X=8
Y=4
X MOD Y = 0
Ejemplo:
40
X=7
Y=3
X MOD Y = 1
b) FUNCIONES TRIGONOMETRICAS
Seno
SIN( X )
SIN( X )
Entrada
Resultado
Seno de X.
Ejemplo:
X=2
SIN (2) = 0.0348994967
Coseno
COS( X )
COS( X )
Entrada
Resultado
Coseno de X.
Ejemplo
X=2
Cos (2)= 0.999390827
Tangente
TAN( X )
Sintaxis
TAN( X )
Entrada
Resultado
Tangente de X.
Ejemplo
X= 1
Tan(1)=0.01745506492
Arcoseno
ASIN( X )
ASIN( X )
41
Entrada
Resultado
Ejemplo :
ASIN(0.7)= 44.427004
-1<= X <= 1.
ASIN(0.5)=30
Arcocoseno ACOS( X )
Determina el valor del arcocoseno de X
Sintaxis
ACOS( X )
Entrada
Resultado
Ejemplo:
ACOS(0.5) =60
-1<= X <= 1.
Arcotangente ATAN( X )
Determina el valor del arcotangente de X
Sintaxis
ATAN( X )
Entrada
Resultado
c) FUNCIONES DE TEXTO
Largo de Cadena LEN( S )
Sintaxis
LEN( S )
Entrada
Resultado
de la cadena S.
Ejemplo:
Y = PROGRAMA
LEN(Y) =8
Subcadena SUBSTRING( S, INICIO, CUANTOS )
Sintaxis
Entrada
Donde:
INICIO, Valor de tipo de dato Real (entero), donde INICIO >=1.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
42
EJERCICIOS
1. Realizar un Diagrama de Flujo y pseudoprograma que determine lo siguiente:
a. Hallar la raz cuadrada de un nmero.
X=SQRT(N)
b. Hallar el coseno de un nmero.
X=COS(N)
c. Extrae de la siguiente cadena de caracteres
X=CONTABILIDAD
Y obtener la palabra A=BILID
d. Sume lo siguiente:
Y= (N) + /N/ + SENO(N)
X= ARCOSENO(N) + ARCOCOSENO(N) + ARCOTANGENTE(N)
Z = COSENO(N) + LN(N) + TANGENTE(N)
f.
43
SOLUCION
1.a.
1.b.
Pseudoprograma que halla el coseno
Inicio
Leer(N)
X=COS(N)
Escribir(X)
Fin
44
1.c.
Pseudoprograma que extrae la palabra BILIDAD
Inicio
X=CONTABILIDAD
A= SUBSTRING(X,6,7)
Escribir(A)
Fin
PRACTICA N 5
a. Hallar el valor absoluto de un nmero cualquiera
b. Hallar el valor truncado de un numero cualquiera
c. Hallar el valor redondeado de un nmero cualquiera
d. Hallar el nmero aleatorio del 0 al 1000.
e. Hallar el nmero aleatorio hasta 4009.
f.
45
N = trunc(z) + seno(z)
P = 3 seno(z) + e 2z-1
i.
j.
XYZ1=MARIATEGUI
l.
C= (a2 + b2)
BB=CARRERA
CC=CONTABILIDAD
46
comisiones por las tres ventas que realiza en el mes y el total que recibir
en el mes tomando en cuenta su sueldo base y comisiones.
p. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25%
sobre su salario anterior.
PRACTICA N 6
1. Un sistema de ecuaciones lineales :
AX + BY = C
DX + EY = F
Se puede resolver con las siguientes frmulas:
CE - BF
AF - CD
X=
Y=
AE - BD
AE - BD
47
F 32
=
=
9
K - 273
=
5
R 492
9
48
17. A cunto dinero de hoy ( C) equivalen M dlares del futuro, sabiendo que
la tasa de inters es T y el numero de periodos N.
18. Lea una hora y diga a cuantos minutos y segundos equivale.
19. Escribir un pseudoprograma y disear un diagrama de flujo para convertir
grados centgrados ( C ) a grados Farenheit (F). Considere que:
F = 9 C + 32
5
20. Lea dos nmeros. El primero representar el da y mes de su nacimiento
(por ejemplo 1 de Julio ser 107), el segundo nmero vendr dado por su
edad, luego realice los siguientes clculos: Multiplique el primer nmero por
2, adicinele 5, multiplquelo por 50, smele el segundo nmero, smele
365 y rstele 615. El resultado vendr a ser la unin del primer nmero con
el segundo. Este juego es conocido en los crculos matemticos como
juego de sociedad.
21. Escribir un pseudoprograma y diagrama que permita calcular una boleta de
pago de un trabajador. de flujo que halle lo siguiente:
a. Se debe ingresar el cdigo del trabajador, el nmero de horas
normales, las horas extras, y el pago por hora
b. Si sabemos que el pago por hora normal es igual al pago por hora
por las horas normales, el pago por horas extras es igual al pago por
horas por las horas extras, la bonificacin es el 30% del total de los
ingresos. Si el total de los ingresos es igual al pago por horas
normales ms pago por horas extras.
c. Encontrar el total que es igual al total de los ingresos ms la
bonificacin. El descuento1 que es igual al 10% del total de los
ingresos, el descuento2 que es igual al 2% del total de los ingresos,
el total de los descuentos que es igual al descuento1 ms el
descuento2 y el neto a pagar que es el total menos el total de los
descuentos.
22. Escribir un pseudoprograma y diagrama de flujo para convertir una medida
dada en pies a sus equivalencias en:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
49
= A+
E1/3__
1+(( E )2/3)2T
C4
KK=JOSE CARLOS
Obtener:
A=MI UNIVERSIDAD 2010
B=UNIVERSIDAD JOSE CARLOS * 2010
C=PRIMAVERA
D=2010 * GRADA
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
50
JJ=98777712_122 KK=JOSE@CARLOS&
Obtener:
A=DAN@RAM122 CAR
B=122_RAM&@JOSE
C=9877$CARLOS @ JOS
D=7777 CAR&_ZA
E=12_12@DA@NIT@ZA
E= La suma de todas las variables anteriores
G= La raz cuadrada de la respuesta anterior
F= Redondear la respuesta anterior
G= La parte entera de la respuesta anterior
a. CONTADOR:
Un contador es un operador matemtico/ lgico que se usa en procesos
repetitivos y permite hacer variar el contendido de una variable numrica
en incrementos constantes. Esta operacin matemtica es usada para
contar, por ejemplo el numero de registros ya sea en forma general o
dependiendo de alguna condicin pre-establecida.
51
N = N + Numero
Donde:
52
b. EL ACUMULADOR
Un acumulador es un operador matemtico /lgico que permite calcular
la suma de los valores de una variable o de un campo de un registro de
datos, este operador funciona en forma similar al contador, pero en este
caso, los valores a sumar ya no son constantes, sino variables
numricas.
Un acumulador o totalizador es una variable cuya misin es almacenar
cantidades variables resultantes de sumas sucesivas. Realiza la misma
funcin que un contador con diferencia de que el incremento o
decremento de cada suma es variable en lugar de constante como es el
caso del contador. Un bloque controlado por acumulador consta:
Inicializacin de la variable de control del bucle en cero
Asignacin de la variable a la misma variable mas el valor de la
variable de control del bucle.
Forma General:
S=S+V
Donde:
53
ESTRUCTURAS REPETITIVAS
Una estructura repetitiva, de control iterativas se utilizan cuando se desea que
una sentencia o bloque de sentencias se repita un nmero determinado de
veces o hasta que una condicin de terminacin se cumpla.
Las estructuras repetitivas tambin se denominan lazos o bucles y se debe
tener en cuenta lo siguiente para su construccin.
El cuerpo del bucle: es el grupo de sentencias que se van a repetir, dentro del
cuerpo del bucle debe existir una sentencia que modifique la condicin lgica
de terminacin.
Las sentencias de inicializacin: son sentencias que inicializan contadores y
acumuladores.
Las condiciones para terminacin del bucle: Expresiones lgicas que
controlan la terminacin del bucle.
Bucle: Una estructura de control que permite la repeticin de una serie
determinada de sentencias se denomina bucle (lazo o ciclo).
Los ciclos se clasifican en:
Para / desde/ hasta / haga.
mientras/ hacer.
repetir / hasta
MIENTRAS HACER
Es aquella en la que el nmero de iteraciones no se conoce por anticipado y el
cuerpo del bucle se repite mientras se cumple una determinada condicin. Por
esta razn, a estos bucles se les denomina bucles condicionales.
Cuando la sentencia MIENTRAS se ejecuta, lo que sucede primero es la
evaluacin de la expresin lgica. Si evala falso, ninguna accin se realiza y
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
54
55
EXP LOGICA
Instrucciones
Ejecutables
56
PRECAUCIONES:
1. La condicin lgica en bucle Mientras Hacer debe tener un valor la
primera vez que se evala: en caso contrario, el programa abortar
(se detendr) al ejecutarse Mientras Hacer.
2. La condicin lgica en un bucle Mientras Hacer debe ser
modificada por una sentencia en el cuerpo del bucle: en caso
contrario, el bucle es infinito.
3. Es posible que el cuerpo del bucle no se ejecute nunca. Esto
suceder si la condicin lgica es falsa la primera vez que se evala.
57
Ejemplos
a. Construir el diagrama de flujo y pseudoprograma que escriba los 5 primeros
nmeros
Primera Forma:
Pseudoprograma que escribe los 5 primeros nmeros:
Inicio
X=0
Mientras X < 5 Hacer
X= X + 1
Escribir (X)
Fin Mientras
Fin
Segunda Forma:
Pseudoprograma que escribe los 5 primeros nmeros:
Inicio
X=1
Mientras X< 6 Hacer
Escribir (X)
X= X + 1
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
58
59
Hacer
M=N*X
X=X +1
Escribir
(M)
Fin Mientras
Fin
60
f.
61
PRACTICA N 7
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
62
63
64
1000.
25. Escriba un diagrama de flujo y pseudoprograma que lea un dato n y calcule
los siguientes valores n n y n!
26. Escriba un diagrama de flujo y pseudoprograma que lea los datos a, n y r y
calcule al Sumatoria de:
Suma = ar n - 1 y Producto = N! * 2n
27. Escribir un programa que reciba un nmero n por parmetro e imprima los
primeros n nmeros triangulares, junto con su ndice. Los nmeros
triangulares se obtienen mediante la suma de los nmeros naturales desde
1 hasta n. Es decir, si se piden los primeros 5 nmeros triangulares, el
programa debe imprimir:
1-1
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
65
2-3
3-6
4 - 10
5 - 15
28. Cadenas de Caracteres
Construir un diagrama de flujo con mientras un hacer que dada una cadena
de caracteres:
a. Imprima los dos primeros caracteres.
b. Imprima los tres ltimos caracteres.
c. Imprima dicha cadena cada dos caracteres. Ej.: recta debera imprimir
rca
d. Dicha cadena en sentido inverso. Ej.: hola mundo! debe imprimir !
odnum aloh
e. Imprima la cadena en un sentido y en sentido inverso. Ejemplo: reflejo
imprime reflejoojelfer.
f.
S = 1 + 2 + 3 + 4 +
5+
6 +
. + 100
b)
S= 100 + 99 + 98 + 97 + 96 + 95+ 0
c)
S =100 + 98 + 96 + 94 + . . . + 0
d)
ABC = 12 + 22+32+42 + 52 +
+ 1002
e)
CUBO=
13
23+33+43
53
+ 1003
66
f)
SUMPAR = 2 + 4 + 6 + 8 + 10 + 12 +
+ 500
g)
SUMIMP= 1 + 3 + 5 + 7 + 9 + 11 + 13+
+ 499
h)
i)
FACT
1*
. * 10
j)
k)
SUMPROD=
1*2+
2*3
3*4+
..+ 100*101
PRACTICA N 8
1. Realice los siguientes diagramas de flujo y pseudoprogramas:
a) Escribir (imprimir) los enteros positivos desde el 1 al 10
b) Escribir los enteros positivos desde el 1 al 100
c) Escribir los nmeros desde 10.001 hasta 10.010
d) Escribir los nmeros desde 50.000 hasta 50.050 con incrementos de
0.10
e) Escribir los 10 primeros impares
f) Escribir los 10 primeros pares
g) Escribir y sumar los 10 primeros nmeros
h) Escribir y sumar los 10 primeros pares
i)
j)
67
68
S=
..+
99
100
b.
c.
d.
SF = 1 + +1/3 + + .+1/100
e.
SFACT = 1! + 2! + 3! + 4! 20!
f.
g.
h.
i.
69
c. SUMCUBO= 13 + 23 + 33 + 43+ + N3
d. SUMFRAC = 1 + +1/3 + + .+1/N
e. PROD = 1*2*3*4*5*..*N
f.
SIM = 1+ 3+ 5+ 7+ .+ 2*N 1
g. SPAR= 2 + 4+ 6+ 8+ ...+2*N
h. SUMAPOT= + 2/22 +3/23++.N/ 2N
i.
SUMAFACT = 1! + 2! + 3! + 4! N!
i.
SUMA=
1 +A
1 + 2A
+ ..........+
1 + 3A
1
1 + NA
j. SUMEXP= 1 + X + X2 + X3 + X4 + + XN
2!
3!
4!
N!
70
DESDE_HASTA_HACER
Se utiliza para ejecutar un bloque de instrucciones un nmero determinado de
veces. Para contar el numero de veces que se esta ejecutando el ciclo, existe
una variable denominada variable de control y se incrementa o decrementa
automticamente en cada ejecucin del ciclo.
Nota:
Su funcin es ejecutar un bloque de objetos mientras que la variable contadora
no alcance el lmite establecido por el valor final. El contador es siempre una
variable de tipo de dato Real. Contiene adems un valor inicial que ser
asignado al contador al iniciar la ejecucin del ciclo, un valor final y un valor de
incremento. Si el contador excede el valor final, la ejecucin continuar a partir
del objeto que sigue al Cierre. En caso contrario, se ejecutar el cuerpo del
ciclo y el contador ser incrementado en el valor indicado por el incremento.
Forma General:
Desde Var = Vi Hasta Vf Hacer Paso (Incremento)
71
Instruccin (es)
Fin_desde
Donde:
Diagrama de Flujo
72
73
REGLAS DE FUNCIONAMIENTO:
1. Las variables de control, valor inicial y valor final deben ser todas del
mismo tipo.
2. Antes de la primera ejecucin del bucle, a la variable de control se
asigna el valor inicial.
3. La ltima ejecucin del bucle normalmente ocurre cuando la variable
de control es igual al valor final.
4. Cuando se utiliza la palabra reservada Hacer, la variable de control
se incremento en cada iteracin.
5. Es ilegal intentar modificar el valor de la variable de control, valor
inicial y el valor final dentro del bucle.
6. El valor de la variable de control se queda indefinido cuando se
termina el bucle.
Ejemplos:
1. Escribir los 5 primeros nmeros. Construir el diagrama de flujo y
pseudoprograma:
Pseudoprograma que escribe los 5 primeros nmeros:
Inicio
Desde X=1 Hasta 5 Hacer Salto 1
Escribir (X)
FinDesde.
Fin
74
75
5.
76
PRACTICA N 9
1. Suponga que un individuo desea invertir su capital en un banco y desea
saber cunto dinero ganara despus de un mes si el banco paga a razn
de 2% mensual.
2. Una tienda ofrece un descuento del 15% sobre el total de la compra y un
cliente desea saber cunto deber pagar finalmente por su compra.
3. Un alumno desea saber cul ser su calificacin final en la materia de
Programacin bsica.
Dicha calificacin se compone de los siguientes porcentajes:
20% del promedio de sus tres trabajos.
30% de promedio de sus 5 practicas en laboratorio.
50% de promedio del examen terico y prctico.
4. Un alumno desea saber cul ser su promedio general en las tres
materias ms difciles que cursa y cul ser el promedio que obtendr
en cada una de ellas. Estas materias se evalan como se muestra a
continuacin:
La calificacin de Matemticas se obtiene de la siguiente manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidi un total de tres tareas.
La calificacin de Fsica se obtiene de la siguiente manera:
Examen 80%
Promedio de tareas 20%
En esta materia se pidi un total de dos tareas.
La calificacin de Qumica se obtiene de la siguiente manera:
Examen 85%
Promedio de tareas 15%
En esta materia se pidi un promedio de tres tareas.
77
78
A=MI UNVERSIDAD
Repetir la palabra MI UNIVERSIDAD 17 veces
17. Las potencias de 2(20, 21, 22, 23,.) son 1,2,4,8,16,32,64, etc., Para
obtener la siguiente potencia de 2 se multiplica la anterior por 2. Disear
un diagrama de flujo que imprima la primera potencia de 2 que no pase
ms de 1000.
18. Calcular e imprimir los cuadrados del 20 al 50
19. Calcular e imprimir la suma y el producto de los nmeros pares
comprendidos entre 20 y 400 ambos inclusive.
20. Calcular la media aritmtica de n nmeros ingresados por teclado
21. Calcular el promedio de un alumno que tiene 7 calificaciones en la
materia de Diseo Estructurado de Algoritmos.
22. Leer un dato y almacenarlo en la variable N, leer otro dato y almacenarlo
en la variable X. Calcular el valor de X elevado a la potencia N hasta 9
veces.
23. Leer 15 nmeros negativos y convertirlos a positivos e imprimir dichos
nmeros.
24. Escriba un programa para evaluar la funcin y = 4X 2 -16X + 15, donde X
toma los valores de 1 a 2 en pasos de 1. Para cada X la salida debe dar
el valor de Y. El formato de la salida debe ser :
Valor de X Valor de Y
1.0
3.00
1.1
2.24
..
..
2.0
-1.00
79
Entrada 24 Salida 16
Entrada 43 Salida 64
80
81
c. SUMPAR = 2 + 4 + 6 + 8 + 10 + 12 + + 500
d. SUMIMP= 1 + 3 + 5 + 7 + 9 + 11 + 13+ + 499
e. SUMFRAC = 1/ 1 + +1/3 +1/4 + 1/5 + 1/6 +
1/100
f. FACT = 1* 2 * 3 * 4 * 5 * . * 10
g. XYZ = 1*2/3 + 2*3/4 + 3*4/5 +
963*964/965
37. Disee un diagrama de flujo y pseudoprograma que lea un entero
positivo N y calcule las siguientes sumas:
a.
S= 1 + 2+ 3+ 4 + ..N
b.
c.
S= 12 + 22+32+42+ N2
d.
S= 1 + + 1/3 +..+1/N
e.
f.
g.
h.
W =1! + 3! + 5! +..+(2N-1)!
82
i.
j.
k.
Y= Z(A+1)/A + Z(A+2)2/A2
+ Z(A+3)3/A3 + +
Z(A+N)N/AN
l.
m.
XYZ= X(1+A).X(2+A2).X(3+A3)..X(N+AN)
P=
1. 3 . 5 ..2N-1
12 22 32
N2
83
PRACTICA N 10
1. Utilizando la sentencia Desde hasta hacer realice los siguientes
programas :
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
k)
l)
m)
n)
o)
p)
q)
r)
84
s)
t)
u)
v)
w)
x)
y)
z)
85
a.
S=
..+
99
100
b.
c.
d.
SF = 1 + +1/3 + + .+1/100
e.
SFACT = 1! + 2! + 3! + 4! 20!
f.
g.
h.
a.
S= 13 + 23+33+43+ N3
b.
c.
d.
F=1!/A+2!/A2+3!/A3+.N!/AN
e.
f.
g.
86
h.
i.
PROD= P/1.P/2.P/3.P/N
j.
k.
l.
87
88
89
90
ESTRUCTURA ALTERNATIVA
Permite ejecutar una bifurcacin a un conjunto de instrucciones
dependiendo del
cumplimiento
de
una condicin El
conjunto
de
91
FORMA GENERAL:
Si condicin Entonces
Accin verdadero (Accin A)
FIN_SI
EJEMPLOS
92
2.
93
FORMA GENERAL:
SI CONDICION es verdad Entonces
Accin verdadera (Accin A)
SINO
Accin de falso (Accin B)
FIN_SI
94
EJEMPLOS
1.
EDAD > 17
ENTONCES
ESCRIBIR (MAYOR)
SINO
ESCRIBIR (MENOR)
FIN_SI
FIN
2.
es
mayor
10
de
lo
contrario
DESAPROBADO
Incio
LEER (NOTA)
SI NOTA >10 Entonces
Escribir (APROBADO)
SINO
Escribir (DESAPROBADO)
Fin_si
FIN
95
EJERCICIOS
1. Realizar un pseudoprograma y diagrama de flujo que introduzca un nmero
que indique si es mayor que 0 es positivo, si no es negativo
Pseudoprograma que escribe POSITIVO si el nmero es mayor a 0 de lo contrario
NEGATIVO
INICIO
LEER (NUM)
SI NUM > 0 ENTONCES
ESCRIBIR (POSTIVO)
SINO
ESCRIBIR (NEGATIVO)
FIN_SI
FIN
96
EJERCICIOS
1. Realizar un pseudoprograma y diagrama de flujo que ingrese la edad, si
SOLUCION
97
MES
ESTACION
1- 3
4-6
7-9
10-12
VERANO
OTOO
INVIERNO
PRIMAVERA
SOLUCION
98
b.
99
3.
100
4.
5.
101
102
PRACTICA N 11
1. Realizar los siguientes pseudoprogramas y diagramas de flujo que calcule
los (N) primeros trminos, escriba y calcule las sumas y productos
siguientes. Con Mientras Hacer o Desde_Hasta_Hacer.
a)
S= 1+ 3+ 5+ 7+ .+(2N-1)
b)
S=1+1/2+1/3+........+ 1/N
c)
S= 1 + 1 + 1 +
12
22
32
...........+ 1
N2
103
104
PROMEDIO
SITUACION
0-5
DEFICIENTE
6-10
DESAPROBADO
11-15
SATISFACTORIO
16-20
EXCELENTE
24. La comisin sobre las ventas totales de los empleados es como sigue:
a. Si las ventas son menores que 50 entonces no hay comisin
b. Si las ventas son menores e iguales que 50 y menores e iguales que
500, la comisin sobre las ventas es del 10% de las ventas
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
105
DIA
LUNES
MARTES
MIERCOLES
JUEVES
VIERNES
SABADO
DOMINGO
ERROR
GRADO
JARDIN
PRIMARIA
SECUNDARIA
UNIVERSIDAD
POST-GRADO
NO ESTA MATRICULADO
27. Disear un diagrama de flujo si las vocales se representan con nmeros del
1 al 5, lea un nmero y diga que vocal es.
106
PROMEDIO FINAL
CATEGORIAS
20
19
17-18
16
13 -15
11 -12
8 10
07
A
B
C
D
E
F
G
H
TEMPERATURA PROMEDIO
TIPO DE CLIMA
PROMTEP< = 10
FRIO
NUBLADO
CALUROSO
PROMTEMP > 30
TROPICAL
107
32. Disear un Diagrama de Flujo que permita leer 2 nmeros enteros positivos
m y n, luego:
a) Calcula el producto de m por n si el numero m es mayor que el numero n
b) Calcula la raz cuadrada si el numero m es menor que n
33. Se desea conocer una serie de datos de un empresa con 10 empleados.
a. Cuantos empleados ganan mas de 300 soles
b. Cuantos empleados ganan entre 100 y 300 soles
c. Cuantos empleados ganan menos de 100 soles
PRACTICA N 12
108
EQUIVALENCIA
19 20
Sobresaliente
16 - 18
Muy Buena
14 - 15
Buena
12 - 13
Regular
11 o menos
Insuficiente
109
4.
5.
110
b) 46-50
c) 51-55
12. Realizar un pseudoprograma y diagrama de flujo que halle el mayor de 2
nmeros.
13. Debido a los excelentes resultados, el restaurante decide ampliar sus
ofertas de acuerdo a la siguiente escala de consumo. Determinar el importe
a pagar por lo consumido, mostrando todos los importes.
Consumo (S/.)
Dscto.(%)
Mayor a 100
30
Mayor a 60
20
Mayor a 30
15
Hasta 30
10
111
COLOR
AMARILLA
ROSA
ROJA
VERDE
AZUL
16. Una frutera ofrece las manzanas con descuento segn la siguiente tabla:
NUM DE KILOS COMPRADOS
0-2
2.01 - 5
5.01 - 10
10.01 en adelante
% DESCUENTO
0%
10%
15%
20%
3.00
positivo
112
1.1
2.24
..
..
2.0
positivo
-1.00No positivo
20. Introducir dos nmeros por teclado y mediante un men de opciones calcule
su suma, su resta, su multiplicacin o su divisin.
MENU DE OPCIONES
[1] SUMA
[2] RESTA
[3] MULTIPLICACION
[4] DIVISION
[5] RESTO
19.
MENU DE OPCIONES
[1] RAIZ
[2] FACTORIAL
[3] VALOR ABSOLUTO
[4] VALOR TRUNCADO
[5] TANGENTE
[6] FIN
20.
113
DISEO MODULAR
Podemos definir la programacin modular como aqulla que afronta la solucin
de un problema descomponindolo en subproblemas ms simples, cada uno
de los cuales se resuelve mediante un algoritmo o mdulo ms o menos
independiente del resto (de ah su nombre: "programacin modular")
Uno de los mtodos fundamentales para resolver un problema es dividirlo en
problemas ms pequeos, llamados subprogramas. Estos problemas pueden a
su vez ser divididos repetidamente en problemas ms pequeos hasta que los
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
114
115
Divide y vencers!
La forma ms habitual de disear algoritmos para resolver problemas de cierta
envergadura se suele denominar, muy certeramente, divide y vencers (en
ingls, divide and conquer o simplemente DAC). Fjate que hemos dicho
"disear" algoritmos:
Estamos adentrndonos, al menos en parte, en la fase de diseo del ciclo de
vida del software.
El mtodo DAC consiste en dividir un problema complejo en subproblemas, y
tratar cada subproblema del mismo modo, es decir, dividindolo a su vez en
subproblemas. As sucesivamente hasta que obtengamos problemas lo
suficientemente sencillos como para escribir algoritmos que los resuelvan.
Dicho de otro modo: problemas que se parezcan en complejidad a los que
hemos venido resolviendo hasta ahora.
Llamaremos mdulo a cada uno de estos algoritmos que resuelven los
problemas sencillos.
Una vez resueltos todos los subproblemas, es decir, escritos todos los
mdulos, es necesario combinar de algn modo las soluciones para generar la
solucin global del problema.
116
Esta forma de disear una solucin se denomina diseo descendente o topdown. No es la nica tcnica de diseo que existe, pero s la ms utilizada.
Resumiendo lo dicho hasta ahora, el diseo descendente debe tener dos fases:
La identificacin de los subproblemas ms simples y la construccin de
algoritmos que los resuelvan (mdulos)
La combinacin de las soluciones de esos algoritmos para dar lugar a la
solucin global.
Problema
principal
Subproblema
1
(Mdulo 1)
Subproblema
2
(Mdulo 2)
Subproblema
3
(Mdulo 3)
Notas
alumnos
117
Asignar
calificaci
n
Visualiz
ar
resultad
Algoritmo
1. Leer las puntuaciones
2. Visualizar notas
3. Ordenar notas
4. Asignar calificaciones adecuadas
5. Visualizar resultados
118
119
Los subalgoritmos pueden hacer las mismas operaciones que los algoritmos,
es decir: entrada de datos, proceso de datos y salida de datos. La diferencia es
que los datos de entrada se los proporciona el algoritmo que lo invoca, y los
datos de salida son devueltos tambin a l para que haga con ellos lo que
considere oportuno. No obstante, un subalgoritmo tambin puede, si lo
necesita, tomar datos de entrada desde el teclado (o desde cualquier otro
dispositivo de entrada) y enviar datos de salida a la pantalla (o a cualquier otro
dispositivo de salida).
Ejemplo:
Disear un algoritmo que calcule el rea y la circunferencia de un crculo cuyo
radio se lea por teclado. Se trata de un problema muy simple que puede
resolverse sin aplicar el mtodo divide y vencers, pero lo utilizaremos como
ilustracin.
Dividiremos el problema en dos subproblemas ms simples: por un lado, el
clculo del rea, y, por otro, el clculo de la circunferencia. Cada subproblema
ser resuelto en un subalgoritmo, que se invocar desde el algoritmo principal.
120
121
PROCEDIMIENTOS O SUBPROGRAMAS
Es un subprograma que realiza una tarea especfica. Puede recibir cero o ms
valores del programa que llama y devolver cero o ms valore a dicho programa
llamador. Un procedimiento est compuesto de un grupo de sentencias a las
que se asigna un nombre (identificador) y constituye una unidad de programa.
La tarea asignada al procedimiento se ejecuta siempre que encuentra el
nombre del procedimiento o subprograma.
SINTAXIS:
Subprograma1 (lista de parmetros)
Inicio
< Instrucciones >
Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
122
OBJETO SUBPROGRAMA
El
cuadro
de
dilogo
del
123
124
125
REUTILIZACIN DE UN MDULO
Los algoritmos de cada mdulo slo se escriben y codifican una sola
vez, aunque se necesiten en distintas ocasiones a lo largo del programa
126
EJEMPLOS
1. Disear un diagrama de Flujo que halle la suma de dos nmeros enteros
y que permita crear 3 subprogramas:
1. Leer () : Permite leer 2 elementos de tipo entero.
2. Proceso (): Permite sumar los elementos.
3. Salida (): Permite escribir (imprimir) la suma.
SOLUCION
PROGRAMA PRINCIPAL
127
SUBPROGRAMA LEER
SUBPROGRAMA PROCESO
128
SUBPROGRAMA SALIDA
129
=3.141516
AREA = 2 x PI x RADIO x ALTURA
SOLUCION
PROGRAMA PRINCIPAL
SUBPROGRAMA
AREA
DEL
CUADRADO
130
3. Disear
un
diagrama de Flujo
que Introduzca dos nmeros por teclado que permita hallar mediante un
men de opciones, creando subprogramas por cada uno de ellos.
MENU DE OPCIONES
[1] SUMA
[2] RESTA
[3] FIN
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
131
SOLUCION
PROGRAMA PRINCIPAL
132
SUBPROGRAMA
DE LA SUMA
133
SUBPROGRAMA
DE
LA RESTA
134
PRACTICA N 13
1.
135
Dado tres variables enteras num1, num2, num3, encuentre el mayor entre
estos tres nmeros y almacene en una variable entera llamada max.
3.
b.
136
4.
5.
6.
S= 1 + 2+ 3+ 4 + ..N
b.
137
7.
c.
S= 12 + 22+32+42+ N2
d.
S= 1 + + 1/3 +..+1/N
8.
9.
MENU DE OPCIONES
[1] SENO
[2] COSENO
[3] TANGENTE
[4] ARCOSENO
[5] ARCOCOSENO
[6] ARCOTANGENTE
[7] FIN
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
138
MENU DE OPCIONES
[+] SUMA
[-] RESTA
[ * ]MULTIPLICACION
[ / ]DIVISION
[F] FIN
Nota
1. Si es '+' debe sumar las dos variables y hallar la raz cuadrada
2. Si es '- ' debe restar las dos variables y hallar el valor absoluto
3. Si es '* ' debe multiplicar las dos variables y redondear
4. Si es '/ ' debe dividir las dos variables y truncar el nmero
5. Si es '% ' debe obtener el resto de la divisin.
139
SFACT = 1! + 2! + 3! + 4! N!
b.
c.
SUM=TANGENTE(1)+TANGENTE(2)+TANGENTE(3)
+TANGENTE(N)
d.
e.
f.
g.
FIN
13. El Depto. De Seguridad Publica y Transito del D.F. desea saber de los n
autos que entran a la ciudad de Mxico, cuantos entran con calcomana
de cada color. Conociendo el ltimo dgito de la placa de cada automvil
se puede determinar el color de la calcomana utilizando la siguiente
relacin:
DGITO COLOR
1 o 2 amarilla
3 o 4 rosa
5 o 6 roja
140
7 o 8 verde
9 o 0 azul
TALLER DE PROGRAMACION
PRACTICA N 14
1. Elabore un pseudocdigo y diagrama de flujo que sume, reste, multiplique y
divida dos nmeros: x = 10 y = 2
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
141
2.
rea
Ginecologa
40%
Traumatologa
30%
Pediatra
30%
142
Obtener la cantidad de dinero que recibir cada rea, para cualquier monto
presupuestal.
10. El dueo de una tienda compra un artculo a un precio determinado.
Obtener el precio en que lo debe vender para obtener una ganancia del
30%.
La calificacin de Matemticas se obtiene de la sig. manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidi un total de tres tareas.
La calificacin de Fsica se obtiene de la sig. manera:
Examen 80%
Promedio de tareas 20%
En esta materia se pidi un total de dos tareas.
La calificacin de Qumica se obtiene de la sig. manera:
Examen 85%
Promedio de tareas 15%
En esta materia se pidi un promedio de tres tareas.
11. Dados tres nmeros enteros. Determinar cul es el mayor.
12. Todos los lunes, mircoles y viernes, una persona corre la misma ruta y
cronometra los tiempos obtenidos. Determinar el tiempo promedio que la
persona tarda en recorrer la ruta en una semana cualquiera.
143
13. El gobierno del estado de Mxico desea reforestar un bosque que mide
determinado nmero de hectreas. Si la superficie del terreno excede a 1
milln de metros cuadrados, entonces decidir sembrar de la sig. manera:
PORCENTAJE DE LA SUPERFICIE
TIPO DE RBOL
DEL BOSQUE
70%
pino
20%
oyamel
10%
cedro
PORCENTAJE DE LA SUPERFICIE
TIPO DE RBOL
DEL BOSQUE
50%
30%
20%
Pino
Oyamel
cedro
144
Valor de X
10
11
12
13
14
rea
50
44
.
.
.
CATEGORIA
Nios
Jvenes
Adultos
Viejos
EDAD
0 - 12
13 - 29
30 - 59
60 en adelante
17. En una empresa se requiere calcular el salario semanal de cada uno de los
n obreros que laboran en ella. El salario se obtiene de la siguiente forma:
145
146
147
148
Un Arreglo es una estructura de datos que almacena bajo el mismo nombre (va
riable) a una coleccin de datos del mismo tipo.
Los arreglos se caracterizan por:
Almacenan los elementos en posiciones contiguas de memoria
Tienen un mismo nombre de variable que representa a todos los
elementos. Para hacerse referencia esos elementos es necesario utilizar
un
ndice
que
especifica
149
VECTORES
Es un arreglo de N elementos organizados en una dimensin donde N
recibe el nombre de longitud o tamao del vector. Para hacer referencia a un
elemento del vector se usa el nombre del mismo, seguido del ndice (entre
corchetes), el cual indica una posicin en particular del vector. Por ejemplo:
150
Matriz
Es un arreglo de M * N elementos organizados en dos dimensiones
donde M es el nmero de filas o reglones y N el nmero de columnas.
Para representar una matriz se necesita un nombre de matriz
se necesita un nombre de matriz acompaado de dos ndices.
151
152
Nota
para hacer el
llenado de una matriz se deben de usar dos variables para los
ndices y se utilizan 2 ciclos uno para los renglones yotro para
las columnas; a estos ciclos se
les llama ciclos anidados (un ciclo dentro de otro ciclo).
153
PRACTICA N 15
1. Calcular el promedio de 50 valores almacenados en un
vector. Determinar adems cuantos son mayores que el
promedio, imprimir el promedio, el nmero de datos
mayores que el promedio y una lista de valores mayores
que el promedio.
2. Llenar dos vectores A y B de 45 elementos cada uno,
sumar el elemento uno del vector A con el elemento
uno del vector B y as sucesivamente hasta 45,
almacenar el resultado en un vector C, e imprimir el
vector resultante.
3. Llenar un vector de 20 elementos, imprimir la posicin
y el valor del
elemento mayor almacenado en el vector. Suponga que tod
os los elementos del vector son diferentes.
4. Almacenar 500 nmeros en un vector, elevar al
cuadrado cada valor
almacenado en el vector, almacenar el resultado en otro ve
ctor. Imprimir el vector original y el vector resultante.
5. Almacenar 300 nmeros en un vector, imprimir cuantos son
ceros, cuantos son negativos, cuantos positivos. Imprimir a
dems la suma de los negativos
y la suma de los positivos.
154
TALLER DE PROGRAMACION
32. Elabore un pseudocdigo y diagrama de flujo que sume, reste,
multiplique y divida dos nmeros: x = 10 y = 2
33. Elabore un pseudocdigo y diagrama de flujo que calcule el rea
de un rectngulo: Lado1 = 3 lado2 = 4, rea del rectngulo=lado1
* lado2
34. Elabore un pseudocdigo y diagrama de flujo que reciba un
nmero entero y devuelva su inmediato siguiente. Por ejemplo si
ingresa 28 la salida debe ser 29.
35. Una tienda de abastos ofrece un descuento del 8% sobre el total
de la compra y un cliente desea saber cunto deber pagar
finalmente por su compra. Elabore un pseudocdigo y diagrama de
flujo que resuelva este problema.
36. Escribir un algoritmo que calcule y escriba el cuadrado de 25
37. Dada una cantidad en pesos, obtener la equivalencia en dlares,
asumiendo que la unidad cambiara es un dato desconocido.
38. Calcular el nmero de pulsaciones que una persona debe tener por
cada 10 segundos de ejercicio, si la formula es: nm. pulsaciones
= (220 edad)/10
39. Calcular el nuevo salario de un obrero si obtuvo un incremento del
25% sobre su salario anterior.
155
40.
rea
Porcentaje del
presupuesto
Ginecologa
40%
Traumatologa
30%
Pediatra
30%
156
157
PORCENTAJE DE LA SUPERFICIE
TIPO DE RBOL
DEL BOSQUE
70%
pino
20%
oyamel
158
10%
cedro
TIPO DE RBOL
DEL BOSQUE
50%
30%
20%
Pino
Oyamel
cedro
159
160
rea
50
44
.
.
.
CATEGORIA
Nios
Jvenes
Adultos
Viejos
EDAD
0 - 12
13 - 29
30 - 59
60 en adelante
161
162
n-1
y Producto = N! * 2
163
76. Suponga que tiene una tienda y desea registrar sus ventas por
medio de una computadora. Disee un pseudocdigo que lea por
cada cliente:
a) El monto de la venta
b) Calcule e imprima el IGV
c) Calcule e imprima el total a pagar
d) Lea la cantidad con que paga el cliente
e) Calcule e imprime el cambio.
Al final del da deber imprimir la cantidad de dinero que debe
haber en la caja.
164
Variable Global: Se definan antes de los subprogramas, su utilidad radica que si Ud.
Desea puede usarlo en cualquier subprograma, pero si obligadamente en el Programa
principal.
Variable Local: Solo se definen dentro del subprograma y por lo tanto pierden su valor
en otro subprograma.
165