Variables, expresiones y ejecución de condiciones les en PSeIntCristian C
Contiene información sobre los tipos de variables , operadores aritméticos, operadores lógicos, operadores de texto, precedencia, entrada y salida por consola, ejecución condicional (Si - Entonces), ejecución alternativa (Si – Entonces – Si No), si – Entonces – Si No anidados y por ultimo algunos ejercicios.
Variables, expresiones y ejecución de condiciones les en PSeIntCristian C
Contiene información sobre los tipos de variables , operadores aritméticos, operadores lógicos, operadores de texto, precedencia, entrada y salida por consola, ejecución condicional (Si - Entonces), ejecución alternativa (Si – Entonces – Si No), si – Entonces – Si No anidados y por ultimo algunos ejercicios.
La recursividad o recursión es una técnica de programación que consiste en expresar una solución en términos de sí misma. Se dice que los algoritmos recursivos aplican una técnica de "divide y vencerás", para reducir un problema complejo en subproblemas más pequeños y fáciles de resolver.
Ingeniería en Sistemas Computacionales
Simulación
Algoritmo congruencial cuadrático
Programa que genera una serie de números pseudoaleatorios basándose en el algoritmo congrencial cuadratico, al final los muestra en pantalla.
Enseñar a encontrar derivadas de funciones trigonométricas inversas.
Estas laminas sirvieron como apoyo didáctico para la elaboración del vídeo correspondiente a las "derivadas de funciones trigonométricas inversas" contenidos en el SEED.
"La simulación es una técnica básica utilizada en Informática para estudiar el comportamiento de un sistema informático. Es especialmente importante cuando se quiere conocer el comportamiento de sistemas distribuidos de gran escala, ya que normalmente no se dispone de infraestructuras de este tipo sobre las que poder experimentar. En esta charla se motivará la necesidad de utilizar técnicas de simulación cuando se quiere realizar investigación y experimentar sobre sistemas distribuidos de gran escala. Se hará una introducción al entorno de simulación SimGrid para la simulación de sistemas distribuidos, y se mostrarán ejemplos de su utilización en determinados tipos de sistemas distribuidos.
"
La recursividad o recursión es una técnica de programación que consiste en expresar una solución en términos de sí misma. Se dice que los algoritmos recursivos aplican una técnica de "divide y vencerás", para reducir un problema complejo en subproblemas más pequeños y fáciles de resolver.
Ingeniería en Sistemas Computacionales
Simulación
Algoritmo congruencial cuadrático
Programa que genera una serie de números pseudoaleatorios basándose en el algoritmo congrencial cuadratico, al final los muestra en pantalla.
Enseñar a encontrar derivadas de funciones trigonométricas inversas.
Estas laminas sirvieron como apoyo didáctico para la elaboración del vídeo correspondiente a las "derivadas de funciones trigonométricas inversas" contenidos en el SEED.
"La simulación es una técnica básica utilizada en Informática para estudiar el comportamiento de un sistema informático. Es especialmente importante cuando se quiere conocer el comportamiento de sistemas distribuidos de gran escala, ya que normalmente no se dispone de infraestructuras de este tipo sobre las que poder experimentar. En esta charla se motivará la necesidad de utilizar técnicas de simulación cuando se quiere realizar investigación y experimentar sobre sistemas distribuidos de gran escala. Se hará una introducción al entorno de simulación SimGrid para la simulación de sistemas distribuidos, y se mostrarán ejemplos de su utilización en determinados tipos de sistemas distribuidos.
"
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA, crea y desarrolla ACERTIJO: «CARRERA OLÍMPICA DE SUMA DE LABERINTOS». Esta actividad de aprendizaje lúdico que implica de cálculo aritmético y motricidad fina, promueve los pensamientos lógico y creativo; ya que contempla procesos mentales de: PERCEPCIÓN, ATENCIÓN, MEMORIA, IMAGINACIÓN, PERSPICACIA, LÓGICA LINGUISTICA, VISO-ESPACIAL, INFERENCIA, ETCÉTERA. Didácticamente, es una actividad de aprendizaje transversal que integra áreas de: Matemáticas, Neurociencias, Arte, Lenguaje y comunicación, etcétera.
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfsandradianelly
Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestra y el maestro Fase 3Un libro sin recetas, para la maestr
1. Realizado por
JAIRO HERNANDO RAMÍREZ MARÍN
Docente de Lógica de Programación, Algoritmos y Lenguaje de Programación
Institución Universitaria Salazar y Herrera
Lógica de Programación
2. Estructuras repetitivas
Ciclo PARA
Ciclo MIENTRAS
Ciclo REPITA
Variables que se combinan con los ciclos
Acumulador, contador, promedio y porcentaje
Switche o bandera
Ciclos anidados
Estructuras repetitivas y estructuras de decisión
3. ESTRUCTURAS REPETITIVAS
Las estructuras repetitivas son conocidas como
CICLOS, y se usan dentro de Algoritmos para
realizar procesos que se deben REPETIR un
determinado número de veces. los ciclos
permiten ahorrar tiempo en el momento de
realizar instrucciones dentro de un algoritmo.
Por ejemplo si se pide hacer un algoritmo que lea
1 número y calcule su cuadrado, sería un
proceso muy sencillo:
4. INICIO
LEA num
Cuad = num ^ 2
IMPRIMIR Cuad
FIN
Este es un proceso sencillo de realizar; pero si en
lugar de un número fueran 10, 20 o 500, no se
podrían leer 10, 20 o 500 variables. Lo mejor sería
usar una estructura REPETITIVA. Por ejemplo:
5. INICIO
PARA X=1, 20, 1
LEA num
Cuad = num ^ 2
IMPRIMIR Cuad
FIN PARA
FIN
Este es un ejemplo de un ciclo PARA, que toma las
instrucciones que hay dentro de él, y las repite 20
veces. En este caso leería 20 números y calcularía su
cuadrado.
6. TIPOS DE ESTRUCTURAS REPETITIVAS
En Algoritmos existen los siguientes tipos de
estructuras repetitivas y sus respectivas
divisiones:
•Ciclo PARA
•Ciclo MIENTRAS
•Registro CENTINELA (Cualitativo)
•Registro IDENTIFICADOR (Cuantitativo)
•Ciclo REPITA - HASTA
7. CICLO PARA
El ciclo PARA se usa cuando se conoce el número de veces
que se va a repetir el ciclo o cuando éste se hace N veces.
La SINTAXIS es la siguiente
PARA X = INICIO, FIN, [INCREMENTO o DECREMENTO]
Instrucciones
FIN PARA
***Si el FIN no se conoce, se lee antes del ciclo
8. EXPLICACIÓN:
PARA X = INICIO, FIN, [INCREMENTO o DECREMENTO]
X: Una variable cualquiera (Controladora del ciclo).
INICIO: Valor en el que empieza la variable controladora
(Normalmente es 1).
FIN: Valor en el que termina la variable controladora (Este
es el número de veces que se repite el ciclo).
INCREMENTO o DECREMENTO: Valor que incrementa o
decrementa la variable controladora (Normalmente es 1).
Dependiendo el ejercicio se pone el incremento o el
decremento.
9. Ejemplo: Se pide realizar un algoritmo que imprima
los números del 1 hasta el 100.
El mismo enunciado está indicando el número de veces que
se va a realizar el CICLO (100 veces), por tal motivo los
valores para el CICLO son (INICIO=1, FIN=100,
INCREMENTO=1; este último se usa para que la variable
pase de 1 a 2, de 2 a 3, y así sucesivamente hasta 100).
PARA NUM = 1, 100, 1
IMPRIMIR NUM
FIN PARA
Explicación:
10. En este ejemplo la variable controladora del ciclo es
la misma que se puede imprimir.
INICIO FIN INCREMENTO
VARIABLE
CICLO PARA NUM = 1, 100, 1
IMPRIMA NUM
FIN PARA INSTRUCCIONES
FIN DEL CICLO
Pero en la mayoría de los casos no es así. Ejemplo:
11. Desarrolle un algoritmo que lea el nombre y la edad
de una persona e imprima su nombre y un mensaje
que diga si es mayor o menor de edad.
Observe que la variable controladora
del ciclo (X) es diferente a las otras dos
variables: NOM y ED.
INICIO
PARA X = 1, 25,1
LEA NOM, ED
SI (ED >= 18) ENT
IMPRIMIR NOM, “MAYOR DE EDAD” ESTO SE REPITIRÁ
SINO 25 VECES
IMPRIMIR NOM, “MENOR DE EDAD”
FINSI
FIN PARA
FIN
12. Calcular el salario neto de N trabajadores, sabiendo que se
le hace una retención del 5% de su básico. Lea el número
de horas trabajadas y el valor por hora.
INICIO
Este ciclo va desde 1 hasta N empleados; pero
LEA N como no se conoce su valor (N), antes del ciclo se
tiene que leer esta variable.
PARA K = 1, N, 1
LEA NHORAS, VLRHORA Lo demás es igual al tipo de ciclo
BAS = NHORAS * VLRHORA PARA en el que se conoce el
número de veces que se repite.
RET = BAS * 0.05 (Como en el ejercicio anterior)
NETO = BAS - RET
IMPRIMIR NETO Pero no siempre el ciclo tendrá incrementos
de 1. Existen algoritmos donde se
FIN PARA coloquen incrementos de 2 o 3,
dependiendo el caso.
FIN
13. Desarrolle un algoritmo que imprima los números
múltiplos de 5 comprendidos entre 100 y 200.
INICIO
NUM
PARA NUM = 100, 200, 5
100
IMPRIMIR NUM Observe que la variable llegó
hasta 205; ya que siempre se tiene 105
que pasar del final, para que
FIN PARA termine el ciclo. (Ver
Funcionamiento del ciclo PARA).
110
FIN 115
En este ejemplo se muestra el inicio y el fin de la variable del ciclo (100
y 200 respectivamente); pero si ponemos incrementos de 1, se
120
mostrarán los números entre 100 y 200 (100, 101, 102, 103...200) y no
los múltiplos de 5 como lo pide el ejercicio; por eso el incremento tiene ...
que ser de 5. Los valores que tomará la variables serán los siguientes:
200
205
14. FUNCIONAMIENTO DE UN CICLO PARA
Imprimir sólo los números positivos de un grupo de 5.
INICIO PRUEBA DE ESCRITORIO
PARA J = 1, 5, 1
J NUM IMPRIMA
LEA NUM
1 4 4
SI (NUM > 0) ENT 2 -3
IMPRIMIR NUM 3 0
FINSI 4 10 10
FIN PARA 5 -8
FIN TERMINA
6
Cuandoprueba, la se inicializa en 1 y evalúa si se pasó variable del ciclo y va hasta la
En la llega a J línea del FINPARA, se incrementa la del final que es (5), como es
primer línea del ciclo y evalúa al ciclose ejecuta las instrucciones. falso (J vale 2),
falso ingresa si la J y pasó del final (5); como es
continua leyendo, un númerollegue a 6. Si leemos los (por ejemplo el 4). y –8
Luego se lee hasta que cualquiera en esta línea números –3, 0, 10
mostrará sólo los positivos: 4 y 10. En los demás casos sólo se lee el número; pero
Luego imprime el número porque 4 es positivo (en esta línea).
no se imprime.
15. Hacer un algoritmo que lea 6 números e imprimir su cubo.
K inicia en 1 y evalúa si se pasó del final (o cual es
FALSO; porque 1<=6).
INICIO Como K no se pasó del
FIN, sigue leyendo. PRUEBA DE ESCRITORIO
PARA K = 1, 6, 1
K NUM CUB IMP
LEA NUM Se lee NUM
1 3 27 27
CUB = NUM ^ 3 Se calcula CUB
2 8 512 512
IMPRIMIR CUB Se imprime CUB 3 4 64 64
FIN PARA 4 5 125 125
Al llegar al FINPARA incrementa
FIN la variable y regresa a la primer
5 2 8 8
línea del CICLO y evalúa si K se 6 9 729 729
pasó del final. Si es Verdadero
sigue después del FIN PARA, 7
sino continua leyendo.
16. Hacer un algoritmo que lea 6 números e imprimir su cubo.
INICIO PRUEBA DE ESCRITORIO
PARA K = 1, 6, 1 K NUM CUB IMP
COMO K YA SE PASÓ
LEA NUM DEL FIN. VA DESPUÉS 1 3 27 27
DEL FIN PARA. 2 8 512 512
CUB = NUM ^ 3
3 4 64 64
IMPRIMIR CUB 4 5 125 125
FIN PARA 5 2 8 8
FIN 6 9 729 729
Y TERMINA EL ALGORITMO. LEYENDO 6
NÚMEROS E IMPRIMIENDO SUS
7
RESPECTIVOS CUBOS
17. CICLO HAGA MIENTRAS
(Registro Identificador - Cuantitativo)
El ciclo MIENTRAS con registro identificador se usa cuando el
ciclo se hace N veces (es similar al Ciclo Para hasta N).
La SINTAXIS es la siguiente:
Lea N
X = INICIO
MIENTRAS (X <= N)
Instrucciones
X = X + [INCREMENTO o DECREMENTO]
FIN MIENTRAS
18. EXPLICACIÓN:
Lea N
X = INICIO
MIENTRAS (X <= N)
X = X + [INCREMENTO o DECREMENTO]
FINMIENTRAS
N: Final del ciclo (que se debe leer porque se desconoce)
X: Una variable cualquiera (Controladora del ciclo).
INICIO: Valor en el que empieza la variable controladora
(Normalmente es 1).
INCREMENTO o DECREMENTO: Valor que incrementa la
variable controladora (Normalmente es 1)
19. Ejemplo: Se pide realizar un algoritmo que imprima
los números de 1 hasta N.
El enunciado indica que el ciclo se hará N veces (como no se
sabe su valor de debe leer antes del ciclo). Por tal motivo los
valores para el CICLO son (INICIO=1, FIN=N, INCREMENTO=1).
Lea N
NUM=1
MIENTRAS (NUM<=N)
IMPRIMIR NUM
NUM=NUM+1
FIN MIENTRAS Explicación:
20. Mientras que el ciclo PARA hace todo en una sola línea (inicio, fin
e incremento), el ciclo MIENTRAS toma cada una de esas partes
y las divide en varias líneas, que se distribuyen de la siguiente
forma:
FIN
VARIABLE LEA N
INICIO FIN
NUM = 1
INSTRUCCIONES
CICLO MIENTRAS (NUM <= N)
IMPRIMA NUM
NUM = NUM + 1 INCREMENTO
FIN DEL
CICLO FIN MIENTRAS
Observe que el orden del INICIO, del FIN y del INCREMENTO
cambian de lugar; pero su funcionamiento es el mismo.
21. Es muy fácil convertir un CICLO PARA hasta N en un CICLO
MIENTRAS con REGISTRO IDENTIFICADOR:
LEA N
LEA N NUM = 1
PARA NUM = 1, N, 1 MIENTRAS (NUM <= N)
IMPRIMIR NUM IMPRIMIR NUM
NUM = NUM + 1
FIN PARA
FIN MIENTRAS
Observe lo fácil que es pasar un CICLO PARA a CICLO
MIENTRAS. Se lee el final (igual), se cambia PARA por
MIENTRAS, las instrucciones van en medio y finalmente se
divide las instrucciones del PARA en el mientras: INICIO antes
del ciclo, FIN en la condición del ciclo y el incremento antes de
cerrar el CICLO. Y se cambia FIN PARA por FIN MIENTRAS.
22. Calcular el salario neto de N trabajadores, sabiendo que
se le hace una retención del 5% de su básico. Lea el
número de horas trabajadas y el valor por hora.
LEA N
K=1
MIENTRAS (K <= N)
LEA NHORAS, VLRHORA Este ciclo va desde 1 hasta N
empleados; pero como no se
BAS = NHORAS * VLRHORA conoce su valor se tiene que
leer antes del ciclo esta
RET = BAS * 0.05 variable.
NETO = BAS - RET
IMPRIMIR NETO
K=K+1
FIN MIENTRAS
23. Desarrolle un algoritmo que imprima los números
múltiplos de 5 comprendidos entre 100 y N.
INICIO
En este ejemplo se tiene
LEA N NUM que poner un incremento
de 5 para que se muestre
NUM = 100 100 los múltiplos de 5, como
lo pide el ejercicio. Los
MIENTRAS (NUM <= N) 105 valores que tomará la
variables serán los
IMPRIMIR NUM 110 siguientes:
NUM = NUM + 5 ...
N+5
FIN MIENTRAS
FIN
24. FUNCIONAMIENTO DEL REGISTRO IDENTIFICADOR
Hacer un algoritmo que lea N números e imprima sólo los positivos.
PRUEBA DE ESCRITORIO
INICIO Aquí evalúa si J es <=
N (2 es <=3), entonces
LEA N continúa leyendo
N J NUM IMPRIMA
J=1 3 1 15 15
2
MIENTRAS (J < = N)
LEA NUM En esta línea se LEE N (en este caso 3) y se empieza
J en 1 (Ver Prueba de Escritorio).
SI (NUM > 0) ENT
Evalua si J<=N. Como es Verdadero continua.
IMPRIMA NUM
Aquí se lee un # cualquiera (positivo o negativo).
FINSI
Aquí pregunta si el # es positivo (que lo imprima)
J=J+1
Aquí incrementa la J en 1. Y al llegar al FIN MIENTRAS regresa
FIN MIENTRAS a la primera línea del CICLO para volver a evaluar si J llegó al
FIN final que es N.
25. FUNCIONAMIENTO DEL REGISTRO IDENTIFICADOR
Hacer un algoritmo que lea N números e imprima sólo los positivos.
PRUEBA DE ESCRITORIO
INICIO AlAl evaluar la condiciónya
evaluar la condición
es FALSA porque 4 no es
ésta es Verdadera
(3<=3). Sigue leyendo
LEA N <=3. Por lo tanto termina
N J NUM IMPRIMA
el ciclo 3 1 15 15
J=1
2 -8
MIENTRAS (J < = N) 3 7 7
LEA NUM
4
Aquí lee un número cualquiera (positivo o
SI (NUM > 0) ENT negativo).
IMP NUM Aquí pregunta si el # es positivo (que lo
FINSI imprima)
J=J+1 Aquí incrementa la J en 1. Y SEllegar al FIN MIENTRASen N se
NOTE QUE EL ALGORITMO al HIZO HASTA 3 porque regresa
a la primera línea del CICLO paraleer cualquier valor.J Aquí se
leyó ese número; pero se puede volver a evaluar si llegó al
FIN MIENTRAS leyeron 3 números yfinal que es N. sólo los positivos.
se imprimieron
FIN
26. CICLO HAGA MIENTRAS
(Registro Centinela - Cualitativo)
El ciclo MIENTRAS con Registro Centinela se usa cuando
no se sabe el número de veces que se va a hacer el ciclo
(no se da un número fijo o no se habla de la variable N).
La SINTAXIS es la siguiente:
LEER VAR
MIENTRAS (CONDICIÓN)
Instrucciones
LEER VAR
FIN MIENTRAS
27. EXPLICACIÓN:
LEER VAR
MIENTRAS (CONDICIÓN)
VAR: Variable que va a controlar el ciclo (se recomienda que
sea una de las variables trabajadas en el algoritmo). Muy
diferente en los otros ciclos que se crea una variable
controladora del ciclo.
CONDICIÓN: Permite terminar el ciclo. Se usa la variable que
se leyó y se le puede dar un valor que la variable nunca tome.
Nota: Tenga en cuenta que este ciclo no tiene INCREMENTO,
INICIO o FIN; lo único que permite terminar este ciclo es que la
variable tome un valorX. La característica de este ciclo es que se
lee la Variable controladora, antes del ciclo y antes del fin del ciclo.
Para entender mejor el tema mire los ejemplos:
28. Ejemplo: Se pide realizar un algoritmo que lea varios
números positivos e imprima su raíz cuadrada.
El enunciado indica que se deben leer varios números, pero no
dicen cuantos ni tampoco que son N. Por tal motivo se tiene que
usar un ciclo Mientras con Registro Centinela. Se lee la variable
antes del ciclo y antes del fin del ciclo y se pone una condición
apropiada (si son números positivos ninguno puede ser menor
igual a cero):
LEER NUM
MIENTRAS (NUM > 0)
RAIZ = NUM ^ (1/2)
IMPRIMIR RAIZ
LEER NUM
FIN MIENTRAS Explicación:
29. Mientras que los ciclos anteriores requieren de un inicio, un fin y
un incremento; estos ciclos NO. Sólo necesitan tomar
cualquiera de las variables y ponerle una condición correcta
(algunos algoritmos dirán cual es la condición, otros NO. En
este último caso el programador elige la condición apropiada).
VARIABLE QUE SE LEE
ANTES DEL CICLO CONDICIÓN DEL
CICLO
LEA NUM
CICLO MIENTRAS (NUM > 0)
RAIZ = NUM ^ (1/2)
Y ANTES DEL FINAL
DEL CICLO IMPRIMIR RAIZ
INSTRUCCIONES
LEA NUM
FIN DEL CICLO
FIN MIENTRAS
30. FUNCIONAMIENTO MIENTRAS (Registro Centinela)
Hacer un algoritmo que lea un grupo de números y calcule su raíz
cuadrada. El ciclo se hará hasta que se lea un número igual a cero.
INICIO Como 100 es <> PRUEBA DE ESCRITORIO
0, continúa.
LEA NUM NUM RAIZ IMPRIMA
9 3 3
MIENTRAS (NUM <> 0) 100
RAIZ = NUM ^ (1/2) En esta línea se LEE el primer número (vamos
a leer 9) Ver Prueba de Escritorio.
IMPRIMIR RAIZ
En esta línea se evalúa si el # es diferente de 0. Como
LEA NUM es Verdadero continua.
FIN MIENTRAS Aquí se calcula e imprime la Raíz Cuadrada
Aquí se Lee otro número.
FIN
Al llegar al FINMIENTRAS va a la primera línea de la estructura y
evalúa si el número es diferente de 0.
31. FUNCIONAMIENTO MIENTRAS (Registro Centinela)
Hacer un algoritmo que lea un grupo de números y calcule su raíz
cuadrada. El ciclo se hará hasta que se lea un número igual a cero.
PRUEBA DE ESCRITORIO
INICIO
NUM RAIZ IMPRIMA
LEA NUM 9 3 3
MIENTRAS NUM <> 0 100 10 10
0
RAIZ = NUM ^ (1/2)
Nuevamente viene a esta línea, calcula
IMPRIMIR RAIZ e imprime la raíz.
LEA NUM Este proceso repetirá mientras el número leído
sea diferente de 0. Si no se desea continuar se lee
FIN MIENTRAS este número.
FIN ASÍ SE LEYERON VARIOS NÚMEROS, SE CALCULÓ E IMPRIMIÓ SU
Al llegar al fin del ciclo, regresa a la primera línea y evalúa si es
RAÍZ CUADRADA. TERMINANDO EL es, termina el ciclo y termina el
diferente de 0. Como no lo PROCESO CUANDO SE DIGITÓ
algoritmo.
UN NÚMERO IGUAL A 0.
32. Calcular el salario neto de varios trabajadores, sabiendo que se le
hace una retención del 5% de su básico. Lea el número de horas
trabajadas y el valor por hora. Hacer esto mientras no se digite un
número de horas negativo o igual a cero.
LEA NHORAS Este ciclo se repite varias veces
mientras que no se digite un número de
MIENTRAS NHORAS > 0 horas negativo (esa es la condición del
ciclo) y la variable contraladora del ciclo
LEA VLRHORA es el número de horas.
BAS = NHORAS * VLRHORA
RET = BAS * 0.05
Observe que la variable NHORAS se lee antes
del ciclo y antes del fin del ciclo. Como falta
NETO = BAS - RET
leer la variable VLRHORA se lee dentro del
ciclo. Y la condición es mientras que NHORAS
IMPRIMIR NETO
sea MAYOR DE 0, lo que significa POSITIVO.
LEA NHORAS
FIN MIENTRAS
33. CICLO REPITA HASTA
El ciclo REPITA HASTA se usa de una forma similar al
ciclo MIENTRAS con Registro Centinela; pero la
condición va al final del ciclo y no en su primera línea.
La SINTAXIS es la siguiente:
LEA VAR
REPITA
Instrucciones
LEA VAR
HASTA (CONDICIÓN)
34. EXPLICACIÓN:
LEER VAR
REPITA
Instrucciones
LEER VAR
HASTA (CONDICIÓN)
Este ciclo empieza con LEER VAR que controlará el ciclo, luego la
palabra REPITA, se colocan las instrucciones a realizar. Se vuelve
a leer antes del final del ciclo y finalmente se pone HASTA
(CONDICIÓN), ésta última es la que permite terminar al ciclo.
Nota: Este ciclo al no haber condición al inicio ESTÁ OBLIGADO
A HACERSE MÍNIMO UNA VEZ, algo que no pasa con el ciclo
(MIENTRAS). Es usada para validar el ingreso de información.
35. Ejemplo: Se pide realizar un algoritmo que lea varios números e
imprima su raíz cuadrada hasta que se lea un número negativo.
El enunciado indica que se deben leer varios números y está
dando la condición para terminar el ciclo. Por tal motivo se
tiene que usar un ciclo REPITA HASTA.
LEER NUM
REPITA
RAIZ = NUM ^ (1/2)
IMPRIMIR RAIZ
LEER NUM
HASTA (NUM = 0)
Explicación:
36. Las consideraciones a tener en cuenta en este ciclo son las
mismas que para el ciclo MIENTRAS con Registro Centinela;
pero la condición no va al inicio del ciclo sino al final.
VARIABLE QUE SE LEE ANTES
DEL CICLO
LEA NUM
CICLO
REPITA INSTRUCCIONES
RAIZ = NUM ^ (1/2)
Y ANTES DEL FINAL
DEL CICLO IMPRIMIR RAIZ
CONDICIÓN DEL
LEA NUM CICLO
FIN DEL CICLO
HASTA (NUM = 0)
37. FUNCIONAMIENTO DE UN CICLO REPITA HASTA
Hacer un algoritmo que lea un grupo de números y calcule su raíz
cuadrada. El ciclo se hará hasta que se lea un número igual a cero.
PRUEBA DE ESCRITORIO
INICIO
NUM RAIZ IMPRIMA
LEA NUM
64 8 8
REPITA 81
RAIZ = NUM ^ (1/2)
En esta línea se LEE el primer número
IMPRIMIR RAIZ (vamos a leer 64) Ver Prueba. Y del repita
pasa a la línea siguiente (Sin evaluar nada)
LEA NUM
Aquí se calcula e imprime la raíz cuadrada.
HASTA (NUM = 0) Aquí se lee otro número
FIN Al llegar al fin del ciclo evalúa: si el número es
= 0 termina, de lo contrario va hasta el repita, y
continúa con el proceso.
38. FUNCIONAMIENTO DE UN CICLO REPITA HASTA
Hacer un algoritmo que lea un grupo de números y calcule su raíz
cuadrada. El ciclo se hará hasta que se lea un número igual a cero.
PRUEBA DE ESCRITORIO
INICIO
NUM RAIZ IMPRIMA
LEA NUM
64 8 8
REPITA 81 9 9
0
RAIZ = NUM ^ (1/2)
Aquí se calcula e imprime la otra raíz
IMPRIMIR RAIZ cuadrada.
LEA NUM Aquí se lee otro número (esto se repetirá
hasta que se digite un 0.) Para terminar
HASTA (NUM = 0) haremos eso.
FIN Al llegar aquí, evalúa: Como el número es igual
a 0, termina el proceso.
Se leyeron números, se calculó su raíz cuadrada hasta digitar un cero.
39. Calcular el salario neto de varios trabajadores, sabiendo que se le
hace una retención del 5% de su básico. Lea el número de horas
trabajadas y el valor por hora. Hacer esto hasta se digite un
número de horas negativo.
LEA NHORAS
El Ciclo Mientras con Registro
REPITA Centinela pone condición
MIENTRAS QUE NO SE CUMPLA
LEA VLRHORA EL FINAL DEL CICLO; mientras
que el Ciclo REPITA se hace
BAS = NHORAS * VLRHORA
HASTA QUE SE CUMPLA LA
RET = BAS * 0.05 CONDICIÓN. Ej: Ciclo
MIENTRAS: Haga Mientras la
NETO = BAS - RET edad sea diferente de 80 años.
El ciclo hasta diría: Repita hasta
IMPRIMIR NETO que la edad sea igual a 80.
LEA NHORAS
HASTA (NHORAS < 0)
40. CONTADORES, ACUMULADORES,
PROMEDIOS Y PORCENTAJES
Son elementos de algoritmos básicos y fundamentales para
determinar cantidades, sumatorias y varios datos estadísticos.
CONTADOR: Como su nombre lo indica, son variables que
sirven para CONTAR dentro de un algoritmo. Se usa para
determinar cantidades (haciendo un conteo de 1 en 1).
La SINTAXIS es la siguiente:
CONTADOR = CONTADOR + 1
41. ACUMULADOR: Son variables que sirven para SUMAR o
ACUMULAR valores dentro de un algoritmo. Se usa para
determinar totales o todas aquellas operaciones donde se vaya a
incrementar un número no constante (el contador incrementa de
forma constante: de 1 en 1, 2 en 2, etc).
La SINTAXIS es la siguiente:
ACUMULADOR = ACUMULADOR + VARIABLE
VARIABLE, es la variable que se pide acumular o sumar.
42. PROMEDIO: Son variables que sirven para PROMEDIAR
valores. Para calcularlos se divide un ACUMULADOR por un
CONTADOR (Esto quiere decir, se suman todos los elementos y
se divide por el número de ellos).
La SINTAXIS es la siguiente:
PROMEDIO = ACUMULADOR / CONTADOR
Algunas veces el CONTADOR se puede reemplazar por el número
total de elementos.
43. PORCENTAJE: Son variables que sirven calcular datos
estadísticos. Para calcularlos se usan un CONTADOR
PARTICULAR divido un CONTADOR GENERAL multiplicado por
100.
Al multiplicar un contador particular por el contador general,
siempre dará un número entre 0 y 1; por eso se multiplica por 100,
para dar la respuesta en porcentaje: 0.25 = 25%.
La SINTAXIS es la siguiente:
PORCENTAJE = CONT_PARTICULAR / CONT_GRAL*100
Para entender el funcionamiento de contadores, acumuladores,
promedios y porcentajes, observe lo siguiente:
44. Desarrolle un algoritmo que lea la edad y el sexo de 10 personas;
calcular e imprimir cuantas son mayores de edad y cuantas menores.
Además, la suma de edad de los hombres, la suma de edad de las
mujeres y la suma de todas las personas.
Las consideraciones a tener en cuenta para los
acumuladores y los contadores:
Para determinar la cantidad de personas mayores de edad y las
menores de edad, se tienen que usar 2 contadores diferentes;
mientras que para la suma de edad de los hombres, de las
mujeres y de todas las personas se necesitan 3 acumuladores.
Las 4 primeras variables son contadores y acumuladores
PARTICULARES (de un caso en especial: mayores o menores
de edad; hombres o mujeres), mientras que el último acumulador
es GENERAL (para todos, el cual va sin pregunta).
45. CONTMY, CONTMN, SUMEDH, SUMEDM, SUMTED=0 Se inicializan en 0, ANTES del
PARA X=1, 10, 1 ciclo. (Todas tienen distinto
nombre).
LEA SEX, ED
SI (ED>=18) ENT
CONTMY = CONTMY + 1
Se calculan los contadores PARTICULARES
SINO (CONTMY significa Contador Mayores de
Edad. Igual con los menores).
CONTMN = CONTMN + 1
FINSI
Se calculan los Acumuladores
SI (SEX=“MASCULINO”) ENT PARTICULARES (SUMEDM significa
Sumatoria de Edad de las Mujeres. Igual
SUMEDH = SUMEDH + ED
con los hombres).
SINO
Se calcula el Acumulador
SUMEDM = SUMEDM + ED
GENERAL (Sin pregunta)
FINSI
SUMTED = SUMTED + ED Se imprimen
FINPARA FUERA del ciclo.
IMPRIMIR CONTMY, CONTMN, SUMEDH, SUMEDM, SUMTED
46. Las consideraciones a tener en cuenta para los promedios y
porcentajes: Siempre que se vaya a calcular un promedio se
requiere de un Acumulador y un contador. Para los porcentajes se
necesita un Contador Particular y uno general.
Desarrolle un algoritmo que lea la edad y el sexo de 10 personas;
calcular e imprimir el promedio de edad de los hombres y el de
las mujeres. Además, el porcentaje de personas mayores de edad
y el promedio de edad de todas las personas.
Para determinar el promedio de edad de hombres y mujeres se
necesita de un contador que cuente los hombres y un acumulador
que sume la edad de los hombres (igual para las mujeres). Para
hallar el porcentaje de los mayores de edad se necesita un
contador que cuente cuántos mayores de edad hay (no se necesita
un contador general, porque el total de personas es 10). Para el
promedio de edades de todos se usa un acumulador general
(tampoco se necesita contar porque son 10).
47. CONTH, CONTM, CONTMY, SUMEDH, SUMEDM, SUMTED=0
PARA X=1, 10, 1
LEA SEX, ED Se inicializan en 0, ANTES del ciclo. (Todas
tienen distinto nombre).
SI (SEX=“MASCULINO”) ENT
SUMEDH = SUMEDH + ED
CONTH = CONTH + 1 Se calculan los contadores y acumuladores
PARTICULARES para calcular los
SINO
promedios de edad de hombres y mujeres.
SUMEDM = SUMEDM + ED
CONTM = CONTM + 1
FINSI Se calcula el Contador PARTICULAR para
SI (ED>=18) ENT calcular el Porcentaje de los mayores de
edad.
CONTMY = CONTMY + 1
FINSI
SUMTED = SUMTED + ED
Se calcula el Acumulador GENERAL para el
promedio de todas las edades.
FINPARA
PROMEDH = SUMEDH / CONTH
Los Promedios y Porcentajes se calcula e
PROMEDM = SUMEDM / CONTM
imprimen FUERA del Ciclo.
PORCMY = CONTMY / 10 * 100
PROMTE = SUMTED / 10
IMPRIMIR PROMEDH, PROMEDM, PORCMY, PROMTE
48. FUNCIONAMIENTO DE UN CONTADOR
Hacer un algoritmo que lea la EDAD de 6 personas e imprima cuántos
son mayores de edad y cuántos menores.
INICIO
PRUEBA DE ESCRITORIO CMY, CMN = 0
X CMY CMN EDAD IMPRIMA PARA X = 1, 6, 1
1 0 0 17 4 LEA EDAD
2 1 1 23
2 SI (EDAD >= 18)
3 2 2 18
4 3 35 CMY = CMY + 1
5 4 12 SINO
6 21 CMN = CMN + 1
7
FINSI
FINPARA
IMPRIMIR CMY, CMN
FIN
49. FUNCIONAMIENTO DE UN PORCENTAJE
Hacer un algoritmo que lea la EDAD de 6 personas e imprima el
porcentaje de mayores de edad y el de menores.
INICIO
PRUEBA DE ESCRITORIO
CMY, CMN = 0
X CMY CMN EDAD PORCMY PORCMN IMP
PARA X = 1, 6, 1
1 0 0 17 66,6% 33,3% 66,6%
LEA EDAD
2 1 1 23 33,3% SI (EDAD >= 18)
3 2 2 18 CMY = CMY + 1
4 3 35 SINO
5 4 12 CMN = CMN + 1
6 21 FINSI
7 FINPARA
PORCMY = CMY / 6 * 100
EL funcionamiento es igual al de los PORCMN = CMN / 6 * 100
contadores; sólo que al terminar el
ciclo se calculan los porcentajes (Para IMPRIMIR PORCMY, PORCMN
calcularlos se tiene que CONTAR). FIN
50. FUNCIONAMIENTO DE UN ACUMULADOR
Hacer un algoritmo que lea la EDAD de 6 personas e imprima la suma
de edad de los mayores de edad y de los menores.
INICIO
PRUEBA DE ESCRITORIO
SMY, SMN = 0
X SMY SMN EDAD IMPRIMA
PARA X = 1, 6, 1
1 0 0 17 97
LEA ED
2 23 17 23
29 SI (ED >= 18)
3 41 29 18
4 76 35 SMY = SMY + ED
5 97 12 SINO
6 21
SMN = SMN + ED
7
FINSI
FINPARA
IMPRIMIR SMY, SMN
FIN
51. FUNCIONAMIENTO DE UN PROMEDIO
Hacer un algoritmo que lea la EDAD de 6 personas e imprima el
porcentaje de mayores de edad y el de menores.
CMY, CMN, SMY, SMN = 0
PRUEBA DE ESCRITORIO
PARA X = 1, 6, 1
X SMY SMN EDAD PROMMY PROMMN IMP
LEA EDAD
1 0 0 17 24,2 14,5 24,2
SI (EDAD >= 18)
2 23 17 23 14,5 CMY = CMY + 1
3 41 29 18 CMY CMN SMY = SMY + ED
4 76 35 0 0 SINO
5 97 12 1 1
CMN = CMN + 1
6 21 2 2
SMN = SMN + ED
3
7 4 FINSI
EL funcionamiento es igual al de FINPARA
los contadores y acumuladores;
PROMMY = SMY/ CMY
sólo que al terminar el ciclo se
calculan los promedios (Para PROMMN = SMN/ CMN
calcularlos se tiene que CONTAR
y ACUMULAR). IMPRIMIR PROMMY, PROMMN
52. SWITCHES O BANDERAS
Son elementos de algoritmos fundamentales para
buscar elementos o para determinadas situaciones en
las cuales se cumpla una condición específica.
Teniendo como principal característica que toma sólo
dos estados o valores (1 o 0, Encendido o Apagado,
Verdadero o False, V o F, entre otros valores).
Esta variable se usa con el nombre SW o BAND. Se
inicializa antes del ciclo con cualquiera de los dos
valores. Y dentro de ciclo cambia al otro valor cuando
cumpla determinada condición. La SINTAXIS es la
siguiente:
53. SW = 0 SW = “VERDADERO”
CICLO CICLO
SI CONDICIÓN SI CONDICIÓN
SW = 1 SW = “FALSO”
FINSI FINSI
FIN SI FIN SI
FINCICLO FINCICLO
Observe que se puede inicializar en cualquier valor
(normalmente es el negativo: Apagado, F, 0, o Falso).
Después del ciclo se puede preguntar por el estado o el
valor de esa variable e imprimir los mensajes que
correspondan o sean necesarios.
54. Ejemplo: Se pide realizar un algoritmo que lea 90 números e imprima
si se digita algún número negativo.
El enunciado indica que se debe determinar si se digitó un número negativo
(ESA ES LA CONDICIÓN para cambiar el estado de la variable).
SW = 0
PARA K = 1, 90, 1
LEER NUM
SI (NUM < 0) ENTONCES
SW = 1
FINSI
FIN PARA
SI (SW = 1) ENTONCES
IMPRIMA “SE DIGITÓ UN NÚMERO NEGATIVO”
FINSI Explicación:
55. SE INICILIZA EN ALGÚN VALOR LA
VARIABLE SW ANTES DEL CICLO
SW = 0
PARA K = 1, 90, 1 SE CAMBIA EL VALOR DE LA
LEER NUM VARIABLE CUANDO LA
CONDICIÓN SEA VERDADERA
SI (NUM < 0) ENTONCES
SW = 1
FINSI SE PREGUNTA DESPUÉS DEL CICLO POR
ALGUNO DE LOS VALORES DE LA
FIN PARA VARIABLE Y SE IMPRIME EL MENSAJE
SI (SW = 1) ENTONCES
IMPRIMA “SE DIGITÓ UN NÚMERO NEGATIVO”
FINSI
56. FUNCIONAMIENTO DE UNA BANDERA
Hacer un algoritmo que lea 90 números. Imprimir si se lee algún
número negativo.
PRUEBA DE ESCRITORIO
SW = 0 SW NUM IMPRIMA
0 8 Se digitó un #
PARA K = 1, 90, 1 negativo
LEER NUM 1 7
SI (NUM < 0) ENT -2
SW = 1 En esta línea se INICIALIZA el sw o bandera
en 0, antes del ciclo.
FINSI
En esta línea se leen números, y sólo
FIN PARA cambia el SW a 1, cuando se lea algún
número negativo.
SI (SW = 1) ENTONCES
Si el –2 es el número 80 leído.
IMPRIMA “SE DIGITÓ UN Inmediatamente cambia sw a 1
NÚMERO NEGATIVO” Aquí se pregunta. Como sw = 1, imprime el
FINSI mensaje
57. Leer los nombres de 150 personas e imprimir si se leyó algún
nombre igual a Juan o no.
La única aclaración que
BAND = “FALSO”
hay que hacer de este
PARA I = 1, 150, 1 algoritmo es que la
condición para cambiar el
LEA NOMBRE
estado de la bandera es
SI (NOMBRE = “Juan”) Entonces NOMBRE = JUAN. Luego
al finalizar se imprime si se
BAND = “VERDADERO”
encontró o no un nombre
FINSI JUAN (este ejercicio pide
los dos mensajes, el
FINPARA
ejercicio anterior, sólo pide
SI BAND = “VERDADERO” Entonces imprimir si se leyó un
número negativo nada
IMPRIMA “Se leyó un nombre juan”
mas).
SINO
IMPRIMA “No se leyó un nombre juan”
FINSI