teoria de prograamacion basica contacivil-2011-i
DESCRIPTION
aTRANSCRIPT
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
INGENIERIA CIVIL
SEMESTRE IV
PROGRAMACIÓN DIGITAL
NOMBRE Y APELLIDOS: ………………….
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 1
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
LENGUAJE DE PROGRAMACION
Es un conjunto de símbolos 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 producirán
la ejecución de una determinada tarea. En esencia un programa es un medio para
conseguir un fin.
ALGORITMOS
1. DEFINICIÓN:
Los algoritmos constituyen un listado de instrucciones que indican el cambio
a seguir para dar solución a un problema planteado.
ALGORITMO= LOGICO + CONTROL
Lógico: Especifica el conocimiento en la solución del problema
Control: Estrategia para solucionar el problema
La solución de problemas por medio de la computadora requiere el uso de
un lenguaje para comunicarnos con ella. Una solución puede lograrse con
la técnica de pseudo codificación, es decir la confección de programas
escritos en nuestro propio lenguaje.
El programa producido con pseudocódigo se conoce como pseudo
programa.
El programador diseña un programa, para resolver un problema particular.
Diseñar es un proceso creativo.
El proceso de diseño de un programa consta de los siguientes pasos o
etapas:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 2
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
2. PASOS
PASOS ETAPA DESCRIPCIÓN
1 Análisis del problema Conducen al diseño detallado por medio un código escrito en forma de un algoritmo
2 Diseño de algoritmo
3 Codificación Se implementa el algoritmo en un código escrito en un lenguaje de programación. Refleja las ideas desarrolladas en las etapas de análisis y diseño
4 Compilación y ejecución Traduce el programa fuente a programa en código de máquina y lo ejecuta.
5 Verificación Busca errores en las etapas anteriores y los elimina.
6 Depuración
7 Documentación Son comentarios, etiquetas de texto, que facilitan la comprensión del programa
Concepto
Algoritmo: es un método para resolver un problema mediante una serie de pasos
definidos, precisos y finitos.
Preciso: implica el orden de realización de cada uno de los pasos
Definido: si se sigue dos veces, se obtiene el mismo resultado.
Finito: Tiene un número determinado de pasos, implica que tiene un fin,
Tipos:
Método Descripción Ejemplos
Algorítmico Utiliza un algoritmo y puede ser implementado en una computadora
Instrucciones para manejar un vehículo
Instrucciones para secar grano a granel
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 3
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Instrucciones para resolver ecuación de segundo grado
Heurística: Se apoya en el resultado obtenido en un
análisis de alternativas de experiencias
anteriores similares. De las mismas, a se
deducen una serie de reglas empíricas o
heurísticas que de ser seguidas, conducen
a la selección de la mejor alternativa en
todas o la mayoría de las veces.
Ejemplos
Los algoritmos se pueden expresar por:
Formulas
Diagramas de flujo
Norte-Sur,Top-Down
Pseudo código inicio
leer a,b,c
calcular
escribir perímetro
fin
3. TRATAMIENTO DE DATOS:
a) Constantes y variables:
Constantes:
Una constante es un valor que permanece invariable durante todo el
procesamiento.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 4
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
a.1. Constantes numéricas:
Una constante numérica está formada por una serie de dígitos 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
Observación:
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 alfanuméricas
Una constante alfanumérica 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 simbólico que representa una
localidad en memoria para almacenar un valor el mismo que puede
variar durante el proceso
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 5
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ejemplo:
a) X b) Y c) XY d) NOM e) X1 f) XYZM g)X4 h) AREA
b. Normas de Trabajo
a) El primer carácter tiene que ser una letra.
b) El segundo carácter puede ser letra o digito (opcional)
c) Los caracteres especiales no se permiten & , ?, @, * , etc.
d) Las cadenas en su representación alfanumérica deben estar
encerradas entre comillas. Casi todos los caracteres del teclado
pueden formar parte de una notación de cadena, con la
excepción de las comillas ( “ “ ) debido a que ellas ya forman
parte de la cadena, indicando donde comienza y donde termina.
Ejemplos:
A = “María”
B = “Hola”
C = “1234”
D = “14 de Noviembre del 1980”
Una cadena nula o vacía es aquella que no contiene caracteres
ni espacios en blanco (se llama también de longitud cero).
H = “ “
Los espacios en blanco en las cadenas se consideran como
caracteres que son tratados de igual forma que los restantes
símbolos y caracteres.
e) La concatenación de cadenas es la operación de suma de
cadenas para formar una cadena de mayor longitud.
La suma se realiza mediante el signo +
A= “VALENCIA”
B = “BARCELONA”
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 6
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
C = A+ B = VALENCIABARCELONA
D = “ “
E = A + D + B = VALENCIA BARCELONA
F = A + “ “ + B = VALENCIA BARCELONA
4. TIPOS DE OPERADORES
a) Operadores aritméticos
Operador Descripción^ Exponente/ División* Multiplicación+ Suma- Resta
b) Operadores de Relación
Operador Descripción< Menor> Mayor= Igual
<= Menor igual que>= Mayor igual que<> Diferente
c) Operadores lógicos
Operador DescripciónAnd YOr ONot No
Nota: El computador evalúa 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 expresión, excepto que las
cadenas no pueden formar parte de las expresiones entera, reales o
booleanas (lógicas). Las cadenas sólo pueden aparecer en las expresiones
de cadena o de relación.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 7
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
CORRECTO INCORRECTO
4.23*(A + B) 4234 + “BUENOS DIAS”
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” L = 7877 + “sss” + 454
PRIORIDAD TOTAL DE OPERADORES
Sin embargo cuando concurren varios operadores en una expresión es
preciso seguir unas reglas de prioridad con absoluta rigurosidad. Si existen
diferentes paréntesis (se llama en este caso anidados), estos se evalúan en
primer lugar.
Prioridad de Operadores
Tipo de Operador Prioridad Operador Significado
Paréntesis 1 ( ) Máxima prioridad
Operadores aritméticos
2 ^ ** Exponenciación3 * Multiplicación4 / División4 + Suma4 - Resta4 Signo+, signo - Signo de los
números
Operadores de relación
5 = Igual que5 < > Distinto5 < Menor que5 > Mayor que5 < = Menor o igual
5 > = Mayor o igual
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 8
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Operadores lógicos
6 Not Complemento lógico
7 And AND (Y) lógico8 Or Or (o) lógico9 Xor
Ejemplos
a) Exprese en términos matemática, las siguientes expresiones:
a) 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) X= P + Q* (B+H) ^((C+1) ^ (D+1))
g) T= U + Z * (X+Y) ^((X+1) ^ (Y+1))
h) H= U ^ 2 + Z ^ (3 * (X+Y) ^ ((X+1) ^ (Y+1)))
i) J= L ^ (D+9) + Z ^((K+7) *((X+2) ^ (X+3) ^ (Y+5)))
j) M= L ^ (5+C) + Z ^((B+Y) * ((B+Z) ^ ((B+3) ^ (6+5)))
k) Z= (A / (X+ Y) ^(3/8)) – C ^( 2 / 3)
l) K= (L ^ ((Z+Y) ^(5/3))) / (Z ^(K+7) * ((X+2) ^ ((X+3) ^ (Y+5))))
m) B= (4 ^((Z+Y) ^(5/3))) / (H ^((K+7) * (J+2)) ^ ((Y+3) ^ (P+5)) ^ (B+1))
b. Exprese en términos de computación, lo siguiente:
a) X = ( Y )3 b) X = ( YZ 1/2 )3/4 c) X = A + E 1/3 __ Z2 F+H 1+( E )2/3
2 C4
d) A = X+1 e) D = (X+Y)3 + (X + Y)C f) G = X+Y/Z_ Y X-Y X-Y(Z)2
g) A = B h) E = (A+B) C i) F = XY_ (C+D)2 D 1-4ZY
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 9
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
j) G = XY k) H = (X+Y)2 .(A-B) l) I = B__ MN (C+D)
m) J = ((A+B)2)2 n) K = XY_ ñ) Q = (X+Y)2 + (X+Z)C+2
1-4ZX
o) J = ((A+B)5)c+1 p) K = X+Y q) R = (X+Y)8 + (X+Z)C+ Y
1- (X- H)5
c. Suponiendo que A=4, B=12, C=4, D=20, E=2 evalué correctamente el
resultado de las siguientes expresiones:
a) X = A+ (B-C) ^E
b) X = A + B – C / E
c) X = D* E ^ E- C
d) X = A * B/R + 6
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
m) X = (B + 200) + 5 + 256^ E + 2*B
n) X = (500 + B) ^ C ^ E + 800*A
d) Exprese en términos de computación y despeje las siguientes
expresiones:
a) 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
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 10
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
g) T= U + Z x (X+Y) x (F + J) Hallar F
PRACTICA Nº 01
1. Exprese en términos matemática, las siguientes expresiones:
a) Z = (A / D) + C ^ (2 / 3) b)Z = (A ^ 9)/ (C ^ (4 / 3 )) c) Z =H^ ( F ^ (2/3))
d) Z= (B/(X+ A)) – C ^ (2 / 3) e) K= (Z*V)-B+M*(A/B)*4
f) X= P + Q* (B+H) ^((C+1) ^ (D+1))
g) T= J + M *((H+Y) ^ ((M+1) ^ (A+1)))
n) H= U ^ 2 + Z ^(5 * (X+M) ^ ((N+1) ^ (B+1)))
o) J= L ^ (D+9) + H ^((J+1) * ((X+1) ^ ((X+5) ^ (Y+9))))
p) M= M ^ (8+K) + Z ^((B+Y) *((B+Z) ^ ((B+3) ^ (6+5))))
q) Z= M / ((X+ Y) ^(3/7) – C ^ (7 / 3))
r) K= (M ^ ((A+B) ^(5/3))) / (Z ^(L+7) * ((J+2) ^ ((M+3) ^ (Y+5))))
s) M= (4 ^ ((J+I) ^(5/3))) / (H ^((P+7) * (L+2) ^((T+3) ^ ((P+5)) ^ (B+1))))
t) J= (A*C - 1)/(B- ((C+1)/D))
u) X= (A^(B(C-1))) -C
2. Exprese en términos de computación, lo siguiente:
a) K = ( Y )7 b) X = ( M 3/2 )3/5 c) X = A + E 1/3 __ N2 F+B 1+( E )2/3
2 C4
d) A = B+1 e) D = (A+B)3 + (X + Y)C f) G = A+Y/Z_ M M-N M-Y(Z)2
g) A = M h) E = (A+M) C i) F = KM_ (C+K)2 J 1-4ZY
j) G = XMN k) H = (X+Y)2 .(P-Q) l) I = B__ MP (M+N)
m) J = ((A+L)2)5 n) K = XK_ ñ) Q = (A+B)2 + (M+Z)C+2
1-4ZM
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 11
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
o) J = ((A+B)5)c+1 p) K = M+Y q) R = (X+Y)8 +(M+Z)C+ Y
1- (X- H)5
3. Diga que asignaciones son correctas (C) o incorrectas (I):
a) ALFA = 23.5 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
m) L = “JUAN” n) A= “JUAN” +1 o) A = “C” p) M = N
4.Exprese en términos de computación y despeje las siguientes expresiones:
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
f) 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
k) C(2M – 4M) + 5C Hallar C
l) J+6-T = 5T +8 Hallar T
m) M2 + 9N+5P= 5M2- 5N Hallar M
n) Q2 + 9Y+5P= 9Q2- 5Y Hallar Q
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 12
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
DIAGRAMAS DE FLUJOS
Es la representación grafica de un flujo lógico que se ha de emplear para
resolver un problema empleando símbolos que representan cada una de las
operaciones de entrada, proceso y salida de datos.
Los símbolos más usuales son:
Objeto Inicio
Es el primer objeto a ejecutar en cualquier algoritmo. Al ser ejecutado, el objeto
Inicio transfiere el control al siguiente objeto.
Representa el inicio, final del proceso. Esta figura opera al principio y al final de
todo diagrama de flujo, su nombre es “símbolo Terminal” e indica donde inicia y
donde termina un programa.
Lectura o salida de datos
Esta figura en forma de paralelogramo indica “operación de entrada” lectura o
salida de datos.
Representa operaciones de entrada y salida, Esta figura rectangular indica un
proceso “operación de procesamiento” cálculos, ordenes, excepto una decisión
Decisión
Esta figura en forma de diamante o rombo indica una “decisión” generalmente
plantea una interrogante) las líneas que salen de las figuras se identifican con
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 13
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
los resultados de la decisión así como una línea será verdadera (V o si) y la
otra será falsa (F o no)
Proceso
Esta figura indica un proceso predefinido (subrutina) es decir enlaza un
subprograma auxiliar que forma parte de un programa general.
Conector
Esta figura en forma de circulo pequeño 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 están
conectados.
Esta figura pentagonal indica conector de final de pagina y se utiliza en
diagramas de flujo bastantes extensos que pueden abarcar dos o mas paginas.
Flechas
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 14
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Estas flechas indican la Dirección del flujo de control, en la secuencia del
programa descrito generalmente se adopta que la dirección del flujo deberá ser
de arriba hacia abajo y de izquierda a derecha.
Subprograma
Un subprograma realiza una tarea específica. Puede recibir cero o más valores
del programa o subprograma y puede devolver cero o mas valores al programa
o subprograma que lo llamo.
EJEMPLO
Diseñar una solución para resolver el siguiente problema y trate de refinar
su solución mediante un diagrama de flujo:
Realizar una llamada telefónica desde una cabina pública
SOLUCION
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 15
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 16
Inicio
Ubicar la cabina de teléfono público
Esta ocupada o desocupad
a
Esperar
Ingresar a la cabina telefónica
Insertar la moneda
Marcar el Nro. Telefónico
Ocupado?
SI
NO
Descolgar el auricular del
teléfono
Conversar con la persona
Esperar
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PRACTICA Nº 21. Suponiendo que A=4, B=12, C=4, D=20, E=2 evalué correctamente el
resultado de las siguientes expresiones:
a) X = A+ (B-C) ^E
b) X = A + B – C / E
c) X = D* E ^ E- C
d) X = A * B/E + 6
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
m) X = (B + 200) + 5 + 256^ E + 2*B
n) X = (500 + B) ^ C ^ E + 800*A
2. Exprese en términos de computación y despeje las siguientes
expresiones:
a) 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) (M + 2)*2 + 4*M = 6 + M*2 Hallar M
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 17
Fin
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
k) ( K + L)*M = B/5 Hallar B
l) ( H + P ) /4 = M/5 Hallar P
m) ( A + 1)*3 + 9*A - 9 = A*3 + 3*A +3* A + 6 Hallar A
n) 9*( A + M) + 3*B = 7*B + 4 Hallar M
3. Diga cuales asignaciones son correctas (C) o incorrectas (I):
M = N A = 85 Nombre
J = “MiProblema” A = “AAAAAAAAAAAAAA” + 4
L = “MiJuego” N = Nombre_Apellidos
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
4. Explicar las Diferencias entre estas sentencias de asignación:
A = B y A = ”B”
A = 7 y A = ”7”
5. Diseñar una solución para resolver cada una de los siguientes
problemas y trate de refinar sus soluciones mediante un diagrama de
flujo:
a) Realizar una llamada telefónica desde su casa
b) Realizar el proceso para tomar el ómnibus a Tacna
c) Realizar en proceso de admisión cuando ingreso al Instituto desde que se
inscribió hasta el examen de admisión.
d) Realizar el proceso de freír un huevo.
e) Realizar el proceso a seguir por un automovilista al cual se le desinfla un
neumático en la calle de una ciudad.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 18
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
f) Realizar el proceso que realiza una persona para llegar a su trabajo en la
mañana.
g) Realizar el proceso que permita introducir por teclado dos números
cualquiera (A y B) y obtener e imprimir la suma de ambos (S)
DFD¿Que es Dfd?
Dfd es un software diseñado para construir y analizar algoritmos. Usted puede
crear diagramas de flujo de datos para la representación de algoritmos de
programación estructurada a partir de las herramientas de edición que para
éste propósito suministra el programa. Después de haber ingresado el
algoritmo representado por el diagrama, podrá ejecutarlo, analizarlo y
depurarlo en un entorno interactivo diseñado para éste fin. La interfaz gráfica
de Dfd, facilita en gran medida el trabajo con diagramas ya que simula la
representación estándar de diagramas de flujo en hojas de papel.
Barras de Herramientas:
Descripción:
Opción Archivo: Permite crear nuevo archivo, guardar, imprimir, salir.
Opción Edición: Permite copiar, pegar, insertar, eliminar, otros.
Opción Objeto: Permite ejecutar las opciones mostradas en el gráfico.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 19
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
En esta opción cubre todas las bondades que brinda el Software en mención.
Tales Asignación, Estructuras de control: Mientras<cond>, Para, Decisión, etc.
Opción Ver: Permite aumentar o disminuir el Diagrama, depurar, etc.
Opción Ejecución: Permite ejecutar F9, Pausar.
Opción Depuración: Permite ejecutar paso simple F7, evaluar F5.
Opción Opciones: Permite usar ángulos en grados, radianes.
Opción Ayuda: Brinda ayuda al lector.
Descripción de algunos botones:
Los botones:
Detenemos la ejecución paso a paso para editar la asignación errónea y
corregirla.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 20
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Subprograma Anterior y Subprograma siguiente se activan cuando su diagrama
de Flujo tiene Subprogramas.
Si desea Eliminar Subprogramas usar el botón
El botón indica Ejecutar Hasta, significa que puede ejecutar parcialmente el
programa hasta donde avanzo.
El botón indica Depurador.
Depurador
En este estado se puede observar con detalle el comportamiento del algoritmo,
facilitando la detección y eliminación de errores. En Dfd las herramientas de
depuración permiten realizar depuración /paso a paso y depuración/ejecutar
hasta.
El botón indica Paso simple, es decir; ejecutar por pasos (bloques).
Depuración | Paso Simple
Este comando permite ejecutar paso a paso el algoritmo representado por el
diagrama en edición.
En caso de que la acción actual sea Edición, se realizará primero una revisión
del diagrama para encontrar errores de sintaxis. En caso de que un error sea
encontrado, un mensaje será desplegado indicando el tipo de error y el objeto
en el que se presentó. Si el diagrama está libre de errores se coloca la acción
actual en Depuración Paso a Paso y el siguiente objeto a ejecutar, que en este
caso será el Inicio, será resaltado.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 21
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Si la acción actual es Depuración Paso a Paso, se ejecutará el objeto resaltado
y el nuevo objeto resaltado será el siguiente a ejecutar.
Otras formas de acceder al comando:
Barra de herramientas
Teclado F7Ejecución | Ejecutar
Este comando coloca la acción actual en Ejecución y da paso a la ejecución del
algoritmo.
En caso de que la acción actual sea Edición, se realizará primero una revisión
del diagrama para encontrar errores de sintaxis. En caso de que un error sea
encontrado, un mensaje será desplegado indicando el tipo de error y el objeto
en el que se presentó. Si el diagrama está libre de errores, se ejecutará el
algoritmo a partir del objeto Inicio.
Otras formas de acceder al comando:
Barra de herramientas
Teclado F9
SÍMBOLOS DEL DFD
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 22
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 23
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 24
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 25
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PROGRAMACION
Es un proceso para convertir especificaciones generales de un sistema en
instrucciones utilizables por la máquina, que produzcan los resultados deseados.
Se le conoce también como desarrollo de software.
PROGRAMA
Es una lista de instrucciones que la computadora debe seguir para procesar datos
y convertirlos en información. Las instrucciones se componen de enunciados
usados en lenguajes de programación como Basic, Pascal o C.
CARACTERÍSTICAS DEL PROGRAMA
Debe ser confiable y funcional
Advertir errores de entrada obvios y comunes
Documentado adecuadamente
Ser comprensible
Codificado en el lenguaje apropiado
DATOS
Son las características propias de cualquier entidad. Por ejemplo: los datos de una
persona como su edad, fecha de nacimiento, domicilio, número de teléfono, etc.
INFORMACIÓN
Es el conocimiento relevante producido como resultado del procesamiento de
datos y adquirido por la gente para realzar el entendimiento y cumplir ciertos
propósitos.
PROCESAMIENTO DE DATOS
Consiste en la recolección de datos de entrada que son evaluados y ordenados
para ser colocados de manera que produzcan información útil.
ACTIVIDADES DEL PROCESAMIENTO DE DATOS
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 26
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Entrada
Proceso
Salida
EL LENGUAJE DE PROGRAMACIÓN
Existen diferentes tipos, de bajo nivel y de alto nivel. Son instrucciones en una
computadora.
Una instrucción 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:
E/S: Pasar información del exterior al interior del ordenador y al revés.
Aritmético-lógicas: Aritméticas: +,-,*,... ; Lógicas: or, and, <, >, ...
Selectivas: Permiten la selección de una alternativa en función de una condición.
Repetitivas: Repetición de un número de instrucciones un número finito de veces.
TIPOS DE LENGUAJES:
Lenguaje máquina: Todo se programa con 1 y 0, que es lo único que entiende
el ordenador.
Ventaja: No necesita ser traducido.
Inconveniente: La dificultad, la confusión, para corregir errores, es propia de
cada máquina.
De bajo nivel o ensamblador: Se utilizan mnemotécnicos (abreviaturas).
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 27
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ventaja: No es tan difícil como el lenguaje máquina.
Inconvenientes: Cada máquina tiene su propio lenguaje, necesitamos un
proceso de traducción.
El programa escrito en ensamblador se llama programa fuente y el programa
que se obtiene al ensamblarlo se llama programa objeto.
Lenguajes de alto nivel: Los más cercanos al lenguaje humano.
Ventaja: Son independientes de cada máquina (los compiladores aceptan las
instrucciones estándar, pero también tienen instrucciones propias).
Inconveniente: El proceso de traducción es muy largo y ocupa más recursos.
Aprovecha menos los recursos internos.
ESTRUCTURAS BASICAS DE UN PROGRAMA
Los pseudoprogramas tienen las siguientes estructuras básicas:
Estructura secuencial:
Una estructura secuencial esta formada por una o más instrucciones de
ejecución secuencial.
1. Asignación:
La asignación se utiliza para almacenar en una variable, el resultado de
evaluar la expresión
FORMA GENERAL:
VARIABLE = EXPRESION
Ejemplo:
B=10
A=16
N1=n1+n2
Inicial=”LI”
a. Entrada de datos
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 28
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
La operación de entrada se emplea para leer datos desde un periférico
estándar de entrada (generalmente por teclado) y lo almacenamos en
una variable de memoria)
FORMA GENERAL:
LEER (VARIABLE (,LISTA DE VARIABLES))
Ejemplo:
Leer (nota)
b. Salida de datos
Visualiza el valor de una expresión a través de un periférico estándar de
salida.
FORMA GENERAL:
ESCRIBIR (VARIABLE (,LISTA DE VARIABLES))
Ejemplo:
Escribir (nota)
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 números.
XYZ1=M*N*H
c. Halle lo siguiente si:
A= ‘HOLA’ B=’ADIOS’ C=’LIBRE’ D=’ ‘
ABC=HOLAADIOS
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 29
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
ABC1=HOLA LIBRE
ABC2=HOLA ADIOS LIBRE
d. Halle lo siguiente si:
1. Sume tres números cualquiera S= A + B + C
2. Leer una palabra y escribirla
3. Hallar el total, si sabemos que el IGV es el 19% de la cantidad
vendida
e. Halle lo siguiente si:
a. Hallar el área de un cuadrado
AREA = L2
b. Hallar las siguientes ecuaciones:
a. M = N + J Encuentre J
R
b. P = M + N + T + H Encuentre H
2 4
c. K = Z + R + D + H Encuentre D
M F
SOLUCION
a.1.
Pseudoprograma que suma tres números fijos
inicio
P=2
M=3
T=9
XYZ=P + M + T
Escribir (XYZ)
fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 30
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
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.Pseudoprograma que multiplica tres números
Inicio
Leer (M, N, H)
XYZ1 = M*N*H
Escribir (XYZ1)
Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 31
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
c.1Pseudoprograma que escribe la palabra HOLAADIOSInicioA=’HOLA’B=’ADIOS’ABC=A+BEscribir (ABC)Fin
c.2Pseudoprograma que escribe la palabra HOLA LIBREInicioA=’HOLA’B=’LIBRE’D=’ ‘ABC1=A+D+BEscribir (ABC1)Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 32
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
d.1
Pseudoprograma que suma 3 númerosInicioLeer (A)Leer (B)Leer (C)S= A+ B + CEscribir (S)Fin
d.2Pseudoprograma que escribe una palabraInicioLeer(A)Escribir (A)Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 33
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
e.1Pseudoprograma que halle el área del cuadradoInicioLeer(L)AREA=L*LEscribir (AREA)Fin
e.2.a. Primero se procede a despejar la variable
M= N + J/R
b. Realizar el diagrama de flujoJ=R (M-N)
Pseudoprograma que halle JInicioLeer (M)Leer (N)Leer (R)J=R*(M-N)Escribir (J)Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 34
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PRACTICA Nº 3
1. Realizar un Diagrama de Flujo y pseudoprograma que determine lo siguiente:
b) Halle las siguientes operaciones. Si:
A= 1000, B=500, C=225, D=589, E= 8965, F= 9700, G=100
RESULTAD = A+ F + (D-C)3
RESULTAD1 = D* A – (C-G)2
RESULTAD2 = A/B + F/G
RESULTAD3 = (E+F)(A/G)
RESULTAD4= (F/G)2 + (G*C) + 5000
c) Que permita ingresar y visualizar los siguientes datos: código del alumno, nombre,
apellido del alumno, dirección, colegio, teléfono.
d) Halle lo siguiente. Si:
A= ‘MARTA’ B=’RIOS’ C=’ESTUDIA’ D=’UNIVERSIDAD’ E=’Y’
F=’EN’ 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) Calcule el volumen de un cilindro recto conociendo su radio y su altura
R=radio de la base
H=altura
Pi= 3.141516
VolCilindro = piR2H
g) Calcule el área total de un cilindro recto de radio y altura conocidos
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 35
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PI=3.141516
R=radio de la base
H=altura
AreaTotalCil= 2pi(R+H)
h) Se tiene un circunferencia de radio r, inscrita en un triangulo de lados a, b, c.
Encuentre el área de este triangulo en función de a,b,c y r.
AREADEL ABC = (A + B+ C) . R
2
i) Sabiendo que una milla equivale a 1609 kilómetros, lea una cantidad en millas y
conviértala en kilómetros.
j) Hallar K
C = H + K / 6
k) Hallar F
C1 = K + R + F/ 7 + 32
l) Realizar un diagrama de flujo y pseudoprograma tal que dado el radio, la
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)
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 36
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
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 Multiplicación
(MULTIPLICACION)
e) Leer M y N que ingresen por teclado y hallar la División(DIVISION)
f) Leer P y Q y halle la suma(S), resta( R ), multiplicación( M ) y división (D)
g) Que escriba en pantalla la palabra “HOLA”
h) Que escriba en pantalla el nombre “JUAN PEREZ”
i) Que permita ingresar su nombre, apellido, teléfono y visualizarlo.
j) Que permita ingresar 5 notas y hallar su promedio
b. Realizar un diagrama de flujo y pseudoprograma calculando el área de :
a) Triangulo:AREA = (BASE1 x ALTURA1)
2b) Área del trapecio:
AREA= (BMAYOR + BMENOR) x ALTURA
2c) Área del cilindro:
¶=3.141516
AREA = 2 x PI x RADIO x ALTURA
d) Distancia:
D = 1 ACELERACIONxTIEMPO2
2
e) Área del Cuadrado:
C= L2
f) Área del Circulo:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 37
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
¶=3.141516
AREA = PI x RADIO2
g) Velocidad (A= aceleración y T= Tiempo) V= A x T
h) Construya un diagrama de flujo tal que dado el perímetro de la base, el
apotema y la altura de un prima pentagonal; calcule l área de la base, el
área lateral, el área total y el volumen.
AB= (PER x APO)/2 (AREA BASE)
AL= PER x ALT (AREA LATERAL)
AT= 2x AB + ALT (AREA TOTAL)
VOL= AB x ALT (VOLUMEN)
c. Calcular las siguiente ecuaciones y realizar un diagrama de flujo y
pseudoprograma:
X= M3 + 7M2 + 4M + 8
X1= 9Y5 + 8Y4 + 9Y3 + 8Y2 + 6Y + 7
X2= 9B7+ 5B6 + 36B5 + 40B4 + 52B3 + 12B2+5B+9
d. Realizar un diagrama de flujo y pseudoprograma que lea un número, lo
multiplique por 2 y a continuación lo escriba de nuevo en pantalla
e. Realizar un diagrama de flujo y pseudoprograma que dado los datos A,B,C,
D que representen los números enteros, escriba los mismos en orden
inverso.
f. Realizar un diagrama de flujo y pseudoprograma que solicite al usuario la
longitud y anchura de una habitación y a continuación visualice su
superficie.
g. Realizar un diagrama de flujo y pseudoprograma que convierta un número
dado (Segundos) en su equivalente en minutos. Si sabemos que 1 minuto =
60 segundos.
h. Realizar un diagrama de flujo y pseudoprograma que realice la tabla de
multiplicar de un número determinado hasta el Nro. 12.
i. Realizar la siguiente ecuación
K= (M ^ ((A+B) ^(5/3))) / (Z ^(L+7) * ((J+2) ^ ((M+3) ^ (Y+5))))
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 38
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
FUNCIONES PREDEFINIDAS
Las funciones son fórmulas predefinidas que ejecutan cálculos utilizando valores
específicos, denominados argumentos, en un orden determinado o estructura. Las
funciones pueden utilizarse para ejecutar operaciones simples o complejas.
a. FUNCIONES MATEMÁTICAS:
Valor Absoluto: ABS(X)
Determina el valor absoluto de C el mismo número sin signo.
Sintaxis : ABS( X )
Entrada X Valor de tipo de dato entero o real.
Resultado Valor absoluto de X.
Ejemplo : ABS( -3 ) da como resultado 3.
ABS(128) = 128
ABS(3.97)= 3.97
ABS(-4.25)= 4.25
ABS(-64)= 64
Extrae la Parte Entera TRUNC(X) :
Devuelve el valor de X truncado es decir ignora la parte decimal.
Sintaxis TRUNC( X )
Entrada X Valor de tipo de dato Real.
Resultado Parte entera de X.
Ejemplo: TRUNC(3.7 ) Retorna 3.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 39
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
TRUNC(-4.5 )= -4.
TRUNC(-3.14)=-3
TRUNC(5.2)=5
TRUNC(-339.00451)=-339
Convierte al Entero más Cercano: ROUND(X)
Devuelve el valor de X redondeado al valor inmediato superior
Sintaxis ROUND( X )
Entrada X Valor de tipo de dato Real.
Resultado El entero mas cercano a X.
Ejemplo: ROUND( 3.3 ) retorna 3
ROUND( -4.7 ) retorna -5.
X=2.65
ROUND(X) = 3
ROUND(-7.15)=-7
ROUND(4.448)=4
Raíz Cuadrada: SQRT(X)
Devuelve la raíz cuadrada
Sintaxis SQRT( X )
Entrada X Valor de tipo de dato Real o entera ; X>=0.
Resultado Raíz Cuadrada de X.
Ejemplo X=8
Sqrt(x)=2.8284
Logaritmo Natural: LN(X)
Devuelve el logaritmo natural (logaritmo en base e) de x
Sintaxis LN( X )
Entrada X Valor de tipo de dato Real ; X>0.
Resultado Logaritmo Natural de X.
Ejemplo: Ln(50) = 3.91
Exponencial: EXP(X)
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 40
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Devuelve el valor de ex elevado a la X
Sintaxis EXP( X )
Entrada X Valor de tipo de dato Real.
Resultado El exponencial de X ; es decir el número e ( 2.71828182... ) elevado
a la potencia X.
Ejemplo:
EXP(4.5) equivale e 4.5 o bien 2.7182824.5
Nota : Esta es la función inversa de LN, por lo tanto LN( EXP( X ) ) = X.
Numero Aleatorio:
Proporciona un número aleatorio
Sintaxis RANDOM( N )
Donde:
N: Es opcional, si existe debe ser una expresión entera de valor mayor que 0
Si no existe n, RANDOM proporciona un número entre 0 y 1 es decir
0<= Nro. <= 1
Si existe el parámetro n, RANDOM proporciona un número entre 0 y 1 es decir
0<= Nro. <=N
Ejemplo: V= RANDOM(10)
Visualiza un número aleatorio entre 0 y 9
V= RANDOM(100)
Visualiza un número aleatorio entre 0 y 99
Otros datos:
Entrada X Valor de tipo de dato Real.
Resultado Genera un número aleatorio R, donde 0 <= R <= X-1 para todo X>1 y
R= 0 para todo X<=1.
Resto: MOD
Sintaxis: X MOD Y
Entrada X, Y Valores de tipo Real.
Resultado El residuo de dividir X entre Y, definido como un valor
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 41
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ejemplo: X = 8
Y = 4
X MOD Y = 0
Ejemplo:
X = 7
Y = 3
X MOD Y = 1
b) FUNCIONES TRIGONOMETRICAS
Seno SIN( X )
Determina el valor de seno X
Sintaxis SIN( X )
Entrada X Valor de tipo de dato Real o entero
Resultado Seno de X.
Ejemplo:
X=2
SIN (2) = 0.0348994967
Coseno COS( X )
Determina el valor de coseno de X
Sintaxis COS( X )
Entrada X Valor de tipo de dato Real o entero.
Resultado Coseno de X.
Ejemplo X=2
Cos (2)= 0.999390827
Tangente TAN( X )
Sintaxis TAN( X )
Entrada X Valor de tipo de dato Real.
Resultado Tangente de X.
Ejemplo X= 1
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 42
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Tan(1)=0.01745506492
Arcoseno ASIN( X )
Determina el valor del seno de X
Sintaxis ASIN( X )
Entrada X Valor de tipo de dato Real.
Resultado El ángulo cuyo seno sea igual a X ; -1<= X <= 1.
Ejemplo : ASIN(0.7)= 44.427004
ASIN(0.5)=30
Arcocoseno ACOS( X )
Determina el valor del arcocoseno de X
Sintaxis ACOS( X )
Entrada X Valor de tipo de dato Real ; -1<= X <= 1.
Resultado El ángulo cuyo coseno sea igual a X .
Ejemplo: ACOS(0.5) =60
Arcotangente ATAN( X )
Determina el valor del arcotangente de X
Sintaxis ATAN( X )
Entrada X Valor de tipo de dato Real.
Resultado El ángulo cuya tangente sea igual a X .
ATAN(0.5)= 26.56505118
c) FUNCIONES DE TEXTO
Largo de Cadena LEN( S )
Sintaxis LEN( S )
Entrada S Una cadena de caracteres.
Resultado Valor de tipo de dato Real ( un entero ) con el número de caracteres
de la cadena S.
Ejemplo:
Y = ‘PROGRAMA’
LEN(Y) =8
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 43
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Subcadena SUBSTRING( S, INICIO, CUANTOS )
Sintaxis SUBSTRING( S, INICIO, CUANTOS )
Entrada S Una cadena de caracteres.
Donde:
INICIO, Valor de tipo de dato Real (entero), donde INICIO >=1.
CUANTOS, valor de tipo de dato Real (entero), donde CUANTOS >=0.
Resultado Una cadena de caracteres que es subconjunto de la cadena S a
partir de la posición INICIO con CUANTOS caracteres de longitud.
Ejemplo: SUBSTRING( ‘DIAGRAMA’, 5, 4 ) Retorna ‘RAMA’.
X=’PROGRAMA’
SUBSTRING(X,3,2)= OG
EJERCICIOS
1. Realizar un Diagrama de Flujo y pseudoprograma que determine lo siguiente:
a. Hallar la raíz cuadrada de un número.
X=SQRT(N)
b. Hallar el coseno de un número.
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)
e. Extra de la siguiente cadena de caracteres:
A=’CARRERA’
B=’DE’
C=’INGENIERIA CIVIL’
D=’PROFESIONALES’
E=’2010 - 2012’
Obtener:
XYZ= CARRERA DE INGENIERIA CIVIL
XYZ1=CAFÉ DE CIVIL
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 44
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
XYZ2=CADENA
XYZ3=INGENIERO CIVIL
XYZ4=PROVINCIA - 2012
f. Hallar del siguiente número:
1. - 4.638 el número 4
2. - 8.63871111 el número 8
3. 5.65 el número 6
4. -6.845 el número 7 y luego hallar su raíz cuadrada.
g. Hallar el resto de los siguientes números
M = 10
N=5
SOLUCION
1.a.
Pseudoprograma que halla la raíz
Inicio
Leer(N)
X=SQRT(N)
Escribir(X)
Fin
1.b.
Pseudoprograma que halla el coseno
Inicio
Leer(N)
X=COS(N)
Escribir(X)
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 45
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Fin
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 número cualquiera
b. Hallar el valor truncado de un numero cualquiera
c. Hallar el valor redondeado de un número cualquiera
d. Hallar el número aleatorio del 0 al 1000.
e. Hallar el número aleatorio hasta 4009.
f. Hallar el resto de dos números cualquiera.
g. Supongamos que x,y,z son las siguientes funciones de t:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 46
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
1) X = t3 – 8t + 4
2) Y= seno(t) + coseno (2t)
3) Z= e 3t + 5
4) W = ln(t) + t + tangente(t)
h. Supongamos que M, N, P es la siguientes funciones Z:
M = z + √z
N = trunc(z) + seno(z)
P = 3 seno(z) + e 2z-1
i. Hallar el valor de Y. Si sabemos que:
X= 8Y+ 5Y – 7Y
j. Hallar el valor de:
XYZ = ‘TECNOLOGICO y UNIVERSIDAD’ XYZ1=’MARIATEGUI’
XYZ2=’JOSE CARLOS 2010’
Obtener:
A=LOGICO
B=el número de caracteres de la variable XYZ1
C=CARLOS
D=UNIVERSIDAD JOSE CARLOS MARIATEGUI 2010
k. En un triangulo rectángulo, calcule la longitud de la hipotenusa conociendo
las longitudes de sus catetos.
a. donde a, b : catetos del triangulo rectángulo
b. c: hipotenusa
c. C= √(a2 + b2)
l. Hallar el valor de:
AA= ‘UNIVERSIDAD’ BB=’CARRERA’ CC=’CONTABILIDAD’
DD=’INGENIERIA CIVIL 2010 - #’
Obtener:
AB =UNICAR
CD=VER CON CIVIL
EF=CARTA 2010 - #
GH=GENIO – 1020 - #
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 47
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
m. Construya un diagrama de flujo y pseudoprograma que calcule e imprima el
número de segundos que hay en un determinado número de días.
n. Construya un diagrama de flujo y pseudoprograma que dado el costo de un
articulo vendido y la cantidad de dinero entregada por el cliente, calcule e
imprima el cambio que se debe entregar al mismo.
o. Un vendedor recibe un sueldo base más un 10% extra por comisión de sus
ventas, el vendedor desea saber cuanto dinero obtendrá por concepto de
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 fórmulas:
CE - BF AF - CD
X = Y=
AE - BD AE - BD
Diseñar un programa y diagrama de flujo que lea dos conjuntos de
coeficientes ( A, B, C, D, E y F ) y visualice los valores de X y Y
2. Escribir un pseudoprograma y diagrama de flujo que solicite su código,
nombre, primer apellido, segundo apellido, dirección, Institución donde
estudia, edad, teléfono, además de las 3 notas y hallar la media aritmética.
3. Escribir un pseudoprograma y diagrama de flujo que permita calcular el
cuadrado y el cubo de un número.
4. Escribir un pseudoprograma y diagrama de flujo que calcule el promedio de
3 notas.
5. Sabiendo que un dólar equivale a 2.92 soles, lea una cantidad en dólares y
conviértala a soles.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 48
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
6. Escribir un pseudoprograma y diagrama de flujo que halle el total de ventas
si conocemos el precio y la cantidad.
7. Escribir un pseudoprograma y diagrama de flujo y calculé el área total de un
cilindro recto de radio y altura conocidos.
AreaTotalCil = 2r (r + h)
8. Escribir un pseudoprograma y diagrama de flujo que halle el valor absoluto
de un número negativo y luego su raíz cuadrada del numero y que lo
redondee al entero más próximo y finalmente muestre solamente la parte
entera del número.
9. Escribir un pseudoprograma y diagrama de flujo que halle X:
X2 = ( Z + A )
10. Ingrese una temperatura en grados Celcius y diga a cuantos grados
equivale en Farenheit, Kelvin y Rankine.
11. En un triangulo rectángulo, calcule la longitud de la hipotenusa conociendo
las longitudes de sus catetos.
A,B=catetos del triangulo rectángulo
C=hipotenusa
C= (A2 + B2)
12. El área de un triangulo en función del semiperimetro, dada por Herón es:
AREA=p(p-a)(p-b)(p-c), donde a, b y c son los lados del triangulo y
p=(a+b+c)/2 el semiperimetro.
Calcule el área del triangulo aplicando esta fórmula.
13. Escribir la siguiente ecuación
Y = (D-F)5 + (H*L) – (T/M)3 + Ln(D) +Ln3(M) + seno2(A)
14. Escribir un pseudoprograma y diagrama de flujo que dado como datos el
nombre de un dinosaurio, su peso y su longitud, expresados estos dos
últimos en libras y pies respectivamente; escriba el nombre del dinosaurio,
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 49
C F – 32 K - 273 R – 492 = = = 5 9 5 9
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
su peso expresado en kilogramos y su longitud expresada en metros. (1
tonelada equivale a 1000 kilogramos, 1 pie equivale a 0.3047 metros).
15. Cuál es el monto a devolver si nos prestan un capital C, a una tasa de
interés t%, durante n periodos
M = C (1+T)N
16. Un inversionista está pensando invertir C dólares a una tasa de interés T.
¿Cuántos periodos (N) necesita para tener al final M dólares?
17. ¿A cuánto dinero de hoy ( C) equivalen M dólares del futuro, sabiendo que
la tasa de interés 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 diseñar un diagrama de flujo para convertir
grados centígrados ( C ) a grados Farenheit (F). Considere que:
F = 9 C + 32
5
20. Lea dos números. El primero representará el día y mes de su nacimiento
(por ejemplo 1 de Julio será 107), el segundo número vendrá dado por su
edad, luego realice los siguientes cálculos: Multiplique el primer número por
2, adiciónele 5, multiplíquelo por 50, súmele el segundo número, súmele
365 y réstele 615. El resultado vendrá a ser la unión del primer número con
el segundo. Este juego es conocido en los círculos matemáticos 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 código del trabajador, el número 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 bonificación es el 30% del total de los
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 50
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
ingresos. Si el total de los ingresos es igual al pago por horas
normales más pago por horas extras.
c. Encontrar el total que es igual al total de los ingresos más la
bonificación. 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 más 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:
a) yardas
b) pulgadas
c) centímetros
d) metros
(1 pie = 12 pulgadas, 1 yarda=3pies, 1 pulgada=2.54cm, 1m=100cm). Leer
el número de pies e imprimir el número de yardas, pies, pulgadas,
centímetros y metros)
23. Los ingredientes para 4 personas del “pastel de manzana danés” son los
indicados en el cuadro adjunto. Realizar un algoritmo que calcule los
ingredientes para un número variable de personas que se lee por teclado.
675 gramos de manzanas
75 gramos de mantequilla
150 gramos de azúcar
100 gramos de migas de pan
150 mililitros de leche
24. Escribir un pseudoprograma y diagrama de flujo que realice lo siguiente:
1. XX = XY6 –9V5 + 4C3 / 5K7 – e(4x + x)
2. YY= sen(X) + 3cos(6X) + 8tang(2X)/7sen(X)
3. ZZ= sen3(cos(X)) + e (3X + 5)+ tang2(sen3(cos5(X)))
4.J = A + E 1/3 __ 1+(( E )2/3)2T C4
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 51
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
5.ZZ = arcosen(x)/cos2(x) + arcotang(x) – arcocos(x)/sen2(x)
25. Lea una palabra cualquiera y halle cuantos caracteres tiene.
26. Hallar el valor de:
HH = ‘UNIVERSIDAD * 2010’ JJ=’MI PRIMER PROGRAMA’
KK=’JOSE CARLOS’
Obtener:
A=MI UNIVERSIDAD 2010
B=UNIVERSIDAD JOSE CARLOS * 2010
C=PRIMAVERA
D=2010 * GRADA
E= La suma de caracteres de las tres variables HH, JJ, KK
F= Multiplicar la respuesta anterior por 5
27. Hallar el valor de:
HH = ‘DANITZA$RAM&’ 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 raíz cuadrada de la respuesta anterior
F= Redondear la respuesta anterior
G= La parte entera de la respuesta anterior
LOS CONTADORES Y ACUMULADORES
INTRODUCCIÓN:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 52
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Los Procesos de contar y acumular valores son muy utilizados en los programas,
pues permiten hacer cálculos a medida que se vayan procesando los datos y se
pueden codificar en cualquier lenguaje de programación.
a. CONTADOR:
Un contador es un operador matemático/ lógico que se usa en procesos
repetitivos y permite hacer variar el contendido de una variable numérica
en incrementos constantes. Esta operación matemática es usada para
contar, por ejemplo el numero de registros ya sea en forma general o
dependiendo de alguna condición pre-establecida.
Los procesos repetitivos necesitan normalmente contar los sucesos o
acciones internas del bucle. Una forma de controlar un bucle es
mediante un contador. Un contador es una variable cuyo valor se
incrementa o decrementa en una cantidad constante en cada iteración.
Un bloque controlado por contador consta de tres partes:
Inicialización de la variable de control del bucle
Comprobación del valor de la variable de control del bucle
Incremento del valor de la variable de control del bucle.
Forma General:
N = N + Numero
Donde:
N: Es una variable numérica (puede ser cualquier letra)
Número: Es una constante numérica que puede ser positiva o negativa.
Si el número es positivo, entonces el conteo es creciente y si el número
es negativo el conteo es decreciente.
Es recomendable utilizar un valor inicial por cada variable contador o
acumulador, al inicio del programa a donde sea necesario; este valor
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 53
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
inicial, casi siempre es cero, pero esta condición depende del problema
que se este tratando.
Ejemplo:
X = 0
X = X+1
Al ejecutar la asignación los nuevos valores de X son de 0+1 = 1
X=25
X=X+1
Al ejecutar la asignación los nuevos valores de X son de 25+1 = 26
b. EL ACUMULADOR
Un acumulador es un operador matemático /lógico 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
numéricas.
Un acumulador o totalizador es una variable cuya misión es almacenar
cantidades variables resultantes de sumas sucesivas. Realiza la misma
función 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:
Inicialización de la variable de control del bucle en cero
Asignación de la variable a la misma variable mas el valor de la
variable de control del bucle.
Forma General:
S = S + V
Donde:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 54
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
S: Es una variable numérica, donde se almacena el valor de la suma.
V: Es el nombre de a variable o del campo que se desea suma.
Ejemplo:
V =7
S = 40
El nuevo valor de S es
S = 40 + 7
S = 47
ESTRUCTURAS REPETITIVAS
Una estructura repetitiva, de control iterativas se utilizan cuando se desea que
una sentencia o bloque de sentencias se repita un número determinado de
veces o hasta que una condición de terminación se cumpla.
Las estructuras repetitivas también se denominan lazos o bucles y se debe
tener en cuenta lo siguiente para su construcción.
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 condición lógica
de terminación.
Las sentencias de inicialización: son sentencias que inicializan contadores y
acumuladores.
Las condiciones para terminación del bucle: Expresiones lógicas que
controlan la terminación del bucle.
Bucle: Una estructura de control que permite la repetición de una serie
determinada de sentencias se denomina bucle (lazo o ciclo).
Los ciclos se clasifican en:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 55
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Para / desde/ hasta / haga.
mientras/ hacer.
repetir / hasta
MIENTRAS HACER
Es aquella en la que el número de iteraciones no se conoce por anticipado y el
cuerpo del bucle se repite mientras se cumple una determinada condición. Por
esta razón, a estos bucles se les denomina bucles condicionales.
Cuando la sentencia MIENTRAS se ejecuta, lo que sucede primero es la
evaluación de la expresión lógica. Si evalúa falso, ninguna acción se realiza y
el programa prosigue en la siguiente sentencia después del bucle. Si la
expresión lógica se evalúa a verdadero, entonces se ejecuta el cuerpo del
bucle y se evalúa de nuevo la expresión. Este proceso se repite mientras que la
expresión lógica permanezca verdadera. Después de cada iteración, la
expresión lógica se evalúa de nuevo y si es verdadero el bucle se repite de
nuevo; si cambia de verdadera a falsa, la sentencia MIENTRAS finaliza y el
programa prosigue en la siguiente sentencia del programa.
Se evalúa la condición antes de efectuar el proceso repetitivo y el conjunto de
instrucciones se ejecutaran solamente en el caso que la condición señalada
sea verdadera y cuando esta condición sea falsa el proceso repetitivo
terminará.
REGLAS DE FUNCIONAMIENTO
1. La condición (expresión lógica) se evalúa antes y después de
cada ejecución del bucle. Si la condición es verdadera, se ejecuta
el bucle y si es falsa, el control pasa a la sentencia siguiente al
bucle.
2. Si la condición se evalúa a falso cuando se ejecuta el bucle por
primera vez, el cuerpo del bucle no se ejecutará nunca. En este
caso se dice que el bucle se ha ejecutado cero veces.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 56
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
3. Mientras la condición sea verdadera el bucle se ejecutará. Esto
significa que el bucle se ejecutará indefinidamente a menos que
“algo” en el interior del bucle modifique la condición haciendo que
su valor pase a falso. Si la expresión nunca cambia de valor,
entonces el bucle no termina nunca y se denomina bucle infinito o
sin fin (en general, esta situación no es deseable).
Nota:
El objeto Ciclo Mientras tiene como función el ejecutar un bloque de objetos
mientras que una condición sea verdadera. La condición debe ser siempre una
expresión que al ser evaluada de como resultado un valor de tipo de dato
Lógico.
Ejemplo: 3<X, x >=5 , X*2 < 300*Y
X>=0 and x<=10
Si al evaluar la condición se obtiene el valor .F. la ejecución del algoritmo
continuará a partir del objeto que sigue al Cierre.
FORMA GENERAL O SINTAXIS:
Mientras CONDICION Hacer
Instrucción (es)
FinMientrasHacer
DIAGRAMA DE FLUJO
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 57
EXP LOGICA
InstruccionesEjecutables
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
DIAGRAMA DE FLUJO EN EL DFD
PRECAUCIONES:
1. La condición lógica en bucle Mientras – Hacer debe tener un valor la
primera vez que se evalúa: en caso contrario, el programa abortará
(se detendrá) al ejecutarse Mientras – Hacer.
2. La condición lógica 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 condición lógica es falsa la primera vez que se evalúa.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 58
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
DISEÑO DE DIAGRAMAS TENIENDO EN CUENTA LAS PRECAUCIONES
Ejemplos
a. Construir el diagrama de flujo y pseudoprograma que escriba los 5 primeros números
Primera Forma:Pseudoprograma que escribe los 5 primeros números:
Inicio
X = 0
Mientras X < 5 Hacer
X= X + 1
Escribir (X)
Fin Mientras
Fin
Segunda Forma:
Pseudoprograma que escribe los 5 primeros números:
Inicio
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 59
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
X=1
Mientras X< 6 Hacer
Escribir (X)
X= X + 1
Fin Mientras
Fin
b. Construir el diagrama de flujo y pseudoprograma que escribir los 5 primeros
números y luego los sume:
Pseudoprograma que suma los 5 números números
Inicio
X = 0
SUM=0
Mientras X < 5 Hacer
X= X + 1
ESCRIBIR (X)
SUM = SUM + X
Fin Mientras
ESCRIBIR(X)
Fin
c. Escribir un pseudoprograma y diagrama de flujo que escriba los 5 primeros
pares.
Pseudoprograma que escribe los 5 primeros pares
Inicio
X = 0
P = 0
Mientras X < 5 Hacer
X= X + 1
P= P + 2
Escribir (P)
Fin Mientras
Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 60
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
d. Escribir un pseudoprograma y diagrama de flujo que escriba la secuencia de
números de 10 en 10 desde el número 10 hasta el 1000.
Pseudoprograma que escribe los 5 primeros pares
Inicio
N = 0
Mientras N < 1000 Hacer
N= N + 10
Escribir (N)
Fin Mientras
Fin
e. Escribir un pseudoprograma y diagrama de flujo que escriba la tabla de
multiplicar del Nro. 5.
Pseudoprograma que escribe la tabla de multiplicar del Nro. 5
Inicio
X=0
N = 5
Mientras N <= 12 Hacer
M = N * X
X = X + 1
Escribir (M)
Fin Mientras
Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 61
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
f. Escriba un diagrama de flujo tal que dado un grupo de números naturales
positivos, calcule e imprima el cubo de estos números. Y termine cuando se
ingrese el valor de -1.
Pseudoprograma que los cubos de cualquier número positivo
Inicio
Leer (num)
Mientras ( num != -1) Hacer
CUB =num ^3
Escribir (cub)
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 62
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Leer (num)
Fin mientras
Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 63
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PRACTICA Nº 7
1. La fuerza de atracción entre dos masas, m1 y m2, separadas por una
distancia d, está dada por la fórmula:
F= G m1m2
d2
Donde: G es la constante gravitación universal G= 6.673 x 10 -8 cm3/g . seg2
Escribir un pseudoprograma y diagrama de flujo que lea la masa de dos
cuerpos y la distancia entre ellos y a continuación obtenga la fuerza
gravitacional entre ella.
2. Se tiene una lámina rectangular de largo y ancho conocidos a la que se
recorta un cuadrado de lado X en cada esquina con el objeto de formar una
caja. Encontrar el máximo volumen de la caja:
X= ((ancho + largo) - √(ancho2 – ancho.largo + largo2))/6
3. Un alumno desea saber cuál será su calificación final en la materia de
Programación básica.
Dicha calificación se compone de los siguientes porcentajes:
55% del promedio de sus tres calificaciones parciales.
30% de la calificación del examen final.
15% de la calificación de un trabajo final.
4. Escribir un pseudoprograma y diagrama de flujo que obtenga a última
cifra de un número introducido.
5. Escribir un pseudoprograma y diagrama de flujo que exprese en horas,
minutos y segundos un tiempo expresado en segundos.
6. Diseñar el algoritmo (ordinograma y pseudocódigo) correspondiente a un
programa que pida el total de kilómetros recorridos, el precio de la gasolina
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 64
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
(por litro), el dinero de gasolina gastado en el viaje y el tiempo que se ha
tardado (en horas y minutos) y que calcule:
Consumo de gasolina (en litros y euros) por cada 100 km.
Consumo de gasolina (en litros y euros) por cada km.
Velocidad media (en km/h y m/s).
7. Escribir un pseudoprograma y diagrama de flujo que escriba una palabra
cualquiera y luego la repita 7 veces.
8. Escribir un pseudoprograma y diagrama de flujo que vaya decreciendo de 3
en 3 comenzando desde el número 18.
9. Escribir un pseudoprograma y diagrama de flujo que vaya incrementando
de 4 en 4 hasta el número 20.
10. Escribir un pseudoprograma y diagrama de flujo que escriba (imprima) los
años desde 1999 hasta el año 2010.
11. Escribir un pseudoprograma y diagrama de flujo que permita generar una
tabla de conversión de temperaturas, desde 0 ºF hasta 120 ºF, de 10 en 10.
12. Escribir un pseudoprograma y diagrama de flujo que escriba (imprima), los
decimales comenzando desde 507.001 hasta 507.020.
13. Escribir un pseudoprograma y diagrama de flujo que escriba (imprima), la
raíz cuadrada de los primeros números.
14. En una universidad se pueden llevar hasta 22 créditos en un ciclo. Escriba
un pseudoprograma y diagrama de flujo que permita a un alumno
matricularse, sin pasarse del límite de créditos permitido.
15. Escribir un pseudoprograma y diagrama de flujo que escriba (imprima),
seno de los 10 primeros números.
16. Escribir un pseudoprograma y diagrama de flujo que calcule el producto de
5 números cualquiera.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 65
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
17. Escribir un pseudoprograma y diagrama de flujo que escriba (imprima)
desde -10 hasta 0.
18. Escribir un pseudoprograma y diagrama de flujo que lea 3 números
cualquiera y luego lo sume.
19. Escribir un pseudoprograma y diagrama de flujo que escriba N (veces)
asteriscos ( ‘*’ ). El número de asteriscos debe leerse.
20. Escribir un pseudoprograma y diagrama de flujo que escriba 10 números
aleatorios comprendidos entre 0 y 99.
21. Escribir un pseudoprograma y diagrama de flujo que escriba 7 números
aleatorios hasta el 5002.
22. Escribir un pseudoprograma y diagrama de flujo que calcule el factorial de
5.
23. Escribir un pseudoprograma y diagrama de flujo que calcule el factorial de
un número cualquiera. El factorial de un número se define como el producto
de todos los números consecutivos desde la unidad hasta el número pedido
y se denota por el símbolo !. Por ejemplo 4! = 1*2*3*4. E imprima el
resultado junto con el número de orden correspondiente.
24. Las potencias de 2 son 1, 2, 4, 8,16, 32, 64, etc. Para obtener la
siguiente potencia de 2 se multiplica la anterior por 2. Usando un ciclo
MIENTRAS escriba un Programa que imprima la primera potencia de
2 hasta 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 número n por parámetro e imprima los
primeros n números triangulares, junto con su índice. Los números
triangulares se obtienen mediante la suma de los números naturales desde
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 66
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
1 hasta n. Es decir, si se piden los primeros 5 números triangulares, el
programa debe imprimir:
1 - 1
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’ debería 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. Inserte el carácter entre cada letra de la cadena. Ejemplo: ’separar’ y ’,’
debería devolver ’s,e,p,a,r,a,r,’
29. Realizar un diagrama de flujo y pseudoprograma que calcule e imprima
(escriba) lo siguiente:
a) 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
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 67
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
e) CUBO= = 13 + 23+33+43 + 53 +
………………………+ 1003
f) SUMPAR = 2 + 4 + 6 + 8 + 10 + 12 +
…………………+ 500
g) SUMIMP= 1 + 3 + 5 + 7 + 9 + 11 + 13+
………………+ 499
h) SUMFRAC = 1/ 1 + ½ +1/3 +1/4 + 1/5 + 1/6
…………+ 1/100
i) FACT = 1* 2 * 3 * 4 * 5 *
…………………………………. * 10
j) XYZ = 1*2/3 + 2*3/4 + 3*4/5 + ……………… +
963*964/965
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 números desde 10.001 hasta 10.010
d) Escribir los números 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 números
h) Escribir y sumar los 10 primeros pares
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 68
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
i) Escribir y sumar los 10 primero impares
j) Escribir el apellido ‘RIOS’, 10 veces
k) Escribir un nombre cualquiera 15 veces
l) Escribir la tabla de Multiplicar del Nro. 7
m) Escribir la tabla de Multiplicar de cualquier número ingresado por
teclado.
n) Leer y escribir 10 notas, sumar y sacar el promedio
o) Escribir los números del 100 al 0, en orden decreciente.
p) Calcular la suma de los cuadrados de los primeros 10 pares
q) Calcular la suma de los cuadrados de los primeros 10 impares
r) Calcular el promedio de las 10 notas
s) Calcular el promedio de la suma de los 10 primeros pares
t) Calcular el promedio de la suma de los 10 primeros impares
u) Escribir media aritmética (promedio) de los 100 primeros números
v) Pedir el ingreso de 20 notas y halle su media aritmética.
w) Encuentre el promedio de N números.
x) Realice un Algoritmo que dado un cierto número de monedas de 5, 10,
20, 50 sucres, imprima el total de la suma.
y) Calcular e imprimir la suma y el producto de los números pares
comprendidos entre 20 y 400 ambos inclusive.
z) Calcular todas las ordenadas impares de la función Y=f(x)= X3 +2. El
algoritmo debe imprimir la abscisa y la ordenada para los valores
comprendidos entre 1 y 50
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 69
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
2. Realizar los siguientes pseudoprogramas y diagramas de flujo:
a. Hacer un pseudoprograma que imprima los números
impares hasta el 100 y que imprima cuantos impares hay.
b. Hacer un pseudoprograma que imprima todos los
números que hay desde la unidad hasta un número que
introducimos por teclado o leído.
c. Hacer un pseudoprograma que solo nos permita introducir
S o N.
3. Diseñe un diagrama de flujo y pseudoprograma que calcule la siguiente
suma:
a. S = 1 + 2 + 3 + …………..+ 99
2 3 4 100
b. S= 1+ 2+3+4 +5+……..+ 5000
c. SP= 12 + 22 + 32 + 42+ ………+ 1002
d. SF = 1 + ½ +1/3 + ¼ + ……….+1/100
e. SFACT = 1! + 2! + 3! + 4! …………… 20!
f. SC= 13 +23 +33+43+………………..+203
g. SUM = TANGENTE(1) + TANGENTE(2) + TANGENTE(3)…………
+TANGENTE(10)
h. S= SENO(1)/12 + SENO(2)/22 + SENO(3)/32 + ……………….+
SENO(10)/102
i. S= SENO(1)/X12 + SENO(2)/X2 + SENO(3)/X2 + ……………….+
SENO(10)/X2
4. Realizar los siguientes pseudoprogramas y diagramas de flujo que calcule
los (N) primeros términos, escriba y calcule las sumas y productos
siguientes:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 70
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
a. S= 1 + 2+ 3+ 4 + ………..+ N
b. SUMPOTEN= 12 + 22 + 32 + 42+ ………+ N2
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 + 1 + 1 + ..........+ 1
1 + A 1 + 2A 1 + 3A 1 + NA
j. SUMEXP= 1 + X + X2 + X3 + X4 + …………+ XN
2! 3! 4! N!
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 71
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
DESDE_HASTA_HACER
Se utiliza para ejecutar un bloque de instrucciones un número 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
automáticamente en cada ejecución del ciclo.
Nota:
Su función es ejecutar un bloque de objetos mientras que la variable contadora
no alcance el límite establecido por el valor final. El contador es siempre una
variable de tipo de dato Real. Contiene además un valor inicial que será
asignado al contador al iniciar la ejecución del ciclo, un valor final y un valor de
incremento. Si el contador excede el valor final, la ejecución 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.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 72
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Forma General:
Desde Var = Vi Hasta Vf Hacer Paso (Incremento)
Instrucción (es)
Fin_desde
Donde:
Var = Variable de control
Es una variable de Tipo Entero que nos permite controlar la Repetición de la
secuencia de Instrucciones que se encuentra dentro de la Estructura de Control
de Repetición Desde Hasta.
Vi= Valor inicial
Nos indica el valor inicial de la Repetición, puede llegar a ser un valor
Constante, una Variable o una operación.
Vf= Valor Final
Nos indica el valor al cual nosotros queremos llegar con la repetición, puede
llegar a ser un Valor Constante, una Variable o una operación.
Paso: Nos indica el paso de incremento de la Variable de Control,
generalmente es de a uno (se le suma uno a la Variable de Control) pero se
podría plantearse pasos de más de uno e inclusive paso negativos
(decrementar la Variable de Control)
Nota: el Paso puede ser positivo o negativo: si el positivo Hasta debe ser
mayor o igual que Desde; si es negativo Hasta debe ser menor o igual que
Desde. Paso no puede ser nulo; puede omitirse, en cuyo caso se asume valor
de paso igual a 1
Diagrama de Flujo
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 73
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Este símbolo se utiliza para indicar un proceso que se repite en un ciclo.
Diagrama de Flujo en el DFD
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 74
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
REGLAS DE FUNCIONAMIENTO:
1. Las variables de control, valor inicial y valor final deben ser todas del
mismo tipo.
2. Antes de la primera ejecución del bucle, a la variable de control se
asigna el valor inicial.
3. La última ejecución 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 iteración.
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 números. Construir el diagrama de flujo y
pseudoprograma:
Pseudoprograma que escribe los 5 primeros números:
Inicio
Desde X=1 Hasta 5 Hacer Salto 1
Escribir (X)
FinDesde.
Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 75
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
2. Construir el diagrama de flujo y pseudoprograma que escriba los 5 primeros
números pero en forma decreciente:
Pseudoprograma que escribe los 5 primeros números en forma decreciente
Inicio
Desde X=5 Hasta 1 Hacer Salto -1
Escribir (X)
FinDesde.
3. Construir el diagrama de flujo y pseudoprograma que escriba desde el 0.01
hasta 0.10 en incrementos de 0.01:
Pseudoprograma que escribe desde 0.01 a 0.10
Inicio
Desde X=0.01 Hasta 0.10 Hacer Salto 0.01
Escribir (X)
FinDesde.
Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 76
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
4. Escribir un pseudoprograma y diagrama de flujo que sume los 5 primeros
números:
Pseudoprograma que suma los 5 primeros números
Inicio
Desde X=1 Hasta 5 Hacer Salto 1
Escribir (X)
S=S + X
FinDesde.
Escribir (S)
Fin
5. Escribir un pseudoprograma y diagrama de flujo que
escriba los 5 primeros pares.
Pseudoprograma que escriba los 5 primeros pares
Inicio
P=0
Desde X=1 Hasta 5 Hacer Salto 1
P=P+2
Escribir (P)
FinDesde.
Fin
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 77
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PRACTICA Nº 9
1. Suponga que un individuo desea invertir su capital en un banco y desea
saber cuánto dinero ganara después de un mes si el banco paga a razón
de 2% mensual.
2. Una tienda ofrece un descuento del 15% sobre el total de la compra y un
cliente desea saber cuánto deberá pagar finalmente por su compra.
3. Un alumno desea saber cuál será su calificación final en la materia de
Programación básica.
Dicha calificación 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 teórico y práctico.
4. Un alumno desea saber cuál será su promedio general en las tres
materias más difíciles que cursa y cuál será el promedio que obtendrá
en cada una de ellas. Estas materias se evalúan como se muestra a
continuación:
La calificación de Matemáticas se obtiene de la siguiente manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidió un total de tres tareas.
La calificación de Física se obtiene de la siguiente manera:
Examen 80%
Promedio de tareas 20%
En esta materia se pidió un total de dos tareas.
La calificación de Química se obtiene de la siguiente manera:
Examen 85%
Promedio de tareas 15%
En esta materia se pidió un promedio de tres tareas.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 78
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
5. Escribir un pseudoprograma y diagrama de flujo que lea una palabra y
luego lo escriba 17 veces.
6. Escribir un pseudoprograma y diagrama de flujo que ingrese 3 notas, las
sume y luego las promedie.
7. Escribir los números pares desde N (siendo N un número par que se lee)
en forma descendente hasta 2.
8. Se ofrece un trabajo que pague un sol en la primera semana, pero dobla
su salario cada semana, es decir, S/. 1.00 Nuevo sol la primera semana;
S/. 2.00 la segunda semana; S/. 4.00 Nuevo Sol la tercera semana, etc.
Diseñar el pseudoprograma que determine ( y escriba ) el salario por
cada semana y el salario pagado hasta la fecha por espacio de 50
semanas.
9. Calcular el factorial de un número N (siendo N un número que se lee).
10.Leer 10 números y obtener su cubo y su cuarta.
11.Calcular e imprimir la tabla de multiplicar de un número cualquiera.
Imprimir el multiplicando, el multiplicador y el producto.
12.Escribir un pseudoprograma y diagrama de flujo que escriba (imprima),
el coseno de los primeros números.
13.Muestre todos los pares entre A y B y diga cuantos son.
14.Lea dos variables M y N y halle su residuo, como mínimo 5 veces.
15.Genere 15 números aleatorios hasta y 5000
16.Hallar el valor de:
HH = ‘UNIVERSIDAD’ JJ=’MI PRIMER PROGRAMA’
Obtener:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 79
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
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. Diseñar
un diagrama de flujo que imprima la primera potencia de 2 que no pase
más de 1000.
18.Calcular e imprimir los cuadrados del 20 al 50
19.Calcular e imprimir la suma y el producto de los números pares
comprendidos entre 20 y 400 ambos inclusive.
20.Calcular la media aritmética de n números ingresados por teclado
21.Calcular el promedio de un alumno que tiene 7 calificaciones en la
materia de Diseño 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 números negativos y convertirlos a positivos e imprimir dichos
números.
24.Escriba un programa para evaluar la función y = 4X2 -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
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 80
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
25.Calcular y escribir la suma siguiente: 100 + 98 + 96 + 94 + . . . + 0 en
este orden
26.Escriba cuantas letras tiene una palabra cualquiera.
27.Hacer el algoritmo para un programa, que calcule la máxima área de un
terreno rectangular de lados 100-2x y x respectivamente, para valores
de x entre 10 y 30.
28.Realice un diagrama de flujo que dado un cierto número de monedas de
5,10,15,20 soles, imprima el total de la suma.
29.Diseñar un algoritmo para elevar ( ab ). Luego imprimir el resultado 10
veces.
Ejemplo: Entrada 24 Salida 16
Entrada 43 Salida 64
30.Una compañía de seguros tiene contratados a n vendedores. Cada uno
hace tres ventas a la semana. Su política de pagos es que un vendedor
recibe un sueldo base, y un 10% extra por comisiones de sus ventas. El
gerente de su compañía desea saber cuánto dinero obtendrá por las tres
ventas realizadas, y cuanto tomando en cuenta su sueldo base y sus
comisiones.
31.Escriba un algoritmo que lea un dato n y calcule los siguientes valores nn
y n!. Luego imprimir el resultado 10 veces.
32.La relación entre temperaturas Celsius y Fahrenheit está dada por: C =
5/9 * (F - 32) Escribir un programa que imprimir una tabla de valores
Celsius-Fahrenheit, para valores entre O °F y 200 °F, con intervalos de
10°.
33.Supongamos que el CAPITAL de $1000.00 se deposita en una cuenta
de ahorros a un interes del 10%. Escribir un pseudoprograma y
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 81
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
diagrama de flujo que imprima el CAPITAL de la cuenta de cada año
durante un periodo de 20 años.
34.La ecuación para estimar la población en un período de N años, si el
crecimiento porcentual es R %, es: P = Po * (1 + R/100) ^ N. Escribir un
programa que tabule las poblaciones previstas para la Ciudad de Luján
entre 1980 y 2050, con intervalo de 10 años, sabiendo que: R = 1,7% y
Po = 60.000 (en 1980)
35.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’ debería
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. Inserte el carácter entre cada letra de la cadena. Ejemplo: ’separar’ y
’,’ debería devolver ’s,e,p,a,r,a,r,’
36.Realizar un diagrama de flujo y pseudoprograma que calcule e imprima
(escriba) lo siguiente:
a. S = 1 + 2 + 3 + 4 + 5+ 6 +…………………………. + 100
b. ABC = 12 + 22+32+42 + 52 + ………………………+ 1002
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 82
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
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.Diseñe 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. S= 1/2 +1/4 + 1/6 +....... 1/N
c. S= 12 + 22+32+42+ ………N2
d. S= 1 + ½ + 1/3 +…………..+1/N
e. S = X/1+ X2/22+X3/32+X4/42 …………..+ XN/N2
f. SUMPROD= 1*2+ 2*3 + 3*4+………………………..+ N*
(N+1)
g. S=(M+1)/1!+(M+2)/2! + (M+3)/3! + ……..+(M+N)/N!
h. W =1! + 3! + 5! +…………..+(2N-1)!
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 83
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
i. K= A3/1! + A3/2! + A3/3! + ……..+A3/N!
j. T = A1/1! + A2/2! + A3/3! + ……..+AN/N!
k. Y= Z(A+1)/A + Z(A+2)2/A2 + Z(A+3)3/A3 + ……………+
Z(A+N)N/AN
l. XYZ= X(1+A).X(2+A2).X(3+A3)………..X(N+AN)
m. P= 1. 3 . 5 ……………………..2N-1
12 22 32 N2
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 84
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PRACTICA Nº 10
1. Utilizando la sentencia Desde hasta hacer realice los siguientes
programas :
a) Escribir los enteros positivos desde el 1 al 10
b) Escribir los enteros positivos desde el 1 al 100
c) Escribir los números del 100 al 0, en orden decreciente.
d) Escribir los enteros positivos desde el 10 al 1
e) Escribir los números desde 0.01 al 0.10 en incrementos de 0.01
f) Escribir la suma de los 10 primeros números
g) Escribir el producto de los 10 primeros números
h) Escribir los 20 primeros impares
i) Escribir los 15 primeros pares
j) Escribir y sumar los 15 primeros pares
k) Escribir y sumar los 20 primeros impares
l) Escribir la tabla de Multiplicar del Nro. 5
m) Leer 10 notas, luego sume y halle el promedio
n) Escribir la tabla de Multiplicar de cualquier Número.
o) Calcular el producto de los primeros 10 números.
p) Calcular la suma de los cuadrados de los primeros 10 números
q) Calcular la suma de los cuadrados de los primeros 10 pares
r) Calcular la suma de los cuadrados de los primeros 10 impares
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 85
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
s) Calcular el promedio de los primeros 10 números
t) Calcular los 10 primeros pares, luego sume y halle el promedio
u) Calcular los 10 primeros impares, luego sume y halle el promedio
v) Pedir el ingreso de 20 notas y halle su media aritmética.
w) Escribir los números desde 30.001 hasta 30.010
x) Escribir los números desde 50.000 hasta 50.050 con incrementos
de 0.10
y) Escribir el apellido ‘RIOS’, 15 veces
z) Escribir la tabla de Multiplicar de cualquier número ingresado por
teclado.
2. Realizar los siguientes pseudoprogramas y diagramas de flujo que
calcule los primeros términos, escriba y calcule las sumas y productos
siguientes.
a. S= 5+ 10+15+20+25+……..+ 5000
b. Diseñar un pseudoprograma que escriba (imprima) el término
100 de la siguiente serie 1,2,4,7,11,16,22……………
c. Diseñar un pseudoprograma que escriba (imprima) el término
100 de la siguiente serie 2,6,3,7,4,8,5……………
3. Diseñe un diagrama de flujo y pseudoprograma que calcule la siguiente
suma:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 86
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
a. S = 1 + 2 + 3 + …………..+ 99
2 3 4 100
b. S= 1+ 2+3+4 +5+……..+ 5000
c. SP= 12 + 22 + 32 + 42+ ………+ 1002
d. SF = 1 + ½ +1/3 + ¼ + ……….+1/100
e. SFACT = 1! + 2! + 3! + 4! …………… 20!
f. SC= 13 +23 +33+43+………………..+203
g. SUM = TANGENTE(1) + TANGENTE(2) + TANGENTE(3)…………
+TANGENTE(10)
h. S= SENO(1)/12 + SENO(2)/22 + SENO(3)/32 + ……………….+
SENO(10)/102
4. Realizar los siguientes pseudoprogramas y diagramas de flujo que
calcule los primeros términos, escriba y calcule las sumas y productos
siguientes.
a. S= 13 + 23+33+43+ ………N3
b. SUMSEN = X + X*2/2! + X*3/3! + X*4/4! + .....+ X*N/N!
c. FACT=1!/W+ 2!/W + 3!/W+ ……………+N!/W
d. F=1!/A+2!/A2+3!/A3+………………….N!/AN
e. S = Z/12+ Z2/22+Z3/32+Z4/42 …………..+ ZN/N2
f. SUMPROD=1 + 1*2+ 2*3 + 3*4+………………………..+ N* (N+1)
g. S= SENO(1)/12A + SENO(2)/22 A+ SENO(3)/32 A+ ……………….
+ SENO(N)/N2A
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 87
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
h. S= TANGENTE(1)/12 + TANGENTE(2)/22 + TANGENTE(3)/32 +
……………….+ TANGENTE(N)/N2
i. PROD= P/1.P/2.P/3……………….P/N
j. S = Ln(1) + ln(2)+ ln(3)+……………..+ln(n)
k. S= √1/12 + √2/22 + √3/32+………………+√n/n2
l. L = 500 ( 1 + 1/3 + 1/5 + ...+ 1 / (2N −1))
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 88
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
ELECCIÓN ESTRUCTURAS REPETITIVA ADECUADA
La elección adecuada de estructuras repetitivas es una de las partes más
importantes en el diseño de un algoritmo. La repetición de sentencias en el
interior del bucle requiere definir las condiciones de terminación del bucle
con sumo cuidado para evitar un bucle incorrecto o infinito.
En un bucle MIENTRAS – HACER, no siempre se ejecutará el proceso del
bucle y en ocasiones (condición falsa) no se ejecutará. El bucle DESDE -
HASTA se reserva para situaciones en que el número de repeticiones se
puede predecir y enumerar fácilmente antes que comience el bucle. Un
bucle DESDE - HASTA se puede reescribir fácilmente (normalmente con un
bucle MIENTRAS) utilizando otras estructuras. Cuando no se conocen con
anticipación cuántas veces se tiene que ejecutar un bucle, el uso de las
estructuras MIENTRAS es el más indicado, incluso aun cuando el bucle está
controlado por un simple incremento o decremento de un contador entero.
Es frecuente confundir estructuras SI ENTONCES con MIENTRAS, debido
al hecho que muchos algoritmos tienen estructuras que implican bucles
dentro de los cuáles se realizan estructuras de decisión secundarias.
En conclusión podemos decir que para seleccionar un bucle correcto se
debe tener en cuenta:
Si el número de interacciones se conoce por adelantado, se debe
utilizar DESDE HASTA.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 89
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Si el número de interacciones es indeterminado y el bucle no se debe
ejecutar cuando la condición sea falsa la primera vez, se debe utilizar
MIENTRAS.
Si el número de interacciones es indeterminada y el bucle se debe
ejecutar siempre al menos una vez, utilizar REPETIR HASTA
Si el número de interacciones es indeterminada y debe cumplir una
cierta condición ( Decisión ) y el bucle se debe ejecutar solo una vez,
utilizar SI ENTONCES
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 90
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
ESTRUCTURA ALTERNATIVA (CONDICIONAL) O DECISIÓN
Son aquellas que permiten decidir algo dependiendo del valor que asuma, a lo
cual deberá ejecutarse una o varias acciones relacionadas con ese valor.
Las estructuras condicionales comparan una variable contra otro(s) valor(es),
para que en base al resultado de esta comparación, se siga un curso de acción
dentro del programa. Cabe mencionar que la comparación se puede hacer
contra otra variable o contra una constante, según se necesite. Existen dos
tipos básicos, las simples y las múltiples.
Las estructuras selectivas o de selección se clasifican en:
Estructura de selección simple (SI).
Estructura de selección doble (SI SINO).
Estructura de selección múltiple (EN CASO SEA)
DIAGRAMA DE FLUJO EN EL DFD
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 91
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
ESTRUCTURA ALTERNATIVA
Permite ejecutar una bifurcación a un conjunto de instrucciones
dependiendo del cumplimiento de una condición El conjunto de
instrucciones solamente serán ejecutadas cuando la condición indicada sea
verdadera.
ESTRUCTURA ALTERNATIVA SIMPLE (SI)
En la estructura de selección simple SI, evalúa una condición lógica y:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 92
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Si la condición es verdadera se ejecuta la acción A. La acción A
puede ser una instrucción simple (una sola instrucción) o una
instrucción compuesta (un conjunto de instrucción).
Si la condición es falsa, no se hace nada.
La condición puede ser elaborada mediante la utilización de
operadores de relación así como operadores lógicos o booleanos.
FORMA GENERAL:
Si condición Entonces
Acción verdadero (Acción A)
FIN_SI
DIAGRAMA DE FLUJO DE LAESTRUCTURA SIMPLE (SI)
EJEMPLOS
1. Escribir un pseudoprograma y diagrama de flujo que pida ingresar su edad
mayor que 17 y que escriba mayor.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 93
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Pseudoprograma que escribe mayor si la edad es > que 17
Incio
LEER (EDAD)
SI EDAD >17 Entonces
OBS= “MAYOR”
Escribir( EDAD,’=’,OBS)
Fin_si
2. Escribir un pseudoprograma y diagrama de flujo que pida ingresar nota, si la
nota es mayor que 10 que escriba aprobado.
Pseudoprograma que escribe APROBADO si la nota es mayor a 10
Incio
LEER (NOTA)
SI NOTA >10 Entonces
Escribir (“APROBADO”)
Fin_si
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 94
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
ESTRUCTURA ALTERNATIVA DOBLE (SI SINO)
La estructura de selección doble SI SINO evalúa una condición lógica y:
Si la condición es verdadera, ejecuta la acción A.
Si la condición es falsa, ejecuta la acción B.
Tanto la acción A como la acción B pueden ser acciones simples (una sola acción)
o acciones compuestas (un conjunto de acciones).
Nota:
En el caso de acciones compuestas, estas serán delimitadas por inicio y fin.
FORMA GENERAL:
SI CONDICION es verdad Entonces
Acción verdadera (Acción A)
SINO
Acción de falso (Acción B)
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 95
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
FIN_SI
EJEMPLOS
1. Escribir un pseudoprograma y diagrama de flujo que
pida ingresar su edad mayor que 17 y que escriba mayor de lo contrario menor
Pseudoprograma que escribe mayor si la edad es > que 17 de lo contrario menor
IncioLEER (EDAD)
SI EDAD > 17 ENTONCES
ESCRIBIR (”MAYOR”)
SINO
ESCRIBIR (“MENOR”)
FIN_SI
FIN
2. Escribir un pseudoprograma y diagrama de flujo que
pida ingresar nota, si la nota es mayor que 10 que escriba aprobado de lo
contrario desaprobado.
Pseudoprograma que escribe APROBADO si la
nota es mayor a 10 de lo contrario
DESAPROBADO
Incio
LEER (NOTA)
SI NOTA >10 Entonces
Escribir (“APROBADO”)
SINO
Escribir (“DESAPROBADO”)
Fin_si
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 96
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
FIN
EJERCICIOS
1. Realizar un pseudoprograma y diagrama de flujo que introduzca un número
que indique si es mayor que 0 es positivo, si no es negativo
Pseudoprograma que escribe POSITIVO si el número es mayor a 0 de lo contrario
NEGATIVO
INICIOLEER (NUM)
SI NUM > 0 ENTONCES
ESCRIBIR (”POSTIVO”)
SINO
ESCRIBIR (“NEGATIVO”)
FIN_SI
FIN
2. Realizar un pseudoprograma y diagrama de flujo que introduzca un salario,
si el salario es menor e igual que 1000 que se incremente en un 10% el
mismo y que escriba el nuevo salario.
Pseudoprograma que escribe el nuevo salario
INICIOLEER (SALARIO)
SI SALARIO <=1000 ENTONCES
INICIO
NUEVOSAL= SALARIO * 0.10+SALARIO
ESCRIBIR (NUEVOSAL)
FIN
FIN_SI
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 97
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
FIN
ESTRUCTURAS DE SELECCIÓN ANIDADAS
Se dice que una estructura SI ( o SI SINO ) esta anidada cuando esta
contenida dentro de otra estructura SI o dentro de otra estructura SI SINO.
No existe límite en cuanto al nivel de anidamiento.
Esta estructura puede ser utilizada también para diseñar estructuras de
selección que contengan más de dos opciones. Se podrá tener entonces una
estructura si - entonces dentro de otra estructura si – entonces y otra dentro
de esta misma y así sucesivamente un número indeterminado de veces,
existiendo acciones diferentes dentro de cada una de estas instrucciones. Se
puede utilizar identación (sangría o sangrado) para evitar complejidad y así
el algoritmo sea más claro, creando una correspondencia entre palabras
reservadas.
EJERCICIOS
1. Realizar un pseudoprograma y diagrama de flujo que ingrese la edad, si
la edad esta entre 0 y 2 años que es escriba “bebe”, si esta entre 3 y 15
años escriba “niño”, si esta entre 16 y 25 que escriba “joven”, si esta
entre 26 y 60 escribir “adulto”, si es otra edad escribir “anciano”.
SOLUCION
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 98
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
2. Realizar un pseudoprograma que ingrese el nro. De mes si esta entre 1 y 3
la estación es “verano”, si esta entre 4 y 6 la estación es “otoño”, y si esta 7
y 9 la estación es “invierno”, si esta entre 10 y 12 la estación es “primavera”.
MES ESTACION
1- 3 VERANO
4 - 6 OTOÑO
7 - 9 INVIERNO
10-12 PRIMAVERA
SOLUCION
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 99
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
b.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 100
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
3. Realizar un pseudoprograma y su respectivo diagrama de flujo que lea 5
notas y halle el promedio. Además si el promedio es mayor que 10.5 que
escriba ‘APROBADO’ de lo contrario ‘DESAPROBADO’.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 101
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
4. Leer 5 números enteros y obtener cuantos son positivos
5. Introducir dos números por teclado y mediante un menú de opciones
calcule lo siguiente:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
MENU DE OPCIONES[1] SUMA[2] RESTA[3] FIN
102
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 103
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PRACTICA Nº 11
1. Realizar los siguientes pseudoprogramas y diagramas de flujo que calcule
los (N) primeros términos, 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 + ...........+ 1 12 22 32 N2
2. Diseñar un diagrama de flujo que al recibir como datos tres valores R, T y
Q, determine si los mismos satisfacen la siguiente expresión y que en caso
afirmativo escriba los valores correspondientes de R, T y Q.
R4 – T3 +4 * Q2 < 820
3. Realizar un pseudoprograma y su respectivo diagrama de flujo que
introduzca un número e indique si es mayor que 0 es ‘positivo’ si es menor
que 0 es “negativo” y si es igual que 0 que escriba “igual”.
4. Realizar un pseudoprograma y su respectivo diagrama de flujo que solicite
ingresar un número y compruebe si el numero es positivo. Si la condición
lógica es verdadera se debe presentar el mensaje “el número ingresado es
positivo “ y además se debe calcular el cuadrado de dicho número.
5. Lea dos números, si la multiplicación de ambos fuera mayor que 50 que
calcule su producto, en caso contrario calcule el resto.
6. Realizar un pseudoprograma y diagrama de flujo que ingrese 2 números. Si
la suma de ambos números es mayor o igual que 10 que calcule e imprima
su producto y si fueran menores que 10 que calcule e imprima su promedio.
7. Realizar un pseudoprograma y diagrama de flujo que solicite el ingreso de
un número y determine si el número ingresado es par o impar. En cada uno
de los casos debe presentar el mensaje respectivo.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 104
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
8. Leer 20 números e imprimir cuantos son positivos, cuantos negativos y
cuantos neutros.
9. Leer 15 números negativos y convertirlos a positivos e imprimir dichos
números.
10. Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos
y segundos de un día desde las 0:00:00 horas hasta las 23:59:59 horas
11. Calcular la suma de n números introducidos por teclado.
12. Calcular e imprimir los cuadrados del 20 al 50
13. Calcular la media aritmética de n números ingresados por teclado
14. Imprimir un listado con los números impares desde 1 hasta 999 y
seguidamente otro listado con los números pares desde 2 hasta 1000
15. Imprimir los números pares desde N (siendo N un número par que
se lee) en forma descendente hasta 2.
16. En un almacén se hace un 20% de descuento a los clientes cuya compra
supere los S/.1000.00 ¿ Cuál será la cantidad que pagara una persona por
su compra?
17. Unas camisas se venden a S/. 10.00 Nuevos soles cada una si se compran
más de tres, y a S/. 12.00 Nuevos soles en los demás casos. Escriba un
algoritmo que lea un número de entrada de camisas compradas e imprima
el costo Total.
18. Realizar un pseudoprograma y diagrama de flujo que solicite el ingreso de
un número y determine si el número ingresado es par o impar. Si el número
es par se debe calcular el cuadrado del número en caso contrario se debe
calcular el cubo del número.
19. Calcular el numero de pulsaciones que debe tener una persona por cada 10
segundos de ejercicio aeróbico; la formula que se aplica cuando el sexo es
femenino es:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 105
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
20. num. pulsaciones = (220 edad)/ 10 y si el sexo e masculino:
num. Pulsaciones = (210 edad)/ 10
21. Leer 50 números enteros y obtener cuantos son positivos y cuantos son
negativos.
22. Diseñar un Diagrama de Flujo que permita a un alumno Universidad
Nacional de Ingeniería - Facultad de Ingeniería Industrial y de Sistemas,
ingresar su código =1 y su clave = 1010. Luego si los datos son
correctamente ingresados el programa permite ingresar 3 practicas
calificadas pc1, pc3 y pc3, luego calcula el promedio y muestra el reporte
respectivo. Si los datos del alumno son incorrectos, debe emitir un mensaje
“Sr. Alumno, Errores en datos”. Utilice estructuras repetitivas.
23. Realizar un pseudoprograma y un diagrama de flujo que ingrese el
promedio y que indique :
Si el promedio es <=5 que escriba ‘deficiente’
Si el promedio es >=6 y <=10 que escriba ‘desaprobado’
Si el promedio es >10 y <=15 que escriba ‘satisfactorio’
Si el promedio es >15 que escriba ‘excelente’
PROMEDIO SITUACION
0-5 DEFICIENTE
6-10 DESAPROBADO
11-15 SATISFACTORIO
16-20 EXCELENTE
24. La comisión sobre las ventas totales de los empleados es como sigue:
a. Si las ventas son menores que 50 entonces no hay comisión
b. Si las ventas son menores e iguales que 50 y menores e iguales que
500, la comisión sobre las ventas es del 10% de las ventas
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 106
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
c. Si la ventas son mayores que 500 entonces la comisión es 50 + 8%
de las ventas
Escribir un pseudprograma y diagrama de flujo que lea las ventas
totales y calcule la comisión correspondiente.
25. Se desea diseñar un pseudoprograma y diagrama de flujo que escriba los
nombres de los días de la semana en función del valor de una variable DIA
introducida por teclado, si en caso DIA tome un valor fuera de este rango se
deberá producir un mensaje de error.
Nº DIA
1 LUNES
2 MARTES
3 MIERCOLES
4 JUEVES
5 VIERNES
6 SABADO
7 DOMINGO
OTRO Nº ERROR
26. Se desea diseñar un pseudoprograma y diagrama de flujo que escriba los nombres de los grados
en función del código introducida por teclado. si en caso código tome un valor fuera de este
rango se deberá producir un mensaje de no pertenece.
CODIGO GRADO
1 JARDIN
2 PRIMARIA
3 SECUNDARIA
4 UNIVERSIDAD
5 POST-GRADO
6 NO ESTA MATRICULADO
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 107
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
27. Diseñar un diagrama de flujo si las vocales se representan con números del
1 al 5, lea un número y diga que vocal es.
28. Se desea diseñar un pseudoprograma y diagrama de flujo que escriba las
categorías según el promedio final.
29. Se desea diseñar un pseudoprograma y diagrama de flujo que pida el
ingreso de cinco temperaturas y luego calcule la temperatura promedio. El
diagrama de flujo debe determinar el tipo de clima de acuerdo a la siguiente
tabla:
TEMPERATURA PROMEDIO TIPO DE CLIMA
PROMTEP< = 10 FRIO
10 < PROMTEMP <=20 NUBLADO
20 < PROMTEMP <=30 CALUROSO
PROMTEMP > 30 TROPICAL
30. Se desea diseñar un pseudoprograma y diagrama de flujo que pida el
ingreso de dos números y a continuación ingrese ( + , - , * , / ). El diagrama
de flujo debe presentar el resultado de la operación. Si el operador no es
valido se debe presentar un mensaje Operador no valido.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
PROMEDIO FINAL CATEGORIAS
20 A
19 B
17-18 C
16 D
13 -15 E
11 -12 F
8 – 10 G
0 – 7 H
108
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
31. Determinar si un alumno aprueba a reprueba un curso, sabiendo que
aprobara si su promedio de tres calificaciones es mayor o igual a 70;
reprueba en caso contrario. Utilice estructuras repetitvas.
32. Diseñar un Diagrama de Flujo que permita leer 2 números 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 raíz 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
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 109
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PRACTICA Nº 12
1. En la Universidad Privada de Moquegua, los veteranos sólo pagan 30
(Nuevos Soles ) por asignatura mientras que los demás ( Regulares ) pagan
S/. 50 Nuevos soles por asignatura. Escriba un algoritmo en el que el
usuario introduce los datos del estudiante (Vet o Reg) y el número de
asignaturas. La salida debe indicar si el estudiante es de la categoría
veterano o regular e indicar el número de materias y los costos de la
colegiatura.
2. Diseñar un diagrama de flujo que permita leer la edad de una persona, si la
edad es mayor e igual que 18 es mayor de edad, caso contrario es menor
de edad
3. Imprimir el valor de los números romanos. Ejemplo (I = uno, V= cinco , X=
Diez, L=cincuenta, C = cien , etc.).
4. Diseñar un Diagrama de Flujo que permita a un alumno Universidad
Nacional de Ingeniería - Facultad de Ingeniería Industrial y de Sistemas
Córdova Neri, Teodoro 16 ingresar su código =001 y su clave = 1010.
Luego si los datos son correctamente ingresados el programa permite
ingresar 3 practicas calificadas pc1,pc3 y pc3, luego calcula el promedio y
muestra el reporte respectivo. Si los datos del alumno son incorrectos, debe
emitir un mensaje “Sr. Alumno, Errores en datos
5. Se desea ingresar un número por teclado correspondiente a una calificación
se desea saber su equivalencia:
CALIFICACION EQUIVALENCIA
19 – 20 Sobresaliente
16 - 18 Muy Buena
14 - 15 Buena
12 - 13 Regular
11 o menos Insuficiente
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 110
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
6. Elabore un Algoritmo que lea dos variables enteras a y b. El programa debe
leer un carácter y tomar una de las siguientes determinaciones:
1. Si es '+' debe sumar las dos variables y hallar la raíz 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 número
5. Si es '% ' debe obtener el resto de la división.
7. Calcular el total que una persona debe pagar en un llantera, si el precio de
cada llanta es de S/. 800 Nuevos Soles si se compran menos de 5 llantas y
de S/. 700.00 Nuevo Soles si se compran 5 o más.
8. Hacer un algoritmo que imprima el nombre de un artículo, clave, precio
original y su precio con descuento. El descuento lo hace en base a la clave,
si la clave es 01 el descuento es del 10% y si la clave es 02 el descuento en
del 20% (solo existen dos claves).
9. Una clase de 7 estudiantes hace un examen que se califica de 0 a 100.
Escriba un pseudoprograma y diseñe su diagrama de flujo que encuentre :
a. El resultado promedio.
b. El número de estudiantes desaprobados, es decir cuyos resultados son
menores e iguales que 50
c. El número de estudiantes aprobados con mayor que 50
10. Realice un Algoritmo en que el usuario introduzca enteros positivos entre 1
y 5. El programa debe informar al usuario cuando haya escrito un entero
que hace que la suma de los números dados pase de 21. Además el
mensaje MAS DE 21 se debe imprimir la suma y el último entero
introducido.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 111
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
11. Leer 15 números entre 41y 55 y hallar cuantos de ellos se encuentran en
las categorías :
a) 41-45
b) 46-50
c) 51-55
12. Realizar un pseudoprograma y diagrama de flujo que halle el mayor de 2
números.
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
Mayor a 60
Mayor a 30
Hasta 30
30
20
15
10
14. Para 10 trabajadores de una empresa “XYZ” se prepara la siguiente
clasificación.
1 Carpintero
2 Albañil
3 Ingenieros
4 Arquitectos
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 112
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Escriba un programa que ingrese la categoría y calcule el número de
trabajadores y su porcentaje que pertenecen a: carpinteros, albañiles,
ingenieros, arquitectos.
15. El Ministerio de Transportes desea saber, de los n autos que entran a la
ciudad de Moquegua, cuantos entran con calcomanía de cada color.
Conociendo el último dígito de la placa de cada automóvil se puede
determinar el color de la calcomanía utilizando la siguiente relación:
DIGITO COLOR
1 o 2 AMARILLA
3 o 4 ROSA
5 o 6 ROJA
7 o 8 VERDE
9 o 0 AZUL
16. Una frutería ofrece las manzanas con descuento según la siguiente tabla:
NUM DE KILOS COMPRADOS % DESCUENTO
0 - 2 0%
2.01 - 5 10%
5.01 - 10 15%
10.01 en adelante 20%
Determinar cuanto pagará una persona que compre manzanas es esa
frutería.
17. Diseñar un diagrama de flujo que permita ingresar a un usuario código =
100 y clave =200. Silos datos de entrada son correctos, el sistema solicita al
usuario que ingrese un numero n y verifica si este numero es par o impar y
luego envía el reporte según se el caso. Si el usuario no recuerda sus datos
en la primera entrada, decide ingresar sus nuevos datos mediante
ncodigo=10 y nclave=12. Si estos son correctos el sistema calcula la suma
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 113
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
de sus datos ingresado y emite un reporte, en caso que sean incorrectos el
sistema solo envía un mensaje de error.
18. Leer 500 números e imprimir solamente los números positivos.
19. Escriba un programa para evaluar la función y = 4X2 -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 y el mensaje POSITIVO o el mensaje NO POSITIVO. El formato
de la salida debe ser :
Valor de X Valor de Y
1.0 3.00 positivo
1.1 2.24 positivo
. . .
. . .
2.0 -1.00No positivo
20. Introducir dos números por teclado y mediante un menú de opciones calcule
su suma, su resta, su multiplicación o su división.
19. Hacer un programa que nos permita introducir un
número por teclado y sobre el se realicen las siguientes operaciones:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
MENU DE OPCIONES[1] SUMA[2] RESTA[3] MULTIPLICACION[4] DIVISION[5] RESTO
MENU DE OPCIONES[1] RAIZ[2] FACTORIAL[3] VALOR ABSOLUTO[4] VALOR TRUNCADO[5] TANGENTE[6] FIN
114
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
20. Elaborar un programa utilizando un menú :
El Algoritmo debe permitir elegir una opción, la cual se debe asignar a una
variable de tipo carácter.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
MENU DE OPCIONES[N] NOMBRE DEL CLIENTE[D] DIRECCION[T] TELEFONO[C] CIUDAD[F] FIN
115
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
DISEÑO MODULAR
Podemos definir la programación modular como aquélla que afronta la solución
de un problema descomponiéndolo en subproblemas más simples, cada uno
de los cuales se resuelve mediante un algoritmo o módulo más o menos
independiente del resto (de ahí su nombre: "programación modular")
Uno de los métodos fundamentales para resolver un problema es dividirlo en
problemas más pequeños, llamados subprogramas. Estos problemas pueden a
su vez ser divididos repetidamente en problemas más pequeños hasta que los
problemas más pequeños son solucionados. Esta técnica de dividir el problema
principal en subproblemas se denomina divide y vencerás. El método de diseño
se denomina diseño descendente debido a que comienza en la parte superior
con un problema general y se diseñan soluciones específicas a sus
subproblemas. Cada suproblema es deseable que sea independiente de los
restantes y se denomina módulo, de modo que cada problema principal se
subdivide en subproblemas. El problema principal se resuelve con el programa
principal (también llamado conductor del programa) y los subproblemas
(módulos) mediante subprogramas (llamados procedimientos y funciones).
Un subprograma está compuesto por un conjunto de instrucciones, pero que
realizan una tarea única.
Las ventajas de la programación modular son varias:
Facilita la comprensión del problema y su resolución escalonada
Aumenta la claridad y legibilidad de los programas
Permite que varios programadores trabajen en el mismo problema a la
vez, puesto que cada uno puede trabajar en uno o varios módulos de
manera bastante independiente
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 116
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Reduce el tiempo de desarrollo, reutilizando módulos previamente
desarrollados
Mejora la fiabilidad de los programas, porque es más sencillo diseñar y
depurar módulos pequeños que programas enormes
Facilita el mantenimiento de los programas
Resumiendo, podemos afirmar sin temor a equivocarnos que es virtualmente
imposible escribir un programa de grandes dimensiones si no procedemos a
dividirlo en fragmentos más pequeños, abarcables por nuestro pobre intelecto
humano.
Recuérdese que la programación modular y la estructurada no son técnicas
incompatibles, sino más bien complementarias. Todos los programas que
desarrollemos de ahora en adelante serán, de hecho, al mismo tiempo
modulares y estructurados.
¡Divide y vencerás!
La forma más habitual de diseñar algoritmos para resolver problemas de cierta
envergadura se suele denominar, muy certeramente, divide y vencerás (en
inglés, divide and conquer o simplemente DAC). Fíjate que hemos dicho
"diseñar" algoritmos:
Estamos adentrándonos, al menos en parte, en la fase de diseño del ciclo de
vida del software.
El método DAC consiste en dividir un problema complejo en subproblemas, y
tratar cada subproblema del mismo modo, es decir, dividiéndolo a su vez en
subproblemas. Así sucesivamente hasta que obtengamos problemas lo
suficientemente sencillos como para escribir algoritmos que los resuelvan.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 117
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Dicho de otro modo: problemas que se parezcan en complejidad a los que
hemos venido resolviendo hasta ahora.
Llamaremos módulo a cada uno de estos algoritmos que resuelven los
problemas sencillos.
Una vez resueltos todos los subproblemas, es decir, escritos todos los
módulos, es necesario combinar de algún modo las soluciones para generar la
solución global del problema.
Esta forma de diseñar una solución se denomina diseño descendente o top-
down. No es la única técnica de diseño que existe, pero sí la más utilizada.
Resumiendo lo dicho hasta ahora, el diseño descendente debe tener dos fases:
La identificación de los subproblemas más simples y la construcción de
algoritmos que los resuelvan (módulos)
La combinación de las soluciones de esos algoritmos para dar lugar a la
solución global.
La solución de un problema comienza con una descomposición modular y
luego nuevas descomposiciones de cada módulo en un proceso denominado
refinamiento sucesivo
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 118
Problema principal
Subproblema 1(Módulo 1)
Subproblema 2(Módulo 2)
Subproblema 3(Módulo 3)
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ejemplo:
Dadas las puntuaciones de una clase de informática, ordenar las puntuaciones
(notas) en orden decreciente a continuación visualizar la calificación alcanzada
basada en la puntuación.
Algoritmo
1. Leer las puntuaciones
2. Visualizar notas
3. Ordenar notas
4. Asignar calificaciones adecuadas
5. Visualizar resultados
ALGORITMO PRINCIPAL Y SUBALGORITMOS
En general, el problema principal se resuelve en un algoritmo que
denominaremos algoritmo o módulo principal, mientras que los subproblemas
sencillos se resolverán en subalgoritmos, también llamados módulos a secas.
Los subalgoritmos están subordinados al algoritmo principal, de manera que
éste es el que decide cuándo debe ejecutarse cada subalgoritmo y con qué
conjunto de datos.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 119
Leer notas Visualizar notas
Ordenar notas
Notas alumnos
Asignar calificación
Visualizar resultado
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
El algoritmo principal realiza llamadas o invocaciones a los subalgoritmos,
mientras que éstos devuelven resultados a aquél. Así, el algoritmo principal va
recogiendo todos los resultados y puede generar la solución al problema global.
Cuando el algoritmo principal hace una llamada al subalgoritmo (es decir, lo
invoca), se empiezan a ejecutar las instrucciones del subalgoritmo. Cuando
éste termina, devuelve los datos de salida al algoritmo principal, y la ejecución
continúa por la instrucción siguiente a la de invocación. También se dice que el
subalgoritmo devuelve el control al algoritmo principal, ya que éste toma de
nuevo el control del flujo de instrucciones después de habérselo cedido
temporalmente al subalgoritmo.
El programa principal puede invocar a cada subalgoritmo el número de veces
que sea necesario. A su vez, cada subalgoritmo puede invocar a otros
subalgoritmos, y éstos a otros, etc. Cada subalgoritmo devolverá los datos y el
control al algoritmo que lo invocó.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 120
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
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 también a él para que haga con ellos lo que
considere oportuno. No obstante, un subalgoritmo también 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:
Diseñar un algoritmo que calcule el área y la circunferencia de un círculo cuyo
radio se lea por teclado. Se trata de un problema muy simple que puede
resolverse sin aplicar el método divide y vencerás, pero lo utilizaremos como
ilustración.
Dividiremos el problema en dos subproblemas más simples: por un lado, el
cálculo del área, y, por otro, el cálculo de la circunferencia. Cada subproblema
será resuelto en un subalgoritmo, que se invocará desde el algoritmo principal.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 121
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
La descomposición modular consiste en un algoritmo principal que llamaba a
dos subalgoritmos: uno para calcular el área y otro para calcular la
circunferencia.
Los dos subalgoritmos (o módulos) son llamados en secuencia, es decir, uno
tras otro, por lo que lo representaremos con la estructura secuencial. El módulo
principal pasará a los dos subalgoritmos el radio (R) del círculo, y cada
subalgoritmo devolverá al módulo principal el resultado de sus cálculos.
La descomposición en algoritmos y subalgoritmos sería la siguiente (se indican
sobre las flechas los datos que son intercambiados entre los módulos):
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 122
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Lógicamente, los subalgoritmos deben tener asignado un nombre para que
puedan ser invocados desde el algoritmo principal, y también existe un
mecanismo concreto de invocación/devolución.
ESCRITURA DEL PROGRAMA
Una vez diseñada la estructura modular, llega el momento de escribir los
algoritmos y subalgoritmos mediante pseudocódigo, diagramas de flujo o
cualquier otra herramienta. Lo más conveniente es comenzar por los módulos
(subalgoritmos) de nivel inferior e ir ascendiendo por cada rama del diagrama
de estructura.
Lo dicho hasta ahora respecto de algoritmos y subalgoritmos se puede traducir
en programas y subprogramas cuando pasemos del pseudocódigo a lenguajes
de programación. Los subprogramas, en general, se pueden dividir en dos
tipos, muy similares pero con alguna sutil diferencia: las funciones y los
procedimientos.
PROCEDIMIENTOS O SUBPROGRAMAS
Es un subprograma que realiza una tarea específica. Puede recibir cero o más
valores del programa que llama y devolver cero o más 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.
DECLARACION DE UN PROCEDIMIENTO O SUBPROGRAMA
Todos los procedimientos o subprogramas se deben declarar dentro de un
cuerpo del programa. La declaración de un procedimiento no indica a la
computadora que ejecute las instrucciones dadas, sino que indica a la
computadora cuales son estas instrucciones y donde están localizadas cuando
sea necesario.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 123
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
SINTAXIS:
Subprograma1 (lista de parámetros)
Inicio
< Instrucciones >
Fin
OBJETO SUBPROGRAMA
Es el primer objeto a ser ejecutado cuando un subprograma es llamado. Al ser
ejecutado, el objeto Subprograma transfiere el control al siguiente objeto.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 124
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
El cuadro de diálogo del objeto Subprograma contiene un espacio para la
descripción o comentarios acerca del mismo; contiene un espacio para el
nombre del subprograma y un espacio para los parámetros. Estos parámetros
(si existen) deben estar separados por comas. El nombre de un subprograma
debe comenzar por una letra seguida de letras, números ó el carácter ( _ ).
Ejemplo: Factorial , Leer , Sub1 , sub_programa.
No se tiene en cuenta la diferencia entre mayúsculas y minúsculas para el
nombre de un subprograma, es decir , SUB equivale a sub.
LLAMADA AL PROCEDIMIENTO
Los procedimientos se llaman dentro de un programa o de otro procedimiento
directamente por su nombre, de acuerdo a los formatos1 o 2.
SINTAXIS:
Subprograma1 (lista de parámetros actuales)
OBJETO LLAMADA
La función de este objeto es realizar una llamada a un subprograma, el cual
debe encontrarse en el diagrama en edición. En la llamada deben encontrarse
los argumentos que han de ser pasados al subprograma, la cantidad, el orden y
el tipo de los argumentos deben coincidir con los parámetros del subprograma.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 125
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Una vez que el subprograma haya sido ejecutado la ejecución continuará en el
objeto siguiente a la llamada.
El cuadro de diálogo para la edición de este objeto contiene el espacio para el
nombre del subprograma a llamar y el espacio para la lista de argumentos.
Dichos argumentos deben estar separados por comas.
En resumen un procedimiento consta de 3 partes:
Una cabecera del procedimiento que proporciona el nombre del mismo y
caso de existir una lista de parámetros formales.
Una sección de declaración que puede contener constantes variables e
incluso otros procedimientos
Una sección ejecutable: el cuerpo del procedimiento.
SINTAXIS COMPLETA DE UN PROCEDIMIENTO
Subprograma1 (lista de parámetros)
Inicio
< Instrucciones >
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 126
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Fin
Subprograma2 (lista de parámetros)
Inicio
< Instrucciones >
Fin
Subprograma3 (lista de parámetros)
Inicio
< Instrucciones >
Fin
/* programa principal */
Inicio
Subprograma1 (lista de parámetros actuales)
Subprograma1 (lista de parámetros actuales)
Subprograma1 (lista de parámetros actuales)
Fin
VENTAJAS DE UTILIZAR PROCEDIMIENTOS
El uso de procedimientos facilita el diseño descendente.
Los procedimientos se pueden ejecutar más de una vez en un programa
y en diferentes programas, ahorrando en consecuencia tiempo de
programación.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 127
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
El uso de procedimientos facilita la división de las tareas de
programación entre un equipo de programadores.
Los procedimientos se pueden comprobar individualmente.
REUTILIZACIÓN DE UN MÓDULO
Los algoritmos de cada módulo sólo se escriben y codifican una sola
vez, aunque se necesiten en distintas ocasiones a lo largo del programa
completo e incluso de otros programas (reutilización) evitando la
duplicación innecesaria de código.
La reutilización de un módulo por otros programas es un ahorro de
tiempo, ya que no es necesario volver a resolver el problema, y si el
módulo ha sido previamente probado y verificado también reduce la
posibilidad de errores.
Fácil comprensión del programa completo.
EJEMPLOS
1. Diseñar un diagrama de Flujo que halle la suma de dos números 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
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 128
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
SUBPROGRAMA LEER
SUBPROGRAMA PROCESO
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 129
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
SUBPROGRAMA SALIDA
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 130
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
2. Diseñar un diagrama de Flujo que halle las siguientes áreas y que
permita crear 2 subprogramas.
1. AREA_CUADRADO:
Área del Cuadrado:
AREA= L2
2. AREA_CILINDRO:
¶=3.141516
AREA = 2 x PI x RADIO x ALTURA
SOLUCION
PROGRAMA PRINCIPAL
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 131
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
SUBPROGRAMA AREA DEL CUADRADO
SUBPROGRAMA AREA DEL CILINDRO
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 132
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
3. Diseñar un diagrama de Flujo que Introduzca dos números por teclado
que permita hallar mediante un menú de opciones, creando
subprogramas por cada uno de ellos.
SOLUCION
PROGRAMA PRINCIPAL
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
MENU DE OPCIONES[1] SUMA[2] RESTA[3] FIN
133
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 134
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
SUBPROGRAMA DE LA SUMA
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 135
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
SUBPROGRAMA DE LA RESTA
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 136
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PRACTICA Nº 13
1. El algoritmo debe leer un carácter y tomar una de las siguientes
determinaciones:
Si es '+' debe sumar la variable result más 5
Si es '-’debe restar la variable result menos 5
Si es '*' debe multiplicar la variable result por 5
Si es '/ ' debe dividir la variable para 5
2. Dado tres variables enteras num1, num2, num3, encuentre el mayor entre
estos tres números y almacene en una variable entera llamada max.
3. Una institución educativa estableció un programa para estimular a los
alumnos con buen rendimiento académico y que consiste en lo siguiente:
a. Si el promedio es de 9.5 o más y el alumno es de preparatoria,
entonces este podrá cursar 55 unidades y se le hará un 25% de
descuento.
b. Si el promedio es mayor o igual a 9 pero menor que 9.5 y el
alumno es de preparatoria, entonces este podrá cursar 50
unidades y se le hará un 10% de descuento.
c. Si el promedio es mayor que 7 y menor que 9 y el alumno es de
preparatoria, este podrá cursar 50 unidades y no tendrá ningún
descuento.
d. Si el promedio es de 7 o menor, el número de materias
reprobadas es de 0 a 3 y el alumno es de preparatoria, entonces
podrá cursar 45 unidades y no tendrá descuento.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 137
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
e. Si el promedio es de 7 o menor, el número de materias
reprobadas es de 4 o más y el alumno es de preparatoria,
entonces podrá cursar 40 unidades y no tendrá ningún descuento.
f. Si el promedio es mayor o igual a 9.5 y el alumno es de
profesional, entonces podrá cursar 55 unidades y se le hará un
20% de descuento.
g. Si el promedio es menor de 9.5 y el alumno es de profesional,
entonces podrá cursar 55 unidades y no tendrá descuento.
Obtener el total que tendrá que pagar un alumno si la colegiatura para
alumnos de profesional es de S/. 300.00 Nuevos Soles por cada cinco
unidades y para alumnos de preparatoria es de S/. 180.00 Nuevos Soles
por cada cinco unidades.
4. Diseñar un diagrama de Flujo que mediante subprogramas, calcular la
siguiente ecuación:
X= 9B7+ 5B6 + 36B5 + 40B4 + 52B3 + 12B2+5B+9
5. Diseñar un diagrama de Flujo que mediante subprogramas, a través de un
menú de opciones, calcule el área de lo siguiente:
a) Triangulo:
AREA = (BASE1 x ALTURA1)
2
b) Área del trapecio:
AREA= (BMAYOR + BMENOR) x ALTURA
2
c) Área del cilindro:
¶=3.141516
AREA = 2 x PI x RADIO x ALTURA
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 138
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
6. Diseñar un diagrama de Flujo que mediante subprogramas y en un menú
de opciones, a través de un menú de opciones, calcule las siguientes
sumas :
a. S= 1 + 2+ 3+ 4 + ………..N
b. S= 1/2 +1/4 + 1/6 +....... 1/N
c. S= 12 + 22+32+42+ ………N2
d. S= 1 + ½ + 1/3 +…………..+1/N
7. Diseñar un diagrama de Flujo que mediante subprogramas, permita
Introducir dos números por teclado y mediante un menú de opciones
calcule lo siguiente. :
8. Diseñar un diagrama de Flujo que mediante subprogramas mediante un
menú de opciones, permita Introducir un número por teclado y sobre el se
realicen las siguientes operaciones:
9. Diseñar un diagrama de Flujo que mediante subprogramas mediante un
menú de opciones, permita Introducir un número por teclado y sobre el se
realicen las siguientes operaciones:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
MENU DE OPCIONES[1] SUMA[2] RESTA[3] MULTIPLICACION[4] DIVISION[5] RESTO
MENU DE OPCIONES[1] RAIZ[2] FACTORIAL[3] VALOR ABSOLUTO[4] VALOR TRUNCADO[5] TANGENTE[6] FIN
139
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
10. Diseñar un diagrama de Flujo que mediante subprogramas mediante un
menú de opciones, permita elegir una opción, la cual se debe asignar a
una variable de tipo carácter.
Nota
Para el nombre del cliente, dirección, teléfono, ciudad debe leerse cualquier
nombre, dirección, teléfono, ciudad y luego visualizarlo.
11. Diseñar un diagrama de Flujo que mediante subprogramas mediante un
menú de opciones, permita elegir una opción, la cual se debe asignar a
una variable de tipo carácter.
Nota
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
MENU DE OPCIONES[1] SENO[2] COSENO[3] TANGENTE[4] ARCOSENO[5] ARCOCOSENO[6] ARCOTANGENTE[7] FIN
MENU DE OPCIONES[N] NOMBRE DEL CLIENTE[D] DIRECCION[T] TELEFONO[C] CIUDAD[F] FIN
MENU DE OPCIONES[+] SUMA[-] RESTA[ * ]MULTIPLICACION[ / ]DIVISION [F] FIN
140
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
1. Si es '+' debe sumar las dos variables y hallar la raíz 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 número
5. Si es '% ' debe obtener el resto de la división.
12. Diseñar un diagrama de Flujo que mediante subprogramas en un menú
de opciones, permita elegir una opción y hallar las siguientes sumas:
a. SFACT = 1! + 2! + 3! + 4! …………… N!
b. SC= 13 +23 +33+43+………………..+N3
c. SUM=TANGENTE(1)+TANGENTE(2)+TANGENTE(3)…………
+TANGENTE(N)
d. S= SENO(1)/12 + SENO(2)/22 + SENO(3)/32 + ……………….+
SENO(N)/N2
e. SUMSEN = X /1! + X/2! + X/3! + .....+XN/N!
f. L = 500 ( 1 + 1/3 + 1/5 + ...+ 1 / (2N −1))
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 México, cuantos entran con calcomanía
de cada color. Conociendo el último dígito de la placa de cada automóvil
se puede determinar el color de la calcomanía utilizando la siguiente
relación:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 141
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
DÍGITO COLOR
1 o 2 amarilla
3 o 4 rosa
5 o 6 roja
7 o 8 verde
9 o 0 azul
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 142
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
TALLER DE PROGRAMACION
PRACTICA Nº 14
1. Elabore un pseudocódigo y diagrama de flujo que sume, reste, multiplique y
divida dos números: x = 10 y = 2
2. Elabore un pseudocódigo y diagrama de flujo que calcule el área de un
rectángulo: Lado1 = 3 lado2 = 4, Área del rectángulo=lado1 * lado2
3. Elabore un pseudocódigo y diagrama de flujo que reciba un número entero
y devuelva su inmediato siguiente. Por ejemplo si ingresa 28 la salida debe
ser 29.
4. Una tienda de abastos ofrece un descuento del 8% sobre el total de la
compra y un cliente desea saber cuánto deberá pagar finalmente por su
compra. Elabore un pseudocódigo y diagrama de flujo que resuelva este
problema.
5. Escribir un algoritmo que calcule y escriba el cuadrado de 25
6. Dada una cantidad en pesos, obtener la equivalencia en dólares,
asumiendo que la unidad cambiaría es un dato desconocido.
7. Calcular el número de pulsaciones que una persona debe tener por cada 10
segundos de ejercicio, si la fórmula es: núm. pulsaciones = (220 edad)/10
8. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25%
sobre su salario anterior.
9. En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El
presupuesto anual del hospital se reparte conforme a la sig. tabla:
Área Porcentaje del presupuesto
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 143
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Ginecología 40%
Traumatología 30%
Pediatría 30%
Obtener la cantidad de dinero que recibirá cada área, para cualquier monto
presupuestal.
10.El dueño de una tienda compra un artículo a un precio determinado.
Obtener el precio en que lo debe vender para obtener una ganancia del
30%.
La calificación de Matemáticas se obtiene de la sig. manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidió un total de tres tareas.
La calificación de Física se obtiene de la sig. manera:
Examen 80%
Promedio de tareas 20%
En esta materia se pidió un total de dos tareas.
La calificación de Química se obtiene de la sig. manera:
Examen 85%
Promedio de tareas 15%
En esta materia se pidió un promedio de tres tareas.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 144
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
11.Dados tres números enteros. Determinar cuál es el mayor.
12.Todos los lunes, miércoles 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.
13.El gobierno del estado de México desea reforestar un bosque que mide
determinado número de hectáreas. Si la superficie del terreno excede a 1
millón de metros cuadrados, entonces decidirá sembrar de la sig. manera:
PORCENTAJE DE LA SUPERFICIE
DEL BOSQUE
TIPO DE ÁRBOL
70% pino
20% oyamel
10% cedro
Si la superficie del terreno es menor o igual a un millón de metros cuadrados,
entonces decidirá sembrar de la siguiente manera:
PORCENTAJE DE LA SUPERFICIE
DEL BOSQUE
TIPO DE ÁRBOL
50% Pino
30% Oyamel
20% cedro
El gobierno desea saber el número de pinos, oyameles y cedros que tendrá
que sembrar en el bosque, si se sabe que en 10 metros cuadrados caben 8
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 145
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
pinos, en 15 metros cuadrados caben 15 oyameles y en 18 metros cuadrados
caben 10 cedros. También se sabe que una hectárea equivale a 10 mil metros
cuadrados.
14.Escriba un programa interactivo para calificar a un grupo de 10 alumnos .el
programa debe leer el nombre y sus tres calificaciones para cada alumno,
debe calcular el promedio para cada uno y después determinar si el alumno
es aprobado o reprobado se requiere un promedio de al menos 60 para
aprobar. La primera parte de la salida debe ser el nombre del alumno, tres
calificaciones, promedio y un mensaje de aprobado o reprobado. La
segunda parte debe dar el número de alumnos que aprobaron y el número
de los que obtuvieron un promedio de al menos 80.
15.Supongamos que un jardinero tenga 30m lineales de material (alambre de
púa) para cercar un jardín rectangular, el área del jardín cumple la siguiente
fórmula X*(15X).
Escribir un programa para determinar el valor de X que produzca la máxima
área probando todos los valores enteros positivos entre 10 y 15 , la salida
debe ser :
Valor de X Área
10 50
11 44
12 .
13 .
14 .
El área máxima es:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 146
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
16.Una persona debe realizar un muestreo con 50 personas para determinar el
promedio de peso de los niños, jóvenes, adultos y viejos que existen en su
zona habitacional. Se determinan las categorías con base en la sig, tabla:
CATEGORIA EDAD
Niños 0 - 12
Jóvenes 13 - 29
Adultos 30 - 59
Viejos 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:
Si el obrero trabaja 40 horas o menos se le paga S/.20.00 Nuevos
soles por hora
Si trabaja más de 40 horas se le paga S/.20.00 Nuevos soles por
cada una de las primeras 40 horas y S/.25.00 Nuevos soles por cada
hora extra.
18.Se desea leer por teclado un número comprendido entre 1 y 50 (inclusive), y
se desea visualizar si el número es par o impar.
19.Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco
kilómetros durante 10 días, para determinar si es apto para la prueba de 5
kilómetros o debe buscar otra especialidad. Para considerarlo apto debe
cumplir por lo menos una de las siguientes condiciones:
Que en ninguna de las pruebas haga un tiempo mayor a 16 minutos.
Que al menos en una de las pruebas realice un tiempo mayor a 16
minutos.
Que su promedio de tiempos sea menor o igual a 15 minutos.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 147
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
20.El profesor de una materia desea conocer la cantidad de sus alumnos que
no tienen derecho al examen de nivelación. Diseñe un algoritmo que lea las
calificaciones obtenidas en las 5 unidades por cada uno de los 40 alumnos
y escriba la cantidad de ellos que no tienen derecho al examen de
nivelación.
21.Suponga que tiene una tienda y desea registrar sus ventas por medio de
una computadora. Diseñe un pseudocódigo 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 día deberá imprimir la cantidad de dinero que debe haber en
la caja.
22.Diseñar un diagrama de Flujo que mediante subprogramas, calcule la
“fuerza” en función de los valores de masa y aceleración leídos por teclado.
23. Imprimir el valor de los números romanos.
24. Implemente un programa modularizado o mediante subprogramas que,
leyendo de teclado los valores necesarios, muestre por pantalla el radio, la
generatriz y la altura de un cono, calcule el área de la base, á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)
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 148
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
25.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)
26. Implemente un programa modularizado que muestre el precio de un equipo
informático (con y sin igv) compuesto por pantalla, teclado, ratón, 2 discos
duro de 1.28 Gb, 1Gb de memoria RAM, un procesador, una tarjeta de red,
una tarjeta de video y una tarjeta de sonido. El precio de cada componente
se debe leer de teclado.
27. Implemente un programa modularizado que, leyendo el nombre de tres
alumnos y la nota obtenida por cada uno en una asignatura, muestre por
pantalla la media de las notas.
28.Un número complejo es un número de la forma a+bi, donde a y b son
números reales y i2=-1. Las cuatro operaciones aritméticas básicas sobre
números complejos se definen como:
• Suma: (a+bi)+(c+di)=(a+c)+(b+d)i
• Resta: (a+bi)-(c+di)=(a-c)+(b-d)i
• Producto: (a+bi)*(c+di)=(ac-bd)+(ad+bc)i
• División: (a+bi)/(c+di)=((ac+bd)/(c2+d2))+((bc-ad)/(c2+d2))i,
suponiendo c2+d2<>0
Realice un programa modularizado que lea dos número complejos y
muestre por pantalla el resultado de cada operación.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 149
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
29.Diseñar un diagrama de Flujo que mediante subprogramas, permita
mediante un menú de opciones calcule lo siguiente. :
Nota: De una palabra cualquiera.
30.Diseñar un diagrama de Flujo que mediante subprogramas, permita
mediante un menú de opciones calcule lo siguiente. :
a. Imprima dicha cadena cada dos caracteres. Ej.: ’recta’ debería imprimir
’rca’
b. Dicha cadena en sentido inverso. Ej.: ’hola mundo!’ debe imprimir ’!
odnum aloh’
c. Imprima la cadena en un sentido y en sentido inverso. Ejemplo: ’reflejo’
imprime ’reflejoojelfer’.
31. Diseñar un diagrama de Flujo que mediante subprogramas, permita
mediante un menú de opciones calcule lo siguiente.
a) S= 100 + 99 + 98 + 97 + 96 + 95……………+ 0
b) S =100 + 98 + 96 + 94 + . . . + 0
c) ABC = 12 + 22+32+42 + 52 + ………………………+ 1002
d) CUBO= = 13 + 23+33+43 + 53 + ………………………+ 1003
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
ARREGLOS, VECTORES Y MATRICES
Ing. Madeleine Ramos Gutierrez Fdez. Dvla.
MENU DE OPCIONES[1] DOS CARACTERES[2] TRES CARACTERES[3] DOS ULTIMOS[4] TRES ULTIMOS[5] FIN
150
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
ARREGLOS
Un Arreglo es una estructura de datos que almacena bajo el mismo nombre (va
riable) a una colección 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
el lugar que ocupa cada elemento dentro del archivo.
VECTORES
Es un arreglo de “N” elementos organizados en una dimensión donde “N”
recibe el nombre de longitud o tamaño 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 posición en particular del vector. Por ejemplo:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 151
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Matriz
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 152
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Es un arreglo de M * N elementos organizados en dos dimensiones
donde “M” es el número de filas o reglones y “N” el número de columnas.
Para representar una matriz se necesita un nombre de matriz
se necesita un nombre de matriz acompañado de dos índices.
Donde R indica el renglón y C indica la columna, donde se encuentra
almacenado el dato.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 153
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
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).
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 154
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
PRACTICA Nº 15
1. Calcular el promedio de 50 valores almacenados en un
vector. Determinar además cuantos son mayores que el
promedio, imprimir el promedio, el número 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 posición
y el valor del
elemento mayor almacenado en el vector. Suponga que to
dos los elementos del vector son diferentes.
4. Almacenar 500 números 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 números en un vector, imprimir cuantos son
ceros, cuantos son negativos, cuantos positivos. Imprimir a
demás la suma de los negativos
y la suma de los positivos.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 155
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
TALLER DE PROGRAMACION
32. Elabore un pseudocódigo y diagrama de flujo que sume, reste, multiplique y divida
dos números: x = 10 y = 2
33. Elabore un pseudocódigo y diagrama de flujo que calcule el área de un rectángulo:
Lado1 = 3 lado2 = 4, Área del rectángulo=lado1 * lado2
34. Elabore un pseudocódigo y diagrama de flujo que reciba un número 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 cuánto deberá pagar finalmente por su compra. Elabore un
pseudocódigo 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 dólares, asumiendo que la
unidad cambiaría es un dato desconocido.
38. Calcular el número de pulsaciones que una persona debe tener por cada 10
segundos de ejercicio, si la formula es: núm. pulsaciones = (220 edad)/10
39. Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su
salario anterior.
40. En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El
presupuesto anual del hospital se reparte conforme a la sig. tabla:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 156
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Área Porcentaje del presupuesto
Ginecología 40%
Traumatología 30%
Pediatría 30%
41. Obtener la cantidad de dinero que recibirá cada área, para cualquier monto
presupuestal.
42. El dueño de una tienda compra un artículo a un precio determinado. Obtener el
precio en que lo debe vender para obtener una ganancia del 30%.
43. Todos los lunes, miércoles 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.
44. Un alumno desea saber cuál será su promedio general en las tres materias más
difíciles que cursa y cuál será el promedio que obtendrá en cada una de ellas. Estas
materias se evalúan como se muestra a continuación:
45. La calificación de Matemáticas se obtiene de la sig. manera:
Examen 90%
Promedio de tareas 10%
En esta materia se pidió un total de tres tareas.
La calificación de Física se obtiene de la sig. manera:
Examen 80%
Promedio de tareas 20%
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 157
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
En esta materia se pidió un total de dos tareas.
La calificación de Química se obtiene de la sig. manera:
Examen 85%
Promedio de tareas 15%
En esta materia se pidió un promedio de tres tareas.
46. Dados tres números enteros. Determinar cuál es el mayor.
47. El algoritmo debe leer un carácter y tomar una de las siguientes determinaciones:
Si es '+' debe sumar la variable result mas 5
Si es '-’debe restar la variable result menos 5
Si es '*' debe multiplicar la variable result por 5
Si es '/ ' debe dividir la variable para 5
48. Realizar un algoritmo para determinar si un número ingresado por teclado es
múltiplo de otro.
49. Escriba un programa que reciba el peso de una carta en onzas como entrada e
imprima el costo del porte calculado según la regla siguiente:
La primera onza cuesta S/. 25.00 (soles)
Cada onza adicional cuesta S/.0.4.(soles)
50. Dado tres variables enteras num1, num2, num3, encuentre el mayor entre estos
tres números y almacene en una variable entera llamada max.
51. Escriba un Algoritmo que lea dos números enteros como entrada y escriba el
mensaje " Signos Opuestos" solo si uno de los enteros es positivo y el otro
negativo.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 158
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
52. Escriba un Algoritmo que reciba como entrada dos enteros positivos distintos y
escriba la diferencia entre el número mayor y el menor, asegúrese de que su
programa escriba 6 tanto cuando la entrada es 9 15 como cuando la entrada es 15
9
53. Calcular el total que una persona debe pagar en un llantera, si el precio de cada
llanta es de S/.800 si se compran menos de 5 llantas y de S/. 700 si se compran 5 o
más. En un supermercado se hace una promoción, mediante la cual el cliente
obtiene un descuento dependiendo de un número que se escoge al azar. Si el
numero escogido es menor que 74 el descuento es del 15% sobre el total.
54. El gobierno del estado de México desea reforestar un bosque que mide
determinado número de hectáreas. Si la superficie del terreno excede a 1 millón de
metros cuadrados, entonces decidirá sembrar de la sig. manera:
PORCENTAJE DE LA SUPERFICIE DEL
BOSQUE
TIPO DE ÁRBOL
70% pino
20% oyamel
10% cedro
Si la superficie del terreno es menor o igual a un millón de metros cuadrados, entonces decidirá sembrar
de la siguiente manera:
PORCENTAJE DE LA SUPERFICIE DEL
BOSQUE
TIPO DE ÁRBOL
50% Pino
30% Oyamel
20% cedro
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 159
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
55. El gobierno desea saber el número de pinos, oyameles y cedros que tendrá que
sembrar en el bosque, si se sabe que en 10 metros cuadrados caben 8 pinos, en 15
metros cuadrados caben 15 oyameles y en 18 metros cuadrados caben 10 cedros.
También se sabe que una hectárea equivale a 10 mil metros cuadrados.
56. Una institución educativa estableció un programa para estimular a los alumnos con
buen rendimiento académico y que consiste en lo siguiente:
Si el promedio es de 9.5 o más y el alumno es de preparatoria, entonces
este podrá cursar 55 unidades y se le hará un 25% de descuento.
Si el promedio es mayor o igual a 9 pero menor que 9.5 y el alumno es de
preparatoria, entonces este podrá cursar 50 unidades y se le hará un 10%
de descuento.
Si el promedio es mayor que 7 y menor que 9 y el alumno es de
preparatoria, este podrá cursar 50 unidades y no tendrá ningún descuento.
Si el promedio es de 7 o menor, el numero de materias reprobadas es de 0
a 3 y el alumno es de preparatoria, entonces podrá cursar 45 unidades y no
tendrá descuento.
Si el promedio es de 7 o menor, el numero de materias reprobadas es de 4
o más y el alumno es de preparatoria, entonces podrá cursar 40 unidades y
no tendrá ningún descuento.
Si el promedio es mayor o igual a 9.5 y el alumno es de profesional,
entonces podrá cursar 55 unidades y se le hará un 20% de descuento.
Si el promedio es menor de 9.5 y el alumno es de profesional, entonces
podrá cursar 55 unidades y no tendrá descuento.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 160
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Obtener el total que tendrá que pagar un alumno si la colegiatura para alumnos
de profesional es de S/. 300.00 Nuevos Soles por cada cinco unidades y para
alumnos de preparatoria es de S/. 180.00 Nuevos Soles por cada cinco
unidades.
57. Leer 20 números e imprimir cuantos son positivos, cuantos negativos y cuantos
neutros.
58. Se lanza una pelota hacia arriba con una velocidad inicial Vo de 96 m/s la altura de
la pelota sobre el nivel del suelo luego de t segundos se encuentra en h(t). Se sabe
que h(t) = Vo.t - 5t (h está dado en metros y t en segundos ). Escriba un programa
para producir una tabla que presente la altura de la pelota para cada valor de t de
1 a 8 segundos.
59. Escriba un programa interactivo para calificar a un grupo de 10 alumnos .el
programa debe leer el nombre y sus tres calificaciones para cada alumno, debe
calcular el promedio para cada uno y después determinar si el alumno es aprobado
o reprobado se requiere un promedio de al menos 60 para aprobar. La primera
parte de la salida debe ser el nombre del alumno, tres calificaciones, promedio y un
mensaje de aprobado o reprobado. La segunda parte debe dar el número de
alumnos que aprobaron y el número de los que obtuvieron un promedio de al
menos 80.
60. Supongamos que un jardinero tenga 30m lineales de material (alambre de púa)
para cercar un jardín rectangular, el área del jardín cumple la siguiente fórmula
X*(15X).
Escribir un programa para determinar el valor de X que produzca la máxima
área probando todos los valores enteros positivos entre 10 y 15 , la salida debe ser :
Valor de X Área
10 50
11 44
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 161
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
12 .
13 .
14 .
El área máxima es:
61. Una persona debe realizar un muestreo con 50 personas para determinar el
promedio de peso de los niños, jóvenes, adultos y viejos que existen en su zona
habitacional. Se determinan las categorías con base en la sig, tabla:
CATEGORIA EDAD
Niños 0 - 12
Jóvenes 13 - 29
Adultos 30 - 59
Viejos 60 en adelante
62. Al cerrar un expendio de naranjas, 15 clientes que aun no han pagado recibirán un
15% de descuento si compran más de 10 kilos. Determinar cuánto pagara cada
cliente y cuanto percibirá la tienda por esas compras.
63. En un centro de verificación de automóviles se desea saber el promedio de puntos
contaminantes de los primeros 25 automóviles que lleguen. Asimismo se desea
saber los puntos contaminantes del carro que menos contamino y del que más
contamino.
64. Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco kilómetros
durante 10 días, para determinar si es apto para la prueba de 5 kilómetros o debe
buscar otra especialidad. Para considerarlo apto debe cumplir por lo menos una de
las siguientes condiciones:
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 162
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
Que en ninguna de las pruebas haga un tiempo mayor a 16 minutos.
Que al menos en una de las pruebas realice un tiempo mayor a 16 minutos.
Que su promedio de tiempos sea menor o igual a 15 minutos.
65. Realice un Algoritmo en que el usuario introduzca enteros positivos entre 1 y 5. El
programa debe informar al usuario cuando haya escrito un entero que hace que la
suma de los números dados pase de 21. Además el mensaje MAS DE 21 se debe
imprimir la suma y el último entero introducido.
66. Calcular el promedio de edades de hombres, mujeres y de todo un grupo de
alumnos.
67. Encontrar el menor valor de un conjunto de n números dados.
68. Encontrar el mayor valor de un conjunto de n números dados.
69. Determinar cuántos hombres y cuantas mujeres se encuentran en un grupo de n
personas, suponiendo que los datos son extraídos alumno por alumno.
70. Leer 100 números. Determinar la media de los números positivos y la media de los
números negativos.
71. 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:
Si el obrero trabaja 40 horas o menos se le paga S/.20.00 Nuevos soles por
hora
Si trabaja más de 40 horas se le paga S/.20.00 Nuevos soles por cada una de
las primeras 40 horas y S/.25.00 Nuevos soles por cada hora extra.
72. Se desea leer por teclado un número comprendido entre 1 y 50 (inclusive), y se
desea visualizar si el número es par o impar.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 163
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
73. El profesor de una materia desea conocer la cantidad de sus alumnos que no
tienen derecho al examen de nivelación. Diseñe un algoritmo que lea las
calificaciones obtenidas en las 5 unidades por cada uno de los 40 alumnos y escriba
la cantidad de ellos que no tienen derecho al examen de nivelación.
74. Suponga que tiene usted una tienda y desea registrar las ventas en su
computadora. Diseñe un algoritmo que lea por cada cliente, el monto total de su
compra. Al final del día que escriba la cantidad total de ventas y el número de
clientes atendidos.
75. Escriba un algoritmo que lea los datos a,n y r y calcule al Sumatoria de:
Suma = ar n-1 y Producto = N! * 2 n
76. Suponga que tiene una tienda y desea registrar sus ventas por medio de una
computadora. Diseñe un pseudocódigo 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 día deberá imprimir la cantidad de dinero que debe haber en la caja.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 164
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU
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.
Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 165