Sie sind auf Seite 1von 27

ALGORITMO

ESTRUCTURAS DE CONTROL

ANGÉLICA M. PIERRE 1
ANGÉLICA M. PIERRE 2
Descripción Objetivos
Las estructuras de Desarrollar un
control son aquellas
utilizadas para programas
describir la secuencia aplicando las
en que se codificara distintas
las instrucciones de secuencias de
un programa. Estas control
pueden ser de
secuenciación, dependiendo de la
selectivas e necesidad del
iterativas. mismo.

ANGÉLICA M. PIERRE 3
1. Secuenciación
 La secuenciación sirve para indicar que
después de la acción e1 continua la
acción e2.
 Ejemplo:
e1
e2

ANGÉLICA M. PIERRE 4
Ejemplo de Secuenciación
‘Calcular el área de un círculo y la circunferencia dado el
radio.’
INICIO
FLOAT radio, area, circunferencia, pi←3.1416
IMPRIMIR← ("Proporcione el radio del circulo")
LEER radio
area ← pi * radio ^ 2
circunferencia ← 2 * pi * radio
IMPRIMIR (“Un círculo con radio“, radio)
IMPRIMIR (“tiene area de “,area)
IMPRIMIR (“y una circunferencia de “ ,circunferencia, “unidades”)
FIN

ANGÉLICA M. PIERRE 5
2. SELECTIVAS
La selección permite tomar diferentes
caminos dependiendo de una cierta
condición:
Ejemplo:
SI c1
ENTONCES e1
FINSI

SI c1
ENTONCES
e1
DE OTRO MODO
e2
FINSI

ANGÉLICA M. PIERRE 6
SELECTIVAS
Por ejemplo considere la siguiente secuencia de
enunciados:

e1
e2
SI c1
ENTONCES
e3
FINSI
e4
e5

 SI c1 tiene un valor verdadero entonces se realizaran los


siguientes enunciados y en ese orden: e1, e2, e3, e4, e5
 SI c1 tiene un valor falso entonces se realizan los
siguientes enunciados: e1, e2, e4, e5 ANGÉLICA M. PIERRE 7
SELECTIVAS
Considere a continuación un ejemplo que
utiliza un enunciado de selección con
bifurcación:
e1
e2
SI c1
ENTONCES
e3
DE OTRO MODO
e4
FINSI
e5
e6

ANGÉLICA M. PIERRE 8
SELECTIVAS
 SI c1 tiene un valor verdadero entonces
se realizaran los siguientes enunciados y
en ese orden: e1, e2, e3, e5, e6
 SI c1 tiene un valor falso entonces se
realizan los siguientes enunciados: e1, e2,
e4, e5, e6

ANGÉLICA M. PIERRE 9
Ejemplos de selección:
‘Determinar si una persona es mayor de edad (si es de 21 o más
años)’
INICIO
CONST INT joven ← 21 ‘Declaración de la constante entera joven
INT edad ‘Declaración del entero edad
IMPRIMIR (“Proporcione su edad: ” )
LEER edad
SI edad < joven
ENTOCES
IMPRIMIR (“Usted es menos de edad” )
DE OTRO MODO
IMPRIMIR (“Es usted mayor de edad”)
FINSI
FIN

ANGÉLICA M. PIERRE 10
2. Determinar el mayor de 2 números enteros
distintos.
‘Determina el mayor de dos enteros distintos
INICIO
INT a, b, mayor
IMPRIMIR (“Introducir dos números: ”)
LEER a, b
SI a > b
ENTONCES
mayor ← a
DE OTRO MODO
mayor← b
FINSI
IMPRIMIR (“El mayor entre “ ,a, “ y “,b,“es: “, mayor)
FIN

ANGÉLICA M. PIERRE 11
SELECCIÓN MÚLTIPLE
Muchas veces se desea escoger entre varias
opciones y se puede utilizar la siguiente
instrucción:

EN CASO DE (expresión)
Valor1: s1
Valor2: s2
Valor3: s3
s4
DE OTRO MODO
s5
FINCASO

ANGÉLICA M. PIERRE 12
 EN CASO DE: Inicia el proceso de selección.
 expresión: Puede ser una variable o el resultado
de una operación.
 Valor1, valor2 o valor3 : Si el resultado de la
expresión es igual a valor1 entonces se realiza
s1, si el valor es valor2 se realiza s2, si el valor
es valor3 entonces se realiza s3 y s4.
 DE OTRO MODO (es opcional): Si ningún valor de
la expresión es igual a los anteriores entonces
pasa a realizar s5.
 FINCASO indica el final de la instrucción de
selección.

ANGÉLICA M. PIERRE 13
1. Imprimir el nombre de la provincia dado el número de la misma.
‘Impresión del nombre de la provincia dado el número de la misma.
INICIO
INT prov ‘ prov – numero de la provincia
LEER (prov)
EN CASO DE (prov)
1: IMPRIMIR ("BOCAS DEL TORO")
2: IMPRIMIR ("COCLE")
3: IMPRIMIR ("COLON")
4: IMPRIMIR ("CHIRIQUI")
5: IMPRIMIR (" DARIEN")
6: IMPRIMIR ("HERRERA")
7: IMPRIMIR ("LOS SANTOS")
8: IMPRIMIR ("PANAMA")
9: IMPRIMIR ("VERAGUAS")
DE OTRO MODO
IMPRIMIR ("ERROR: INTRODUJO UN NUMERO INCORRECTO")
FINCASO
FIN

ANGÉLICA M. PIERRE 14
3. ITERATIVOS
ITERACIÓN

ANGÉLICA M. PIERRE 15
3.1 PARA
Permite escribir una iteración que se realizará de
acuerdo al valor inicial de una variable y HASTA que
dicha variable alcance un valor final.
PARA variable ← valorInicial HASTA valorFinal, incremento
e1
:
en
FINPARA
valorInicial se refiere al primer valor que va a contener la variable.
valorFinal es el último valor que indica que se debe detener las iteraciones e
incremento(decremento) es el valor con que se incrementa o decrementa la
variable.
e1 a en son los enunciados que se realizarán dentro del ciclo.
16

ANGÉLICA M. PIERRE
Ejemplos:
1. Escribir un algoritmo para imprimir los números
del 1 al 100.

‘Imprime los números del 1 al 100


INICIO
INT i
PARA i ←1 HASTA 100, 1
IMPRIMIR i
FINPARA
FIN
Debido a que muchas veces el incremento es 1 se obviará, es
decir no se pondrá. ANGÉLICA M. PIERRE 17
2. Escribir un algoritmo para calcular la suma de
los números enteros entre 1 y 100

‘Determina la suma de los números enteros del 1 al


100´

INICIO
INT i, suma ← 0
PARA i ← 1 HASTA 100
suma ← suma + i
IMPRIMIR ("La suma entre 1 y 100 es ", suma)
FINPARA
FIN

ANGÉLICA M. PIERRE 18
Es posible combinar las estructuras de control
utilizando para tal fin la secuenciación, la selección
y la iteración.
3. Imprimir los pares entre 1 y 100
‘Imprime los enteros pares comprendidos entre 1 y
100
INICIO
INT i
PARA i ← 1 HASTA 100
SI (i mod 2 = 0 )
ENTONCES
IMPRIMIR (i)
FINSI
FINPARA
FIN

ANGÉLICA M. PIERRE 19
3.2 MIENTRAS
La estructura del mientras es:
MIENTRAS c1
e1
FINMIENTRAS

en donde e1 se ejecutará mientras la


condición c1 sea verdadera.

ANGÉLICA M. PIERRE 20
Ejemplos:
1. Escribir un algoritmo para imprimir los
números del 1 al 100
‘Imprime los números entre 1 y 100
INICIO
INT i ← 1
MIENTRAS (i <= 100)
IMPRIMIR (i)
i← i + 1
FINMIENTRAS
FIN

ANGÉLICA M. PIERRE 21
2. Determinar si un número es primo.

‘Determina si un número dado es primo o no


INICIO
INT num, i ←2
IMPRIMIR (“Escribe un numero: ”)
LEER num
MIENTRAS (((num mod i) <> 0) Y (i < num))
i++ ‘ EQUIVALE A i← i+1
FINMIENTRAS
SI (i = num)
ENTONCES
IMPRIMIR (num,“ es un número primo”)
DE OTRO MODO
IMPRIMIR (num, “ no es numero primo”)
FINSI
FIN
ANGÉLICA M. PIERRE 22
3.3 REPETIR
La estructura de REPETIR es:
REPETIR
e1
MIENTRAS c1

donde el enunciado e1 se ejecuta y


después se evalúa la condición c1, si la
condición es verdadera el flujo de control se
pondrá al inicio del REPETIR, es decir, se
ejecutará nuevamente el enunciado e1 y si
es falso terminará.
ANGÉLICA M. PIERRE 23
Ejemplos:
1. Escribir un algoritmo para imprimir los
números del 1 al 100
‘Imprime los números comprendidos entre
1 y 100
INICIO
INT i ← 1
REPETIR
IMPRIMIR (i)
i++
MIENTRAS (i <= 100)
FIN

ANGÉLICA M. PIERRE 24
2. Imprimir los dígitos en forma invertida
de un entero.
‘Imprime en forma invertida los dígitos de
un entero
INICIO
INT num
IMPRIMIR (“Escribe un entero: ”)
LEER (num)
REPETIR
IMPRIMIR (num mod 10)
num ←num div 10
MIENTRAS (num != 0)
FIN
ANGÉLICA M. PIERRE 25
3. Invertir los dígitos de muchos enteros

‘ Invierte los dígitos de los enteros dados por el usuario


‘ Pregunta al usuario si desea continuar
INICIO
int num
char deseo ‘Sirve para leer la entrada del usuario
REPETIR
IMPRIMIR (“Escribe un entero”)
LEER num
REPETIR
IMPRIMIR (num mod 10)
num ←num div 10
MIENTRAS (num != 0)
IMPRIMIR “Deseas continuar (s/n)?”
LEER deseo
MIENTRAS deseo <> ‘n’
FIN

ANGÉLICA M. PIERRE 26
Bibliografía
 Castillo Sanz, Andrés; Joyanes Aguilar, Luis; Sánchez,
Lucas; Zahonero, Ignacio. C, algoritmos, programación
y estructuras de datos. Editorial schaum. . 2005
 Gottfried, Byron S.. Programación en C. Mcgraw-hill,
segunda edición. 2005
 Joyanes Aguilar, Luis. Fundamentos de programación.
Mcgraw-hill / interamericana de españa, S.A. Primera
edición. 2008.

ANGÉLICA M. PIERRE 27

Das könnte Ihnen auch gefallen