teoria de prograamacion basica contacivil-2011-i

216
UNIVERSIDAD PRIVADA DE MOQUEGUA “JOSÉ CARLOS MARIATEGUI” MOQUEGUA – PERU INGENIERIA CIVIL SEMESTRE IV PROGRAMACIÓN DIGITAL Ing. Madeleine Ramos Gutierrez Fdez. Dvla. 1

Upload: jorghino-alvarado-quilla

Post on 08-Dec-2015

254 views

Category:

Documents


0 download

DESCRIPTION

a

TRANSCRIPT

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