Professional Documents
Culture Documents
=
Considere los casos:
Si el discriminante es mayor a 0 la respuesta ser dos nmeros reales
distintos
Si el discriminante es igual a 0 la respuesta ser dos nmeros reales
iguales
Si el discriminante es menor a 0 la respuesta ser dos nmeros
imaginarios
ESTRUCTURAS DE REPETICIN O +UCLES O CICLOS
DEFINICIN
Un bucl% no es ms que u#a 9%&"% (% "#9)&ucc"o#%9 !u% 9% &%$")%#.
Podemos tener 3 tipos de bucl%9 segn lo que nos interese comprobar. Tenemos
un bucl% que se repite "%#)&a9 se cumple una condicin determinada, otro
que se realiza :a9)a !u% se cumple la condicin que marcamos y un tercero
$a&a cuantas veces ya definidas hay que repetir.
RESUMEN:
ESTRUCTURAS DE REPETICIN:
Mientras- hacer
Repetir- hasta
Desde/Para (for)
A la hora de utilizar un bucl%, sea del tipo que sea, debemos ir con cuidado y
pensar cuando debe acabar ya que si no tuviramos en cuenta esto podramos
entrar en un bucl% sin fin, o sea que iramos repitiendo las mismas lneas
teniendo que abortar la aplicacin, para poderla finalizar.
Por esto es de suma importancia que pensemos, antes de hacer nada, en qu
momento, coo0 (o#(% < $o&!u% debe acabar el bucl%.
ESTRUCTURA MIENTRASS6ACER
En nuestro curso esta estructura bsica de un bucle M"%#)&a9 se representar
de la siguiente manera:
M"%#)&a9 (Condicin) 6ac%&
Instruccin 1
Instruccin 2
F"#PM"%#)&a9
Explicaremos lnea a lnea este bucle:
P&"%&a lG#%a: En esta lnea pondremos la <co#("c"4#> que se debe dar
para que se ejecute el bucl%. En el momento que la condicin sea Fal9a
se terminar el bucl% y se continuar con las siguientes instrucciones.
S%;u#(a lG#%a: Lnea o lneas donde pondremos las instrucciones a
efectuar en caso de que la condicin sea 7ERDADERA.
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:35
T%&c%&a lG#%a: Fin del bucle M"%#)&a9.
De aqu se pasa a la primera lnea del bucl% para volver a mirar la condicin.
EH%$lo: Escriba un algoritmo que permita calcular el rea de N tringulos:
Al;o&")oPa&%aP)&"#;ulo
1. Inicio
2. Escribir("Ingrese el nmero de tringulos a realizar el clculo)
3. Leer (N)
4. I = 1
5. M"%#)&a9 (I <= N) :ac%&
5.1 Escribir("Ingrese la base y la altura de tringulo, I)
5.2 Leer (base, altura)
5.3 Area = (base * altura)/2
5.4 Escribir("El rea del tringulo, I, " es: ",Area)
5.5 I = I+1
-E, F"#PM"%#)&a9
6. Fin
EH%$lo: Sumar N veces dos nmeros
Al;o&")o Sua&P(o9P#R%&o9
1. Inicio
2. Escribir ("Ingrese los dos nmeros a sumar y el nmero de veces a
sumarlos)
3. Leer (A,B,N)
4. SI (N>0) AND( N int(N))? ENTONCES
4.1 I=1
4.2 Total =0
4.3 M"%#)&a9 I<=N? :ac%&
4.3.1 Total = Total +A+B
4.3.2 I = I+1
4.3.3 F"# (% M"%#)&a9
4.4 Escribir("El total es ",Total)
5. fin_si
6. Fin.
EH%$lo: Hallar el mximo comn divisor entre dos nmeros
Al;o&")o MCD
1. Inicio
2. Escribir ("Ingrese los dos nmeros)
3. Leer(a,b)
4. c= a mod b
5. Mientras (c<> 0) hacer
5.1 a=b
5.2 b= c
5.3 c= a mod b
5.4 fin_mientras
6. Escribir(b)
7. Fin
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:36
D%b%&
1. Escriba el algoritmo que permita obtener los n primeros nmeros impares y su
suma
2. Algoritmo de la multiplicacin
3. Algoritmo de la multiplicacin por sumas sucesivas
4. Algoritmo que permita imprimir el nombre de 2 personas
5. Algoritmo que permita imprimir el nombre de N personas
6. Algoritmo para calcular Y como una funcin de X de acuerdo a la expresin Y=
1.5x+2.5x
2
-9.8x
3
para cada paso imprimir X y Y para valores entre 1 y 9.9 con
un incremento de 0.1.
ESTRUCTURA REPETIR T 6ASTA
Esta es otra estructura de bucle pero tiene un pequeo matiz que la hace
diferente a la ya estudiada anteriormente. Tanto una como la otra se utilizan,
pero cada una de ellas va bien para segn qu caso ya que ese matiz pueden
hacer su uso muy diferente.
R%$%)"&
Instruccin 1
Instruccin 2
6ASTA (condicin)
Observe que esta estructura primero ejecutara las "#9)&ucc"o#%9 y (%9$u@9
mirara si se cu$l% o #o la co#("c"4#, con lo que tenemos que tener mucho
cuidado ya que las instrucciones como mnimo se ejecutarn una vez (las veces
restantes ya dependern de la condicin). La condicin se evala despus de
realizar las instrucciones y no antes como pasaba en el caso del M"%#)&a9.
EH%$lo: Escriba un algoritmo que permita calcular el rea de N tringulos:
Al;o&")o a&%aP)&"#;ulo
1. Inicio
2. Escribir("Ingrese el nmero de tringulos a realizar el clculo)
3. Leer (N)
4. I = 1
5. REPETIR
5.1 Escribir("Ingrese la base y la altura de tringulo: ",I)
5.2 Leer(base, altura)
5.3 Area = (base * altura)/2
5.4 Escribir("El rea del tringulo: ",I, es: ", Area)
5.5 I = I+1
-E, 6ASTA /I Q N5
6. Fin
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:37
D%b%&:
1. Disear un algoritmo que permita encontrar la sumatoria de los n primeros
nmeros primos
2. Disear un algoritmo que permita encontrar la sumatoria de los n primeros
nmeros perfectos. Un nmero es perfecto cuando es igual a la suma de todos
los nmeros para los cuales es divisible excepto el mismo nmero. (6 = 1+2+3)
3. Disear un algoritmo que permita realizar la operacin de multiplicacin de dos
nmeros utilizando sumas sucesivas
4. Disear un algoritmo que permita realizar la operacin de potenciacin utilizando
sumas sucesivas
5. Disear un algoritmo que permita encontrar el factorial de un nmero
ESTRUCTURA DESDE J PARA/FOR5
Son el nmero total de veces que se desea ejecutar las acciones del bucle (nmero
de interacciones fijo), este ejecuta las acciones del cuerpo o del bucle un nmero
especfico de veces y de modo automtico controla el nmero de interacciones o
pasos a travs del cuerpo del bucle.
La estructura For posee las siguientes partes:
Fo& variable de control, valor inicial, valor final, incremento/decremento
Instruccin 1
Instruccin 2
F"#PFo&
El funcionamiento del for:
El for es una estructura muy parecida a un "%#)&a9 :ac%& con la diferencia de
que no requiere incrementar o decrementar el contador obligatoriamente como
una ms de las instrucciones del bucle ya que se realiza automticamente.
En el caso de que se conozca con anticipacin el nmero de veces a repetir un
bucle, se podr utilizar el for.
Entre las reglas bsicas de su funcionamiento hay que tener en cuenta que el for
requiere de una variable de control que actuar como un contador, su primera
interaccin se realiza cuando la variable de control toma el valor inicial, y la
ltima interaccin del bucle es cuando la variable de control toma el valor final.
Adems en cada interaccin la variable de control se decrementa o incrementa
de acuerdo al valor sealado en la declaracin.
Tanto la variable de control, como el valor inicial y el valor final deben ser del
mismo tipo y el for solo admite trabajar con valores ordinales tales como enteros
o caracter, los nmeros reales no son ordinales.
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:38
EH%$lo: Sumar los 100 primero nmeros enteros
Al;o&")o Sua&
1. Inicio
2. Total =0
3. Fo& I,1,100, +1
3.1 Total = Total +I
3.2 F"#PFOR
4. Escribir("El total es ",Total)
5. Fin.
EH%$lo: Sumar todos los nmeros mltiplos de 3 que existen en el rango del 1
al 50
Al;o&")o Sua&P&a#;o
1. Inicio
2. Total =0
3. Fo& I,1,50, +1
3.1 SI I mod 3 = 0? ENTONCES
3.1.1 Total = Total +I
Fin si
3.2 F"#PFOR
4. Escribir("El total es ",Total)
5. Fin.
EH%$lo: Sumar todos los nmeros mltiplos de 3 que existen en el rango del
50 al 1
Al;o&")o Sua&Pul)"$lo9
1. Inicio
2. Total =0
3. Fo& I,50,1, -1
3.1 SI I mod 3 = 0? ENTONCES
3.1.1 Total = Total +I
Fin si
3.2 F"# (% FOR
4. Escribir("El total es ",Total)
5. Fin.
D%b%&
1. Construir un algoritmo que despliegue los nmeros del 20 al 30
2. Desplegar los enteros entre 30 y 50 acompaados de su potencia cuadrada y
raz cbica respectiva
3. Desplegar una tabla de multiplicar que el usuario indique
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:39
DIA8RAMAS DE FLUNO
TCNICAS PARA LA FORMULACIN DE AL8ORITMOS
Las dos herramientas utilizadas comnmente para disear algoritmos son:
- Diagrama de Flujo
- Pseuducodigo
DEFINICIN DE DIA8RAMAS DE FLUNO
Los diagramas de flujo (Flujogramas u ordinogramas) son grficos que permiten
la representacin simblica de la lgica de un algoritmo. Con ello se consigue
ordenar un problema en una sucesin de pasos de manera clara y concisa. Las
operaciones a ejecutarse se representan mediante figuras. Para establecer el
orden de ejecucin de las instrucciones utilizamos DIRECCIONES DE FLUNO, es
decir conectamos las figuras mediante lneas que sirven para indicar la secuencia
de ejecucin de las instrucciones
Es un grfico que muestra el orden en el que se van ejecutando las diferentes
instrucciones
El diagrama de flujo es un grfico en el que se representa el orden en el que se
van ejecutando las diferentes instrucciones que forman el algoritmo
Herramienta que constituye el fundamento de programacin convencional siendo
muy til en los programas de pequeo y mediana complejidad
Un diagrama de flujo es un tipo de notacin grfica algortmica
Un diagrama de flujo es una herramienta grfica de descripcin de algoritmos
que se caracteriza por utilizar un conjunto de smbolos grficos y expresar de
forma clara los flujos de control o el orden lgico en el que se realizan las
acciones de un algoritmo.
AL8ORITMO DIA8RAMA DE FLUNO
Algoritmo multiplicar_may_0
1. Inicio
2. Escribir("Ingrese dos
nmeros)
3. Leer(a,b)
4. Si( a< 0)entonces
4.1 Escribir ("Error)
Si No
4.2 c= a*b
4.3 Escribir(c)
Fin_si
5. Fin
Inicio
Escribir("Ingrese
dos nmero)
Leer(a,b)
(a < 0)
Escribir("Error)
c= a*b
Escribir(c)
fin
V F
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:40
SIM+OLO8UA +SICA
Aunque existe en la literatura una amplia variedad de representaciones para los
smbolos utilizados en los diagramas de flujo, en este texto se adoptaran los
mismos que se presentan en la ilustracin:
Esta representacin grfica se da cuando varios smbolos (que indican diferentes
procesos en la computadora), se relacionan entre s mediante lneas que indican el
orden en que se deben ejecutar los procesos.
Los smbolos utilizados han sido normalizados por el instituto norteamericano de
normalizacin (ANSI).
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:41
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:42
RECOMENDACIONES PARA EL DISEKO DE DIA8RAMAS DE FLUNO
- Se deben de usar solamente lneas de flujo horizontales y/o verticales
- Se debe evitar el cruce de lneas utilizando los conectores
- No deben quedar lneas de flujo sin conectar
- Se deben usar conectores solo cuando sea necesario
- Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo
y de izquierda a derecha
- Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando
el uso de muchas palabras
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:43
E9)&uc)u&a 9%cu%#c"al
La ilustracin muestra el diagrama de flujo que representa a la estructura de control
secuencial.
EH%$lo: Calculo de la suma y producto de dos nmeros. Hallar su algoritmo:
AL8ORITMO DIA8RAMA DE FLUNO
Algoritmo suma_mult
1. Incio
2. Leer(a,b)
3. S= a+b
4. P=a*b
5. Escribir (S, P)
6. fin
Inicio
Escribir("Ingrese
dos nmero)
Leer(a,b)
s= a+b
Escribir(s,P)
fin
P= a*b
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:44
E9)&uc)u&a9 (% 9%l%cc"4#
La ilustracin muestra los diagramas de flujo de las estructuras de seleccin.
Puede observarse en la figura anterior que en la estructura de seleccin simple se
evala la condicin, y si sta es verdadera, se ejecuta un determinado grupo de
sentencias; en caso contrario, las sentencias son ignoradas.
En la estructura de seleccin doble, cuando la condicin es verdadera, se ejecutar
un determinado grupo de sentencias, y si es falsa se procesar otro grupo diferente
de sentencias.
Por ltimo, en la estructura de seleccin mltiple se ejecutarn unas sentencias u
otras segn sea el valor que se obtenga al evaluar una expresin representada por
el indicador. Se considera que dicho resultado ha de ser de tipo ordinal.
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:45
CONDICIONES SIMPLES
En general todas las condiciones simples se forman con; variables, operadores
relacinales, y constantes.
sexo = m
sueldo > 300,000
Una condicin simple se define como el conjunto de variables y/o constantes
unidas por los llamados operadores relacinales.
Los operadores relacinales que reconocen en muchos lenguajes como:
O$%&a(o& S";#"'"ca(o
= Igual que
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que
<>, != No es igual o es diferente que
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:46
CONDICIONES COMPUESTAS
En muchas ocasiones es necesario presentar ms de una condicin para su
evaluacin al computador.
Por ejemplo que el computador muestre la boleta de un alumno, si este estudia
la carrera de medicina y su promedio de calificaciones es mayor de 70.
Una condicin compuesta se define como dos o ms condiciones simples unidas
por los llamados operadores lgicos.
Los operadores lgicos que se reconocen son:
Para que el computador evale como CIERTA una condicin compuesta que
contiene el operador lgico "and", las dos condiciones simples deben ser ciertas.
Para que el computador evale como CIERTA una condicin compuesta que
contiene el operador lgico "or", basta con que una de las condiciones simples
sea cierta.
Al)%&#a)"Ba (obl%:
OPERADOR SI8NIFICADO
AND "Y" LOGICO
OR "O" LOGICO
NOT "NO"
NEGACION
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:47
D"a;&aa9 (% 'luHo
Inicio
Escribir("Ingrese
dos nmero)
Leer(a,b)
(a < 0)
Escribir("Error)
c= a*b
Escribir(c)
fin
V F
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:48
Al)%&#a)"Ba Rl)"$l%:
Tambin existen ocasiones o programas donde se exige evaluar muchas
condiciones a la vez, en estos casos, o se usan una condicin compuesta muy
grande o se debe intentar convertir el problema a uno que se pueda resolver
usando la instruccin de seleccin mltiple o case o switch.
La instruccin de decisin mltiple, se busca el valor contenido en una variable
contra una lista de constantes ordinales, cuando el computador encuentra el
valor de igualdad entre variable y constante, entonces ejecuta el grupo de
instrucciones asociados a dicha constante, si no encuentra el valor de igualdad
entre variable y constante, entonces ejecuta un grupo de instrucciones asociados
a un valor por defecto, aunque este ltimo es opcional.
Pseudocdigo:
La expresin ya no es lgica, sino de tipo ordinal.
Una forma de implementar esta estructura es mediante sentencias 9" %#)o#c%9
anidadas.
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:49
Conviene tener presente que esta estructura puede contener tambin una
seccin opcional o parte si- no
R%;la9:
1. La expresin <selector> se evala y se compara con las constantes; las
constantes son listas de uno o ms posibles valores de <selector> que en
algunos casos pueden ir separados por comas. Ejecutadas la(s)
<instrucciones>, el control se pasa a la primera instruccin a continuacin
del case
2. La clusula si-no es opcional
3. Si el valor de <selector> no est comprendido en ninguna lista de
constantes y no existe la clusula si-no, no sucede nada y sigue el flujo
del programa; si existe la clusula si-no se ejecutan la(s) <instrucciones>
a continuacin de la clusula si-no
4. El selector debe ser un tipo ordinal (entero, caracter, booleano). Los
nmeros reales no pueden ser utilizados ya que no son ordinales
5. Todas las constantes del case deben ser nicas y de un tipo ordinal
compatible con el tipo del selector
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:50
D%b%&:
1. Disear un diagrama de flujo que permita ingresar 3 notas valoradas cada una
de ellas sobre una nota de 20 puntos. Obtener su promedio e imprimir uno de
los siguientes mensajes:
20-19 Sobresaliente
18-16 Muy buena
15-13 Buena
12-10 Regular
09-0 Insuficiente
2. Disear un diagrama de flujo que permita ingresar un caracter e imprimir un
mensaje que diga si es vocal, consonante, cifra o carcter especial
3. Disear un diagrama de flujo que permita ingresar un nmero que se encuentre
entre 1 y 31 y decir si es un nmero primo o no primo
4. Disear un diagrama de flujo que permita simular el trabajo de una calculadora
en la que se sume, reste, multiplique y divida siempre con un nmero fijo
cualesquiera
5. Disear un diagrama de flujo que permita calcular las funciones trigonomtricas
E9)&uc)u&a9 (% &%$%)"c"4#
A continuacin se muestran las estructuras de repeticin bsicas.
Estructuras de repeticin en diagrama de flujo a) mientras hacer (while) y b) repetir
hasta (do-while).
RE8LAS DE FUNCIONAMIENTO DEL MENTRAS S 6ACER
1. Permite repetir un bloque de sentencias cero o ms veces dependiendo del
valor que se evala para una expresin booleana
2. Primero se evala la condicin; si la expresin booleana es "verdadera se
ejecuta el cuerpo del bucle y se vuelve a evaluar la condicin
D"a;&aa (% 'luHo (%l al;o&")o (% Eucl"(%9 $a&a %#co#)&a& %l F"o
coR# ("B"9o&
La solucin al problema est determinada por el algoritmo de Euclides.
Verdadera
Falso
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:51
CARACTERUSTICAS DEL +UCLE REPETIR 6ASTA
Se ejecutan siempre una vez, por lo menos, y la terminacin del bucle se
produce cuando el valor de la expresin lgica o condicin de salida es
verdadera. Se ejecuta hasta que la expresin es verdadera, es decir, se ejecuta
mientras la expresin sea falsa.
SENTENCIA FOR
Repite la ejecucin de una o varias sentencias un nmero fijo de veces.
Previamente establecido. Necesita una variable de control del bucle que es
necesariamente de tipo ordinal, ya que el bucle se ejecuta mientras la variable
de control toma una serie consecutiva de valores de tipo ordinal, comprendidos
entre dos valores extremos (inferior y superior).
RE8LAS DE FUNCIONAMIENTO DEL REPETIR 6ASTA
1. La condicin se evala al final del bucle, despus de ejecutarse todas las
sentencias
2. Si la condicin es falsa, se vuelve a repetir el bucle y se ejecutan todas
sus instrucciones
3. Si la condicin es verdadera, se sale del bucle y se ejecuta la siguiente
instruccin despus de la estructura
FOR VC, VI,VF,INC
INSTRUCCIONES
vc
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:52
EH%$lo: Ingresar N notas y obtener su promedio
1. Inicio
2. Escribir("Ingrese el nmero de notas:)
3. Leer(N)
4. Suma = 0
5. For i , 1, N,+1
5.1 Escribir("Ingrese la nota: ", i)
5.2 Leer (Nota)
5.3 Suma = Suma + Nota
5.4 Fin del For
6. Promedio = Suma/N
7. Escribir("La respuesta es = ", Promedio)
8. Fin
Ca&ac)%&G9)"ca9 (%l bucl% FOR:
Aunque a primera vista pueda resultar ms atractivo FOR, en algunos lenguajes
de programacin existen limitaciones en su aplicacin ya que en el bucle FOR
siempre se incrementa o decrementa (de uno en uno) los valores de la variable
de control de bucle y no de dos en dos o de tres en tres, como en otros
lenguajes.
INICIO
FIN
ESCRIBIR ("INGRESE EL
NMERO DE NOTAS)
LEER(N)
SUMA =0
FOR I, 1, N, +1
ESCRIBIR("INGRESE LA NOTA: ", I)
LEER (NOTA)
SUMA =SUMA + NOTA
i
PROMEDIO = SUMA/N
ESCRIBIR("LA RESPUESTA ES = ",
PROMEDIO)
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:53
El nmero de iteraciones de un bucle FOR siempre es fijo y se conoce de
antemano:
Valor final - Valor inicial +1.
CUNDO UTILIZAR MIENTRAS 6ACERJREPETIR 6ASTAJFORA
Utilizar la sentencia o estructura FOR cuando se conozca el nmero de
iteraciones, y siempre que la variable de control de bucle sea de tipo ordinal
Utilizar la estructura REPETIR HASTA cuando el bucle se realice por lo
menos una vez
En todos los dems casos utilizar la sentencia MIENTRAS HACER.
+ucl%9 a#"(a(o9
Los bucles, al igual que las sentencias condicionales, tambin se pueden anidar.
Esto es especialmente til para el manejo de matrices, como veremos en los
temas posteriores
D%b%&:
1. Disear un diagrama de flujo que permita generar la sumatoria de la serie:
.......
)! 3 ( )! 2 ( )! 1 (
+
a a a
a a a
2. Disear un diagrama de flujo que permita generar la sumatoria de la serie:
......
7
6
5
6
5
4
3
4
3
2
2 + + + +
3. Disear un diagrama de flujo que permita generar las tablas de multiplicacin
4. Imprimir todos los caracteres en minsculas que existen entre un intervalo de
maysculas ejemplo: A b c d e f g H
APLICACIN PRCTICA
Uso del MIENTRAS HACER/ REPETIR HASTA / For
EH%$lo:
Disear un diagrama de flujo que permita calcular cuntas palabras
existen en una frase
Probar si una palabra ingresada por el usuario es o no palndromo. Una
palabra es palndromo cuando se lee igual de derecha a izquierda que de
izquierda a derecha ejemplo Ana, Radar, Oso
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:54
EH%$lo: Disear un diagrama de flujo para cambiar a maysculas todas las letras
de una frase
INICIO
Escribir("ingrese la frase)
Leer(cad)
concatenar(cad, " ")
n= longitud(cad)
For i,o,(n-1),+1
Cad[i]= mayuscula(cad[i])
i
Escribir(cad)
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:55
EH%$lo: Disear un diagrama de flujo para contar las palabras en una frase
INICIO
Escribir(ingrese la frase)
Leer(cad)
concatenar(cad, )
n= longitud(cad)
For i,o,(n-1),+1
Cont=cont+1
Escribir(cont,palabras)
FIN
cont= 0
cad[i]=
V
F
i
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:56
D%b%&:
1. Disear un diagrama de flujo que permita calcular cuntas vocales existen en
una frase
2. Contar la incidencia de las letras en una palabra. Es decir cuntas veces se
repiten
3. En una frase contar palabras de longitud par y las de longitud impar que
existan en ella
4. Reemplazar las palabras de longitud par en una frase por asteriscos
5. Visualizar las palabras de longitud impar en una frase al revs
DIA8RAMAS DE CANA
Estos diagramas son tambin llamados diagramas de tcnicas
horizontales, ya que se los realizan en rengln seguido y no necesitan
flechas.
Tambin conocidos como diagramas Nassi-Sheneiderman o Chapin,
corresponden a uno de los tipos de diagramacin estructurada. Las
acciones se escriben en rectngulos o cajas sucesivas. Se pueden escribir
diferentes acciones en una caja. La simbologa utilizada es como vemos
en las siguientes figuras:
ESTRUCTURA SECUENCIAL
Estas estructuras vienen dadas a regln seguido y el diagrama de caja de esta
estructura es la siguiente:
EH%$lo:
INICIO
INSTRUCCIN
INSTRUCCION
INSTRUCCION
FIN
Utilizando diagramas de caja realizar la siguiente operacin: A= B+C
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:57
INICIO
LEER(B,C)
A= B+C
ESCRIBIR(A)
FIN
ESTRUCTURA DE +IFURCACIN SIMPLE
En estas estructuras si la condicin se cumple se ejecutar los procesos por la parte
SI, caso contrario se realizarn los procesos por la parte NO.
Una "#9)&ucc"4# co#("c"o#al es aquella que nos permite "preguntar" sobre el
entorno que nos rodea, pudiendo as actuar segn la respuesta obtenida. Estas
respuestas siempre sern erdadero o !also, pudiendo as tomar, en un principio,
dos caminos diferentes.
P9%u(oco(";o
S" < Condicin> %#)o#c%9
< accin s11 >
< accin s 12 >
F"# P 9"
Al)%&#a)"Ba (obl% /9"S%#)o#c%9S9"P#o 5
Evala la condicin y determina si es verdadera o falsa para ejecutar las acciones
correspondientes.
Acc"o#%9:
Si la condicin es verdadera entonces se ejecuta la accin SI (o acciones caso
de ser SI una accin compuesta y constar de varias acciones).
Si la condicin es falsa, entonces se pasar a la accin sino (else o falsa).
P9%u(oco(";o
S" < Condicin> %#)o#c%9
< Accin SI >
S"P#o
< Accin S2 >
F"# P 9"
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:58
EH%$lo: Dados tres nmeros imprimir o escribir cul es el mayor
Al)%&#a)"Ba Rl)"$l% /9%;R# P9%a0 ca9o (% J ca9%5
Es aquella que evala una expresin que podr tomar N valores distintos (1, 2, 3,
4,.n) segn que elija uno de estos valores en la condicin, se realizar una de las n
acciones, o lo que es igual, el flujo del algoritmo seguir un determinado camino
entre los n posibles.
INICIO
ESCRIBIR(`INGRESE TRES VALORES)
LEER(A,B,C)
Verdadero A > B Falso
Verdadero A>C Falso
Verdadero B>C Falso
Escribir(A es
mayor)
Escribir(C
es
mayor)
Escribir(B es
mayor)
Escribir(C es
mayor)
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:59
D"a;&aa (% FluHo
EH%$lo: Disear un diagrama de caja para identificar si un carcter ingresado por el
usuario es o no una vocal.
INICIO
ESCRIBIR("Ingresar un carcter)
LEER(op)
op=mayscula(op)
CASO op DE
VALOR `A:
Cad=Es una A
VALOR `E:
Cad=Es una E
VALOR `I:
Cad=Es una I
VALOR `O:
Cad=Es una O
VALOR `U:
Cad=Es una U
POR DEFECTO:
Cad=no es vocal
FIN CASE
Escribir(cad)
FIN
CASO /E3PRESIN5 DE
7ALOR 1:
7ALOR N:
POR DEFECTO:
FIN CASE
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:60
E9)&uc)u&a &%$%)")"Ba
Son aquellas en las que especialmente se disea para todas aquellas aplicaciones en
las cuales una operacin o conjunto de ellas deben repetirse muchas veces.
+ucl%9 JlaMo9: Son estructuras que repiten una secuencia de instrucciones un
nmero determinado de veces.
I#)%&acc"4#: Es el hecho de repetir la ejecucin de una secuencia de acciones; en
otras palabras el algoritmo repite muchas veces las acciones.
Al utilizar un bucle para sumar una lista de nmeros, se necesita saber cuntos
nmeros se han de sumar, para poder detenerlo en el momento preciso; las dos
principales preguntas a realizarse en el diseo de un bucle son: Qu contiene el
bucle? y Cuntas veces se debe repetir?
Ca9o9 ;%#%&al%9 (% %9)&uc)u&a9 &%$%)")"Ba9
1. La condicin de salida del bucle se realiza al principio del bucle (estructura
mientras)
2. La condicin de salida se origina al final del bucle; el bucle se verifica hasta que
se verifique una cierta condicin
3. La condicin de salida se realiza con un contador que cuente el numero d
interacciones. ( i es un contador que cuenta desde el valor inicial (vi.) hasta el
valor final (vf) con los incrementos que se consideran.)
E9)&uc)u&a "%#)&a9 S :ac%& /VD:"l%W5E
Es aquella en que el cuerpo del bucle se repite mientras se cumple una determinada
condicin. Cuando se ejecuta la accin "%#)&a90 la primera cosa que sucede es
que se evala la condicin (una expresin booleana), si se evala falsa ninguna
accin se tomara; si la expresin booleana es verdadera, entonces se ejecuta el
cuerpo del bucle, despus del cual se evala de nuevo la expresin booleana.
Esta expresin booleana se repite una y otra vez mientras la expresin booleana
(condicin) sea verdadera.
EF$&%9"4# (% u# bucl% c%&o B%c%9
En una estructura mientras la primera cosa que sucede es la evaluacin de la
expresin booleana; si es falsa en este punto entonces el cuerpo del bucle nunca se
M"%#)&a9 (condicin) :ac%&
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:61
ejecuta. Puede parecer intil ejecutar el cuerpo del bucle cero veces, ya que no
tendr efecto en ningn valor o salida. Sin embargo no es una accin deseada.
+ucl%9 "#'"#")o9
En algunos bucles no existen fin y otros no encuentran el fin por error en su diseo,
el bucle corre siempre; en otras ocasiones el bucle no se termina nunca porque
nunca se cumple la condicin.
R%;la $&c)"ca
Las pruebas o tesis en las expresiones booleanas es conveniente que sean mayor o
menor que en lugar de pruebas de igualdad o desigualdad. En el caso de la
codificacin en un lenguaje de programacin, esta regla debe seguirse rgidamente
el caso de comparacin de nmeros reales.
EH%$lo: Disee un diagrama de caja que permita generar los 5 primeros nmeros
pares utilizando la estructura Mientras-Hacer
EH%$lo: Disee un diagrama de caja que permita generar los N primeros nmeros
pares utilizando la estructura Mientras-Hacer.
INICIO
NUM = 0
I =1
M"%#)&a9 (I < = 5) :ac%&
NUM = NUM + 2
ESCRIBIR( NUM )
I = I+1
FIN
INICIO
ESCRIBIR("Ingrese el valor de N)
LEER(N)
NUM = 0
I =1
M"%#)&a9 (I < = N) :ac%&
NUM = NUM + 2
ESCRIBIR( NUM )
I = I+1
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:62
E9)&uc)u&a &%$%)"& /V&%$%a)W5E
Si el valor de la expresin booleana es inicialmente falso, el cuerpo del bucle no se
ejecutara, por ello se necesitan de otros tipos de estructuras dicha estructura se
ejecuta hasta que cumpla una condicin determinada que se comprueba hasta el
final del bucle.
DIFERENCIAS ENTRE LAS ESTRUCTURAS MIENTRAS I REPETIR
La estructura "%#)&a9 termina cuando la condicin es falsa, mientras que
&%$%)"& termina cuando la condicin es verdadera
En la estructura &%$%)"& el cuerpo del bucle se ejecuta siempre al menos una
sola vez; por el contrario "%#)&a9 es ms general y permite la posibilidad de
que el bucle pueda no ser ejecutado. Para usar la estructura &%$%)"& debe estar
seguro de que el cuerpo del bucle se repetir al menos una sola vez
EH%$lo: Disee un diagrama de caja que permita generar los 5 primeros nmeros
pares utilizando la estructura Repetir - Hasta.
REPETIR
6ASTA /CONDICIN5
INICIO
NUM = 0
I = 1
REPETIR
NUM = NUM +2
ESCRIBIR (NUM)
I = I +1
6ASTA / I > 55
FIN
Sentencia(s
Condicin
Verdadero
Falso
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:63
EH%$lo: Disee un diagrama de caja que permita generar los N primeros nmeros
pares utilizando la estructura Repetir - Hasta
E9)&uc)u&a (%9(%J$a&a /V'o&W5
Son el nmero total de veces que se desea ejecutar las acciones del bucle (nmero
de interacciones fijo), este ejecuta las acciones del cuerpo o del bucle un nmero
especifico de veces y de modo automtico controla el nmero de interacciones o
pasos a travs del cuerpo del bucle.
La estructura de repeticin FOR, se caracteriza por utilizar:
1. Definir una variable que actuar como contador
2. Establecer el valor inicial para dicha variable
3. Establecer el valor final para el contador
4. Determinar si ser un incremento (+1) o un decremento (-1)
INICIO
ESCRIBIR("INGRESE EL VALOR DE N)
LEER(N)
NUM = 0
I = 1
REPETIR
NUM = NUM +2
ESCRIBIR (NUM)
I = I +1
6ASTA / I > N5
FIN
FOR 7c0 7"0 7'0 I#cJD%c
FOR VC, VI,VF,INC
INSTRUCCIONES
vc
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:64
EH%$lo: Disee un diagrama de caja que permita generar los N primeros nmeros
pares utilizando la estructura FOR
EH%$lo: Imprimir todos los nmeros del 1 al 100 que sean mltiplos de 3
utilizando la estructura MIENTRAS-HACER
INICIO
ESCRIBIR("INGRESE CUNTOS NMEROS QUIERE GENERAR)
LEER(N)
NUM = 0
FOR I, 1, N, +1
NUM = NUM +2
ESCRIBIR (NUM)
FIN
INICIO
I = 1
MIENTRAS / I < = 100 56ACER
SI I MOD 3 = 0 NO
ESCRIBIR(I, "ES
DIVISIBLE PARA 3)
I = I +1
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:65
EH%$lo: Imprimir todos los nmeros del 1 al 100 que sean mltiplos de 3
utilizando la estructura REPETIR - HASTA
EH%$lo: Imprimir todos los nmeros del 1 al 100 que sean mltiplos de 3
utilizando la estructura FOR (Decrementos)
INICIO
FOR I, 100, 1, -1
SI I MOD 1 X . NO
ESCRIBIR(I,
"ES DIVISIBLE
PARA 3)
FIN
E9)&uc)u&a &%$%)")"Ba9 a#"(a(a9
R%;la9
La estructura interna debe estar incluida dentro de la externa y no puede existir
solapamiento
INICIO
I = 1
REPETIR
SI I MOD 3 = 0 NO
ESCRIBIR(I, "ES
DIVISIBLE PARA 3)
I = I +1
6ASTA/ I > 1005
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:66
T"$o9 (% bucl%9 a#"(a(o9
+ucl%9 a#"(a(o9 Co&&%c)o9
7ECTORES
DEFINCIONES: A&&%;lo9
El tratamiento de algoritmos y diagramas de flujo o de caja admite
agrupaciones de datos, a las cuales denomina "arreglos"
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:67
Un arreglo se compone de elementos de igual tamao almacenados
linealmente en posiciones de memoria consecutiva
Un arreglo es un conjunto finito de posiciones de memoria consecutivas
que tienen el mismo nombre y el mismo tipo de dato. Los arreglos de una
dimensin (unidimensionales) se llaman vectores. Los arreglos de dos
dimensiones (bidimensionales) se llaman matrices
Un vector o array -arreglos en algunas traducciones- es una secuencia de
objetos del mismo tipo almacenados consecutivamente en memoria
ENERCICIOS DE 7ECTORES
EH%$lo: Disear un diagrama de caja que permita llenar y visualizar los datos
almacenados en un vector
INICIO
ESCRIBIR("Cuntos nmeros va a ingresar)
LEER(N)
For i, 0, N-1, +1
ESCRIBIR("Ingrese el valor de la posicin ", i)
LEER(A[i])
For i, 0, N-1, +1
ESCRIBIR(A[i])
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:68
EH%$lo: Disear un diagrama de caja que permita sumar el contenido de un
vector
INICIO
ESCRIBIR(`Cuntos nmeros va a ingresar)
LEER(N)
For i, 0, N-1, +1
ESCRIBIR("Ingrese el valor de la posicin ", i)
LEER(A[i])
Sum = 0
For i, 0, N-1, +1
Sum = Sum + A[i]
ESCRIBIR("La suma total es: ", Sum )
FIN
EH%$lo: Disear un diagrama de caja que permita imprimir cuantos valores que
pertenecen al vector estn en el rango de A y B
INICIO
ESCRIBIR("Cuntos nmeros va a ingresar)
LEER(N)
REPETIR
ESCRIBIR(" Ingrese los lmites inferior y
superior )
LEER(A, B)
HASTA(A < B)
For i, 0, N-1, +1
ESCRIBIR("Ingrese el valor de la
posicin ", i)
LEER(V[i])
C = 0
For i, 0, N-1, +1
(V[i]>=A) Y (V[i]<=B)
C= C+1
ESCRIBIR("EXISTEN ",C, " VALORES ENTRE ", A, " Y ",B)
FIN
SI NO
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:69
D%b%&:
1. Disear un diagrama de caja que permita sumar dos vectores de igual
longitud
2. Disear un diagrama de caja que permita sumar dos vectores de distinta
longitud
3. Disear un diagrama de caja que permita buscar el mayor y menor
nmero que se encuentran almacenados en un vector
4. Disear un diagrama de caja que permita ordenar un vector de forma
ascendente y descendente
5. Disear un diagrama de caja que permita reemplazar en un vector todos
los nmeros repetidos por un -5
ARRE8LOS MULTIDIMENSIONALES O MATRICES
Los arreglos multidimensionales son secuencias de valores del mismo tipo
que se almacenan en localidades contiguas de memoria, segn el orden de
varios ndices. En el caso de los arreglos de dos dimensiones o matrices
es necesario identificar dos ndices. El primero identifica al nmero de fila
y el segundo el nmero de columna dentro del arreglo
El trmino dimensin representa el nmero de ndices utilizados para
referirse a un elemento particular en el arreglo. Los arreglos de ms de
una dimensin se llaman arreglos multidimensionales
La forma de referenciar un elemento de un vector o matriz es mediante su
ndice, que puede ser una constante, una variable o una expresin, pero
siempre un valor ENTERO. El ndice se expresa entre parntesis, y habr
tantos ndices como dimensiones tenga la agrupacin de datos (1 para
vectores, 2 en matrices, ...)
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:70
ENERCICIOS DE MATRICES
EH%$lo: Disear un diagrama de caja que permita ingresar datos de una matriz
INICIO
ESCRIBIR("INGRESE EL NMERO DE FILAS Y COLUMNAS)
LEER(F,C)
For i, 0, F -1, +1
For j, 0,C-1, +1
ESCRIBIR("Ingrese el valor de la posicin ", i, j)
LEER(x[i] [j])
FIN
EH%$lo: Disear un diagrama de caja que permita sumar el contenido de una
matriz
INICIO
ESCRIBIR("INGRESE EL NMERO DE FILAS Y COLUMNAS)
LEER(F,C)
For i, 0, F -1, +1
For j, 0,C-1, +1
ESCRIBIR("Ingrese el valor de la posicin ", i, j)
LEER(x[i] [j])
SUM = 0
For i, 0, F -1, +1
For j, 0,C-1, +1
SUM = SUM +x[i] [j]
ESCRIBIR("LA SUMA TOTAL ES DE : ", SUM )
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:71
EH%$lo: Disear un diagrama de caja que permita generar una matriz traspuesta
EH%$lo: Dada una matriz en la que guarden las notas de n estudiantes en sus m
asignaturas. Calcular:
El promedio de notas de cada uno de los n estudiantes
El promedio de notas de cada una de las m asignaturas
INICIO
ESCRIBIR("INGRESE EL NMERO DE ESTUDIANTES Y DE ASIGNATURAS)
LEER(F,C)
For i, 0, F -1, +1
For j, 0,C-1, +1
ESCRIBIR("Ingrese nota del estudiante ", i, en la
asignatura, j)
LEER(NOTAS[i][j])
For i, 0, F -1, +1
SUMF=0
For j, 0,C-1, +1
SUMF = SUMF + NOTAS[i][j]
ESCRIBIR("El ESTUDIANTE ", i , (SUMF/C))
For j, 0, C -1, +1
SUMC=0
For i, 0,F-1, +1
SUMC = SUMC + NOTAS[i][j]
INICIO
ESCRIBIR("INGRESE EL NMERO DE FILAS Y COLUMNAS)
LEER(F,C)
For i, 0, F -1, +1
For j, 0,C-1, +1
ESCRIBIR("Ingrese el valor de la posicin ", i, j)
LEER(M[i] [j])
For i, 0, F -1, +1
For j, 0,C-1, +1
T[i] [j] = M[j] [i]
For i, 0, C -1, +1
For j, 0,F-1, +1
ESCRIBIR(T[i] [j] )
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:72
ESCRIBIR("LA ASIGNATURA ", j ,(SUMC/F))
FIN
D%b%&:
1. Disear un diagrama de caja que permita sumar dos matrices de igual
dimensin
2. Disear un diagrama de caja que permita sumar dos matrices de distinta
longitud
3. Disear un diagrama de caja que permita realizar la multiplicacin de
matrices
MANENO I DEFINICIN DE PROCEDIMIENTOS I FUNCIONES
P&oc%(""%#)o
Es una secuencia de operaciones; el nombre del procedimiento se refiere a
una secuencia de operaciones especfica. Entonces un procedimiento es muy
parecido a un programa, pero est subordinado o es controlado por un
programa. A los procedimientos tambin se los llama como subprogramas.
Un procedimiento es un grupo de sentencias que realizan una tarea concreta.
En lugar de reescribir el cdigo completo de esa tarea cada vez que se
necesite, nicamente se hace una referencia al procedimiento. Por ejemplo,
es muy comn que se quiera visualizar un ttulo determinado varias veces en
un programa, para evitar teclear ese ttulo en nuestro programa fuente todas
las veces que sea necesario creamos un procedimiento llamado "Titulo" que
se encargar de escribirlo. Una vez creado un procedimiento actuar como
una instruccin ms del lenguaje de programacin, y para ejecutarlo
nicamente teclearemos el nombre de dicho procedimiento. Para poder
ejecutar un procedimiento es necesario declararlo antes del programa que se
est utilizando.
C&%ac"4# (% lo9 $&oc%(""%#)o9
El primer paso para crear un procedimiento es saber que queremos que haga. Una
vez definiendo este punto declaramos el procedimiento antes del cuerpo del
programa principal. La palabra reservada para su declaracin es P&oc%(""%#)o
seguida del nombre o identificador del procedimiento. Ejemplo:
PROCEDIMIENTO NOMBRE(LISTA DE PARAMETROS FORMALES)
INICIO
Instruccin 1
Instruccin 2
...
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:73
PRO8RAMA PRINCIPAL
EH%$lo: Disear un diagrama de caja utilizando procedimientos para dibujar una
cartula.
PROCEDIMIENTO Linea
INICIO
Escribir("*****)
FIN
PRO8RAMA PRINCIPAL
PARMETROS
Para poder pasar informacin entre el programa principal y procedimientos, o entre
los mismos procedimientos usamos los parmetros, que son los canales de
comunicacin de datos.
Los parmetros son opcionales y si no se necesitan no se deben usar. Para
utilizarlos es necesario declararlos son la siguiente sintaxis:
PROCEDIMIENTO nombre (lista de parmetros)
La lista de parmetros est compuesta de los nombres de los mismos.
Ejemplo:
PROCEDIMIENTO Linea/#15
INICIO
Instruccin 1
Llamada al
procedimiento(Lista de
parmetros actuales)
...
FIN
INICIO
Linea
Escribir ("ESPOCH)
Escribir("EIE)
Linea
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:74
Para llamar a un procedimiento que utiliza parmetros se pueden utilizar como tales
otras variables o constantes, siempre y cuando sean del mismo tipo que los
declarados. Ejemplo:
L"#%a/F5Y
EH%$lo: Disear un diagrama de caja utilizando procedimientos para dibujar una
cartula e ingresar el nmero de asteriscos que queremos visualizar.
PROCEDIMIENTO Linea(n1)
INICIO
For i, 1, n1, +1
Escribir(`*)
FIN
PRO8RAMA PRINCIPAL
EH%$lo: Disear un diagrama de caja utilizando procedimientos para dibujar una
cartula e ingresar el nmero y el carcter a imprimir.
PROCEDIMIENTO Dibuja(num, caracter)
INICIO
For i, 1, num, +1
Escribir(caracter)
FIN
INICIO
Linea(5)
Escribir ("ESPOCH)
Escribir("EIE)
Escribir("Ingrese un nmero)
Leer (Longitud)
Linea(Longitud)
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:75
PRO8RAMA PRINCIPAL
DEFINICIN DE LAS FUNCIONES
Las funciones son, al igual que los procedimientos, un conjunto de sentencias que
se ejecutan constantemente, la diferencia entre stas y los procedimientos es que
las funciones regresan un valor. La declaracin de las funciones se realiza de la
siguiente forma:
FUNCIN NOMBRE (Lista de parmetros formales)
A continuacin se escribe el contenido de la funcin como una sentencia normal
(sencilla o compuesta), normalmente terminando con el valor que regresar o
retornar.
Ejemplo:
FUNCIN NOMBRE (Lista de parmetros formales)
INICIO
Instruccin 1
Instruccin 2
Retornar(valor)
FIN
PRO8RAMA PRINCIPAL
EH%$lo: Disear un diagrama de caja utilizando funciones para calcular el factorial
de un nmero.
INICIO
Dibuja(5,@)
Escribir ("ESPOCH)
Escribir("EIE)
Escribir("Ingrese un nmero y un carcter)
Leer (n, op)
Dibuja(n, op)
FIN
INICIO
Instruccin 1
Variable = nombre(lista de
parmetros actuales)
...
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:76
FUNCIN factorial(f)
INICIO
S = 1
For i, 1, f, +1
S= S * i
Retornar(S)
FIN
PRO8RAMA PRINCIPAL
EH%$lo: Disear un diagrama de caja utilizando procedimientos y funciones para
calcular la sumatoria.
+
_
n!
1
2
-
_
(n -1)!
S
4
.
FUNCIN factorial(x)
INICIO
f = 1
For i, x, 1, -1
f= f * i
Retornar(f)
FIN
FUNCIN potencia(b,c)
INICIO
p = 1
For i, 1, c, +1
p= p * b
Retornar(p)
FIN
INICIO
Escribir("Ingrese un nmero)
Leer(num)
X = factorial(num)
Escribir("La respuesta es , X)
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:77
PROCEDIMIENTO ImpRespuesta(y)
INICIO
Escribir("La suma total es de: ", y)
FIN
PRO8RAMA PRINCIPAL
INICIO
Escribir("Ingrese un nmero de trminos)
Leer(n)
Suma = 0
Sig = 1
Base= 1
Exp = 2
For i, n, 1, -1
Fact =factorial(i)
Pot= potencia(base, exp)
Termino= sqrt(Fact/Pot)
Termino= Termino*sig
Suma= Suma+ Termino
Sig= Sig*(-1)
Base= Base+2
Exp =Exp +2
ImpRespuesta(Suma)
FIN
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:78
8LOSARIO
SI8NIFICADO DE TERMINOS MS UTILIZADAS
A8P Perifrico Avanzado de Grficos. Bus para manejo de video de
alta velocidad, muy utilizado para manejo de grficos en 3D
AT Tecnologa de avanzada. Esta tecnologa esta aplicada en
fuentes de poder, tarjetas principales (Main board) y chasis o
caja metlica
ATAPI Especificacin que permite que las unidades de CD-ROM
acten como Discos Duros, lo cual permite ser conectadas a
interfaces IDE ( correas planas de datos)
AT3
Tecnologa avanzada extendida. la tecnologa ATX es mas
nueva y se aplica de igual forma en los componentes
anteriores de la AT
+INARIO Con solo dos estados o elementos. Pertenece a un sistema
basado en solo 2 unidades o alternativas, utiliza los dgitos
binarios 0 y 1
+IOS Basic INPUT AND OUTPUT SYSTEM (Sistema bsico para el
control de entrada y salida de datos en un computador).
Conjunto de programas grabados en chip de memoria ROME (
Read Only Memory )
+IT Abreviatura de BINARY DIGIT. Representado por 0,1 unidad
principal de almacenamiento de informacin en la
computadora. A partir de esta unidad surgen las diferentes
unidades de almacenamiento 8 bits componen un BYTE
+ITE Conjunto formado por 8 unos y ceros (bits). Un byte es igual a
un carcter , una letra, un numero, un smbolo etc.
CMOS Complementary Metal Oxide Semiconductor. Tecnologa de
transistores y circuitos integrados de muy bajo consumo de
corriente.
COM ( comunicacin )Puertos de comunicacin serial, y son los
puerto 1 y 2. Un puerto COM es un circuito de entrada y salida
( I/O ) de datos en modo serial
CONSTANTE Dato definido en un programa que presenta un valor
permanente durante su tiempo de vida
DATO Expresin general que describe los objetos con los cuales
opera una computadora
DDR Memoria RAM (DOUBLE DATA RATE SYNCHRONOUS DRAM)
SDRAM
DIMM Dual In Line Memory Modul. ( Modulo de memoria de lnea
interna doble). Modulo estndar de 168 pines que ha
reemplazado a los mdulos de memoria RAM SIMM de 30 y 72
pines.
DIN Deutsche Institut Fur Normung. Organizacin de Normas
Alemanas que propuso un conjunto de configuraciones para
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:79
conectores como el teclado y el ratn tambin el MIDI.
Actualmente hay conector DIN para clones, y MINIDIN para
marca
DMA Direct Memory Access. ( Acceso directo a la memoria ). Es una
tcnica que permite a un dispositivo perifrico entrar o extraer
bloques de datos de la memoria principal del computador sin
que intervenga el microprocesador
EPP Puerto paralelo mejorado
6ERTZ / HZ) Hercio: unidad de medida de la frecuencia de vibracin
de un objeto, tal como una cuerda de guitarra. Un hertz es
igual a un ciclo por segundo.
IDE Integrate drive electronics Intelligent drive electronics.
Tecnologa de discos duros y unidades lectoras de CD-ROM en
la que el control e las operaciones Bsicas esta a cargo de la
circuetera electrnica de la misma unidad. este alto nivel de
integracin acorta las vas de acceso de las seales entre las
unidades y los controladores , permitiendo ms altos niveles
de transferencia de datos.
ISA Arquitectura industrial estndar , estructura de bus o ranura
de expansin
LPT Line Printer ( puerto para impresora )
ME8A6ERTZ Megahercio unidad de medida igual a un milln de vibraciones
elctricas o ciclos por segundo se utiliza frecuentemente para
comparar entre computadoras las velocidades de los relojes
generadores de pulsos
PCI Interconexin de componentes perifricos, BUS que corre a 33
mhz
P8A Pines dispuestos en parrilla. (pin grid array). Tipo de
encapsulado para CPU ( MICROPROCESADOR). Conocido como
socket
RAM Random Access Memory ( Memoria de acceso directo a
cualquier celda ) tipo de dispositivo de memorizacin
electrnica de datos binarios ( unos y ceros a manera de
cargas elctricas ). Utilizado para cargar instrucciones de
programas y luego ejecutarlos muy rpidamente desde all
RAM+US Memoria RAM de alta velocidad
RIMM Memoria RAM para grficos. Es la tercera generacin de
RAMBUS, sus mdulos se denominan RIMM y SO-RIMM. El
RIMM tiene 184 pines y el chip consume 2.5 voltios
ROM Read Only Memory. Memoria de solo lectura, tipo de
dispositivo electrnico para almacenar de manera permanente
datos binarios ( unos y ceros a manera de redes conductoras).
SCSI Small computer. Sistema interfase para computadoras
personales
SETUP Configuracin y ajuste
SIMM Single In Line Memory Module ( Modulo de Memoria En Una
Sola Lnea ). Tarjeta de circuito impreso que contiene varios
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:80
circuitos integrados de memoria RAM para computador
SIPP Single In Line Package. ( Circuito integrado o dispositivo con
sus pastillas de conexin formado por una sola hilera ).
Modulo de memoria RAM para computador
SPP Puerto paralelo estndar
SRAM ( Memoria Ram Esttica ). Chip de memoria esttica que no
requiere refrescamiento peridico de los datos almacenados en
celdas. Es ms rpida y costosa que la RAM
US+ Bus Serial Universal. Permite la funcin plug and play (conecte
y empiece a trabajar) permite conectar hasta 126 dispositivos
fsicos
7ARIA+LE
Dato definido en un programa cuyo valor puede cambiar
durante su tiempo de vida
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:81
ENERCICIOS PROPUESTOS
SIMPLE SECUENCIA I SI CONDICIN ENTONCES:
1. Desarrolle un diagrama de caja que permita leer dos valores distintos,
determinar cul de los dos valores es el mayor y escribirlo
2. Desarrolle un diagrama de caja para determinar la hipotenusa de un
tringulo rectngulo conocidas las longitudes de sus dos catetos.
3. Desarrolle un diagrama de caja que permita determinar el rea y
volumen de un cilindro dado su radio (R) y altura (H).
4. Desarrolle un diagrama de caja que permita leer tres valores y
almacenarlos en las variables A, B y C respectivamente. El diagrama
debe imprimir cul es el mayor y cul es el menor. Recuerde constatar
que los tres valores introducidos por el teclado sean valores distintos.
Presente un mensaje de alerta en caso de que se detecte la
introduccin de valores iguales
5. Desarrolle un diagrama de caja que lea cuatro nmeros diferentes y a
continuacin imprima el mayor de los cuatro nmeros introducidos y
tambin el menor de ellos
6. Desarrolle un diagrama de caja que lea los primeros 300 nmeros
enteros y determine cuntos de ellos son impares; al final deber
indicar su sumatoria
7. Desarrolle un diagrama de caja que le permita determinar de una lista
de nmeros:
a) Cuntos estn entre el 50 y 75, ambos inclusive?
b) Cuntos mayores de 80?
c) Cuntos menores de 30?
El diagrama debe finalizar cuando n (el total de nmeros de la lista), sea
igual a 0.
8. Desarrolle un diagrama de caja que permita convertir calificaciones
numricas, segn la siguiente tabla: A = 19 y 20, B =16, 17 y 18, C = 13, 14
y 15, D = 10, 11 y 12, E = 1 hasta el 9. Se asume que la nota est
comprendida entre 1 y 20.
9. Desarrolle un diagrama de caja que permita leer un valor entero positivo N
y determinar si es primo o no.
10.Capture un nmero cualesquiera e informe si es o no es mayor de 50 y
mltiplo de tres. ( solo escribir el mensaje de respuesta de manera muy
clara)
11.Se calcula que en promedio hay 4.7 nidos en cada rbol en la ESPOCH,
tambin se calcula que en cada nido existen un promedio de 5.8 pjaros, se
pide calcular la cantidad total de nidos y de pjaros en los 227 rboles que
existen en la ESPOCH
12.Realice un diagrama de caja que determine el pago a realizar por la entrada a
un espectculo donde se pueden comprar slo hasta cuatro entradas, donde
al costo de dos entradas se les descuenta el 10%, al de tres entrada el 15% y
a la compra de cuatro tickets se le descuenta el 20 %.
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:82
13.El Mircoles de Ceniza es 46 das antes que el Domingo de Resurreccin.
Hacer un diagrama de caja para que dados el da D, el mes M y el ao A del
Domingo de Resurreccin calcule la fecha del Mircoles de Ceniza en ese ao.
Se debe tener en cuenta si el ao es o no bisiesto
14.Disee un diagrama de caja en el que dados tres nmeros, determinar si la
suma de cualquier pareja de ellos es igual al tercer nmero. Si se cumple
esta condicin, escribir Iguales y, en caso contrario, escribir Distintas.
15.En un hospital existen tres reas: Ginecologa, Pediatra, Traumatologa. El
presupuesto anual del hospital se reparte conforme a la siguiente tabla:
REA PORCENTANE DEL PRESUPUESTO
Ginecologa 40%
Traumatologa 30%
Pediatra 30%
Obtener la cantidad de dinero que recibir cada rea, para cualquier
monto presupuestal.
16.En un supermercado se hace una promocin, mediante la cual el cliente
obtiene un descuento dependiendo de un nmero que se escoge al azar. Si el
numero escogido es menor que 74 el descuento es del 15% sobre el total de
la compra, si es mayor o igual a 74 el descuento es del 20%. Obtener cunto
dinero se le descuenta.
17.Calcular el nmero de pulsaciones que debe tener una persona por cada 10
segundos de ejercicio aerbico; la formula que se aplica cuando el sexo es
femenino es: num. pulsaciones = (220 - edad)/10 y si el sexo es masculino:
num. pulsaciones = (210 - edad)/10
18.Tomando como base los resultados obtenidos en un laboratorio de anlisis
clnicos, un mdico determina si una persona tiene anemia o no, o cual
depende de su nivel de hemoglobina en la sangre, de su edad y de su sexo.
Si el nivel de hemoglobina que tiene una persona es menor que el rango que
le corresponde, se determina su resultado como positivo y en caso contrario
como negativo. La tabla en la que el mdico se basa para obtener el
resultado es la siguiente:
EDAD NI7EL 6EMO8LO+INA
0 - 1 mes 13 - 26 g%
> 1 y < = 6 meses 10 - 18 g%
> 6 y < = 12 meses 11 - 15 g%
> 1 y < = 5 aos 11.5 - 15 g%
> 5 y < = 10 aos 12.6 - 15.5 g%
> 10 y < = 15 aos 13 - 15.5 g%
mujeres > 15 aos 12 - 16 g%
hombres > 15 aos 14 - 18 g%
CASE
19.Construir un men que contenga el siguiente men
Conversin de pesos a dlares
Conversin de libras a kilogramos
Conversin de kilmetros a millas
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:83
Fin de men
Seleccionar opcin [ ]
20.Evaluar cualquier funcin vista para cuando x =3,-4, 5
MIENTRAS 6ACER
21.Desarrolle un diagrama de caja que permita calcular Promedio de Notas;
finaliza cuando N = 0
22.Desarrolle un diagrama de caja para la empresa Constructora Tecnovivir
Casas C.A., que le permita calcular e imprimir la nmina para su cancelacin
a un total de 50 obreros calificados a quienes debe cancelar por horas
trabajadas. La hora trabajada se paut en $30,oo
23.Desarrolle un diagrama de caja que permita determinar a partir de un
nmero de das, ingresado por pantalla, Cuntos aos, meses, semanas y
das; constituyen el nmero de das proporcionado utilizando la estructura
mientras hacer.
24.La sucesin de Fibonacci se define de la siguiente forma: a1=1, a2=1 y
an=an-1+an-2 para n>2, es decir los dos primeros son 1 y el resto cada uno
es la suma de los dos anteriores, los primeros son: 1, 1, 2, 3, 5, 8, 13, 21, ...
Hacer un diagrama de caja para calcular el Nsimo trmino de la sucesin.
25.Hacer un diagrama de caja que simule un reloj.
26.Hacer un diagrama de caja que permita construir la tabla de dividir que el
usuario indique
27.Realizar el diagrama de caja para resolver una ecuacin de segundo grado,
teniendo en cuenta las soluciones complejas.
28.Hacer un diagrama de caja para calcular el mximo comn divisor de dos
nmeros enteros positivos N y M siguiendo el algoritmo de Eucldes, que es el
siguiente:
a. Se divide N por M, sea R el resto.
b. Si R=0, el mximo comn divisor es M y se acaba.
c. Se asigna a N el valor de M y a M el valor de R y volver al paso 1.
d. Por qu el mtodo anterior acaba alguna vez? por qu calcula
el mximo comn divisor de N y M?
REPETIR 6ASTA
29.Hacer un diagrama de caja para convertir un nmero decimal N dado por
teclado a binario.
30.Hacer un diagrama de caja para calcular AB, siendo B un entero, ntese que
B puede ser 0 o negativo
31.Hacer un diagrama de caja para calcular el mximo de N nmeros ledos por
teclado, se debe realizar de dos formas, una almacenando previamente los
nmeros dados por teclado en un array y la otra calculando el mximo
directamente segn se leen los nmeros del teclado.
32.Se desea disear un diagrama de caja que a partir de un nmero (N)
ingresado por el usuario, muestre nmeros sucesivos menores que N. Asuma
que siempre se ingresa un nmero entero positivo
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:84
33.Hacer un diagrama de caja que dados un da D, un mes M y un ao A, calcule
cual es el da siguiente. Se debe tener en cuenta que en los aos bisiestos
Febrero tiene 29 das y en los no bisiestos 28
34.Un entrenador le ha propuesto a un atleta recorrer una ruta de cinco
kilmetros durante 10 das, para determinar si es apto para la prueba de 5
Kilmetros 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.
35.Un Zologo pretende determinar el porcentaje de animales que hay en las
siguientes tres categoras de edades: de 0 a 1 ao, de ms de 1 ao y menos
de 3 y de 3 o ms aos. El zoolgico todava no est seguro del animal que
va a estudiar. Si se decide por elefantes solo tomara una muestra de 20 de
ellos; si se decide por las jirafas, tomara 15 muestras, y si son chimpancs
tomara 40.
36.El Departamento de Seguridad Publica y Transito del D.F. desea saber, de los
n autos que entran a la ciudad de Mxico, cuantos entran con calcomana de
cada color. Conociendo el ultimo dgito de la placa de cada automvil se
puede determinar el color de la calcomana utilizando la siguiente Relacin:
DU8ITO COLOR
1 o 2 amarilla
3 o 4 rosa
5 o 6 roja
7 o 8 verde
9 o 0 azul
37.Una persona que va de compras a la tienda "Enano, S.A., decide llevar un
control sobre lo que va comprando, para saber la cantidad de dinero que
tendr que pagar al llegar a la caja. La tienda tiene una promocin del 20%
de descuento sobre aquellos artculos cuya etiqueta sea roja. Determinar la
cantidad de dinero que esta persona deber pagar.
38.Disee un diagrama de caja que lea el valor de un ngulo expresado en
radianes y calcule e imprima el valor del seno de dicho ngulo. Se leer
tambin el nmero de trminos de la serie.
SEN(X) = X - ( X
3
/ 3 ! ) + ( X
5
/ 5 ! ) - (X
7
/ 7!) + .....
39.Disear un diagrama de caja que convierta un nmero del sistema decimal a:
a) sistema binario b) sistema octal c) sistema hexadecimal. Segn se elija.
40.Disear un diagrama de caja que calcule exactamente el nmero de das
vividos por una persona hasta la fecha. Contemplar los aos bisiestos.
41.Disear un diagrama de caja que permita la transformacin de un nmero de
base 10 a cualquier base
42.Disear un diagrama de caja que calcule la siguiente serie:
2
2
2
2
2
2
! 3
) 3 (
! 2
) 2 (
! 1
) 1 (
1
+
X X X
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:85
FOR
43.Escribir un diagrama de caja que lea una frase y a continuacin visualice cada
palabra de la frase una debajo de otra, seguida cada palabra del nmero de
letras que compone cada palabra.
44.Escribir un diagrama de caja que lea una frase y sustituya todas las
secuencias de dos o ms blancos por un solo blanco y visualice la frase
45.Escribir un diagrama de caja que lea una frase y determine la frecuencia de
aparicin de cada vocal con respecto al total de caracteres de la frase
46.Hallar la sumatoria de la serie que se muestra a continuacin en la que los
signos cambian de la forma ++-++- y X tome los valores del 10 al 15 (todos)
+
(x + 1)
(n)
1! (n)
+
(x +S)
(n-1)
S! (n - 1)
-
(x - S)
(n-2)
S! (n -2)
47.Cuntas palabras palndromo existen en una frase ingresada por el usuario:
ejemplo: El oso de Ana se llama Radar. Respuesta = Existen 3 palabras
palndromos en la frase oso, Ana, Radar
48.Hallar las siguiente sumatoria:
....
))! 2 ( (
)! ) 2 ((
))! 1 ( (
)! ) 1 ((
)! (
)! (
) 2 ( ) 1 (
n X
n
n X
n
n X
n
n n n
Con todos los valores de a entre 1 y 5, b es un valor constantes ingresada el
usuario y n el nmero de trminos entre 1 y 10
49.Con todos los valores de X entre 10 y 20, n el nmero de trminos entre 1 y
5
....
)! 2 (
)) 2 ( ( 15
)! 1 (
)) 1 ( ( 10
!
) ( 5
2 1
n n n
n
n X
n
n X
n
n X
50.Disee un diagrama de caja que permita ingresar una frase por el usuario y
hallar cuantas palabras empiezan y terminan en la misma vocal y son de
longitud impar. Mostrarlas en una fila nueva cada palabra que cumpla con
las condiciones
Ejemplo:
La abeja Anita volar al este
Respuesta
abeja
Anita
51.Disee un diagrama de caja que permita ingresar una frase por el usuario y
averiguar cuantas palabras ingresadas en la frase tienen dos letras iguales y
seguidas y que sean de longitud par. Mostrarlas en una fila nueva cada
palabra que cumpla con la condicin
Ejemplo:
La conveccin de acciones provee igualdad
Respuesta:
Conveccin
Acciones
52.Disee un programa que permita ingresar una frase por el usuario y
averiguar cuantas palabras ingresadas en la frase tienen en sus palabras al
menos una mayscula y cuantas palabras tiene una longitud mltiplo de tres.
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:86
Ejemplo:
S:= `Buena Suerte en el exAmen;
Respuesta:
Hay 3 palabras con letras maysculas: Buena, Suerte y exAmen
Hay 2 palabras que su longitud es mltiplo de 3: Suerte, exAmen
53.Disee un diagrama de caja que permita resolver la siguiente sumatoria de
sumatorias
Dada la serie:
........
) 6 )! 2 (( ) 4 )! 1 (( ) 2 ! (
) 2 (
5
) 1 (
3 1
+
+
+
+
n
b
n
b
n
b
n b n b n b
Donde b tomar todos los valores de 1 al 10 y el nmero de trminos (n)
ser dado por el usuario cuyo valor debe ser entre 5 y 8 trminos para todas
las series
54.Disee un diagrama de caja que permita resolver la siguiente situacin.
Dada una frase, como por ejemplo: Las fiestas De Riobamba Han TerMinaDo
. Encontrar:
a) Mostar cada palabra en una fila nueva y al revs:
saL
fiestas
eD
abmaboiR
naH
oDaniMreT
b) Cuntas palabras de la frase tienen al menos una letra mayscula:
Respuesta 5 (Las, De, Riobamba, Han, TerMinaDo)
7ECTORES I MATRICES
55.Capturar las ventas mensuales de una empresa durante un ao determinado
y al final calcule el promedio anual de ventas y muestre el nombre del mes
con la venta mayor as como el mes con la venta menor.
56.Capture los datos de un arreglo de N posiciones de nmeros positivos y
negativos enteros y sustituya los nmeros negativos por cero.
57.Capturar N valores de tipo entero para almacenarlos en un arreglo y
ordenarlo en forma ascendente.
58.Calcular el promedio y la desviacin estndar de un conjunto de N nmeros
ledos del teclado. La desviacin estndar se calcula con la siguiente frmula:
59.Calcular los nmeros primos hasta el N, segn la Criba de Eratstenes, que
consiste en poner todos los nmeros del 2 al N en una tabla e ir tachando los
mltiplos de cada nmero, detalladamente es como sigue:
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:87
1. Escribir los nmeros del 2 al N.
2. Hacer I igual a 2
3. Mirar el nmero I de la tabla.
4. Si esta tachado ir al paso 6.
5. Si no lo est tachar los mltiplos de I en la tabla.
6. Incrementar I.
7. Si I es menor o igual que N ir al paso 3.
8. En otro caso finalizar.
El punto 5 tambin requiere un algoritmo, que es el siguiente:
5.1 Hacer J igual al doble de I (primer mltiplo de I).
5.2 Si J es mayor que N finalizar (el apartado 5).
5.3 En otro caso tachar el elemento J.
5.4 Incrementar J en I (para pasar al siguiente mltiplo de I).
5.5 Volver a 5.2.
Para realizarlo se simular la tabla con nmeros tachados mediante un
array P, y el elemento I estar sin tachar cuando P(I) sea 1 y tachado cuando
sea 0.
60.Hacer un diagrama de caja para ordenar N nmeros ledos por teclado y
almacenados en un array A. El algoritmo es el siguiente:
1. Se lee N y despus los N nmeros al array A.
2. Se busca el mximo de los elementos del 1 al N y su ndice J.
3. Se intercambian los elementos A(J) y A(N).
4. Se decrementa N en 1.
5. Se compara N con 1, si es mayor se vuelve a 2.
6. Si es menor o igual se termina.
61.Hacer el diagrama de caja que dado un array A ordenado de N elementos,
encuentre la posicin de uno B ledo por teclado. El diagrama de caja a
emplear es el siguiente:
1. Se fijan los extremos de la porcin a buscar: I=1, J=N.
2. Se calcula el ndice del elemento medio K=(I+J)/2.
3. Se compara B con el elemento medio A(K).
4. Si es igual se escribe K y se termina.
5. Si es mayor se cambian los extremos a I=K+1, J=N y se vuelve a 2.
6. Si es menor se cambian los extremos a I=1, J=K-1 y se vuelve a 2.
Pensar despus que habr que modificar para que busque tambin
valores de B que no estn en el array A, si se da ese caso y no lo
encuentra debe poner un mensaje diciendo que no esta
62.Hacer un diagrama de caja que adivine el nmero entre 1 y 1000 pensado
por un humano. El diagrama de caja debe ir diciendo nmeros y el humano
responder con los smbolos '<', '>' o '=', segn el nmero pensado sea
menor, mayor o igual que el dicho por el ordenador. Cuando lo adivine
deber poner un mensaje especificando cuantas preguntas ha necesitado y
finalizar. No debe realizar ms de 10 preguntas y debe detectar si el humano
le engaa dicindole cosas imposibles, por ejemplo es mayor que 4 y menor
FUNDAMENTOS DE PROGRAMACIN
Carreras: Telecomunicaciones Y Redes , Control y Redes Industriales Pgina N:88
que 5. Si en lugar de estar el nmero de partida entre 1 y 1000 estuviera
entre 1 y 1000000, cuantas preguntas seran necesarias?
63.Calcular el promedio de 50 valores almacenados en un vector. Determinar
adems cuantos son mayores que el promedio, imprimir el promedio, el
numero de datos mayores que el promedio y una lista de valores mayores
que el promedio
64.Almacenar 300 nmeros en un vector, imprimir cuantos son ceros, cuntos
son negativos, cuantos positivos. Imprimir adems la suma de los negativos
y la suma de los positivos.
65.Hacer un diagrama de caja que llene una matriz de 10 * 10 y determine la
posicin [rengln, columna] del nmero mayor almacenado en la matriz. Los
nmeros son diferente
66.Hacer un diagrama de caja que llene una matriz de 10 * 10 y que almacene
en la diagonal principal unos y en las dems posiciones ceros.
67.Disee un diagrama de caja que escriba el nmero de la hilera cuya suma sea
mayor que las dems hileras. Suponga que todas las hileras suman diferente
cantidad.
68.Capture las celdas de una matriz de tamao m X N y .
Ordnelo en forma ascendente por columna
Ordnelo en forma descendente por rengln
69.El dueo de una cadena de tiendas de artculos deportivos desea controlar
sus ventas por medio de una computadora. Los datos de entrada son:
a) El numero de la tienda (1 a 50)
b) Un numero que indica el deporte del articulo (1 a 20)
c) El costo del artculo.
Hacer un pseudocdigo que escriba al final del da lo siguiente
1. Las ventas totales en el da para cada tienda
2. Las ventas totales para cada uno de los deportes.
3. Las ventas totales de todas las tiendas.
70.Disee un diagrama de caja que llene una matriz de 10 * 10 y determine:
A) El numero mayor almacenado en la matriz
B) El numero mayor almacenado en cada rengln
C) La columna que tuvo la mxima suma
D) El rengln que tuvo la mxima suma
Disee una funcin para cada inciso.
71.Un cuadrado mgico 3 x 3 es una matriz 3 x 3 formada por nmeros del 1 al
9 donde la suma de sus filas, sus columnas y sus diagonales son idnticas.
Crear un diagrama de caja que permita introducir un cuadrado por teclado y
determine si este cuadrado es mgico o no. El diagrama de caja deber
comprobar que los nmeros introducidos son correctos, es decir, estn entre
el 1 y el 9.
72.Se dice que una matriz tiene un punto de silla si alguna posicin de la matriz
es el menor valor de su fila y a la vez el mayor de su columna. Escribir un
diagrama de caja que tenga como entrada una matriz de nmeros enteros y
calcule la posicin de un punto de silla (si es que existe).