Unidad I Algoritmos
Unidad I Algoritmos
________________________________________________
UNIDAD I
ALGORITMOS Y PROGRAMAS
Objetivo de la Unidad:
Contenido temático:
________________________________________________
En esta fase incluye el análisis del problema así como el diseño y posterior
verificación del algoritmo.
Verificación del
Verificación del
programa
algoritmo
Fase de resolución del problema Fase de implementación en un Lenguaje de
Programación
Un algoritmo puede ser definido como una secuencia ordenada de pasos, sin
ambigüedades, que conducen a la solución de un problema y expresado en
lenguaje natural. Nuestra vida cotidiana está cargada de algoritmos, existiendo
algoritmos matemáticos, deportivos, químicos, etc.
________________________________________________
________________________________________________
Desarrollo:
1.- Despertarse
5.- Levantarse
6.- Fin
Prueba de Escritorio
________________________________________________
Desarrollo:
9. Fin
Prueba de Escritorio
Paso 5ltrs. 4ltrs. Paso 5ltrs. 4ltrs.
________________________________________________
Inicio
Repetir
Fin
Prueba de Escritorio
5ltrs. 4ltrs.
Si la respuesta a la
condición mientras
está menos de 2
litros en el de 4ltrs.
sea verdadera, se
repite el proceso,
cuando sea falso se
termina el algoritmo
FIN
Ing. Oswaldo Basurto G. Mg. 6
Algoritmos – Unidad I
________________________________________________
Desarrollo:
Inicio
Repetir
Fin
Prueba de Escritorio
5ltrs. 4ltrs.
Si la respuesta a la
pregunta mientras
están menos de N
litros en el de 4ltrs.
sea verdadera, se
repite el proceso,
cuando sea falso se
termina el algoritmo
FIN
________________________________________________
Desarrollo:
3. A > B ?
Si - En P ponga A
No - En P ponga B
4. Dividir P en 3 (P1, P2, P3)
5. Pesar P1 y P2 (2da. pesada)
6. P1 = P2 ?
Si - En R ponga P3
No - P1 > P2 ?
Si - En R ponga P1
No - En R ponga P2
7. R es el elemento más pesado
8. Fin
________________________________________________
Prueba de Escritorio
A B
Segunda pesada
P1 P2
Desarrollo:
1. Dividir en 2 grupos de 6 (A y B )
2. Pesar A y B (1ra. pesada)
3. A < B ?
Si - En L ponga A
No - En L ponga B
4. Dividir L en 3 grupos de 2 ( L1, L2, L3 )
5. Pesar L1 y L2 (2da. pesada)
6. L1 = L2 ?
Ing. Oswaldo Basurto G. Mg. 9
Algoritmos – Unidad I
________________________________________________
Si - En Q ponga L3
No - L1 < L2 ?
Si - En Q ponga L1
No - En Q ponga L2
7. . Dividir Q en 2 (Q1 y Q2 )
8. Pesar Q1 y Q2 (3ra. pesada)
9. Q1 < Q2 ?
Si - En R ponga Q1
No - En R ponga Q2
10. R es el elemento más liviano
11. Fin
Prueba de Escritorio
________________________________________________
________________________________________________
1.3. Datos
Dato es la expresión general que describe los objetos con los cuales opera el
algoritmo. Los datos podrán ser de los siguientes tipos:
1.3.1. Numéricos
Estos datos pueden representarse en dos formas muy distintas: como números
enteros o reales
Real.- Son aquellos que siempre tienen un punto decimal, por lo cual se
pueden expresar como una fracción de los números enteros, es decir, se
almacenan en la computadora como números con parte entera y parte
fraccionaria.
1.3.2. No numéricos
Son aquellos que pueden contener una combinación de todos los códigos
ASCII reconocidos por el computador.
________________________________________________
Al establecer un tipo para un dato hay que considerar las operaciones que
vamos a realizar con él y los instrumentos disponibles; además, se
determina la forma de representación en memoria. Los datos pueden ser
expresados como constantes, variables, expresiones o funciones.
1.3.3. Constantes
Son datos cuyo valor no cambia durante todo el desarrollo del algoritmo. Las
constantes podrán ser literales o con nombres. Las constantes simbólicas o
con nombre se identifican por su nombre y el valor asignado; tendremos
entonces:
1.3.4. Variables
Una variable es un objeto cuyo valor puede cambiar durante la ejecución del
algoritmo. Se identifica por su nombre y por su tipo de dato y es el que
determina el conjunto de valores que podrá tomar la variable. En los
seudocódigos es obligatorio declara las variables. A las variables se les puede
________________________________________________
1.3.5. Expresiones
PRIORIDAD EN
OPERACIÓN SIMBOLO EJECUCIÓN
Potenciación ** primera
División / segunda
Multiplicación * segunda
Suma + tercera
Resta - tercera
________________________________________________
1.3.7. Funciones
TIPO DE RESULTADO
FUNCIÓN SIGNIFICADO
ARGUMENTO
(X)
Convierte a mayúscula un
mayúscula(x) carácter ingresado caracter caracter
Convierte a minúscula un
minúscula(x) valor ingresado caracter caracter
Devuelve la longitud de
longitud(x) una cadena cadena cadena
Ejemplos:
________________________________________________
SIMBOLO SIGNIFICADO
= Igual que
Ejemplos:
(Op = „S‟)
________________________________________________
Los operadores lógicos son tres: NO (NOT), Y (AND), O (OR). Sirven para
realizar condiciones compuestas y dan como resultado un valor de verdad (V o
F). El siguiente cuadro resume las tablas de verdad de los operadores lógicos:
Operador Y (AND)
V V V
V F F
F V F
F F F
Operador O (OR)
V V V
V F V
F V V
F F F
Operador NO (NOT)
V F
F V
Ejemplos:
________________________________________________
Donde identificador puede ser una variable que recibe el valor o el resultado de
evaluar una expresión.
Ejemplo:
num 0
num 2
num 10
El valor final de num es 10 ya que los valor 0 y 2 se pierde con cada asignación
posterior.
1.3.10. Contador
conta 0
conta conta + 1
________________________________________________
1.3.11. Acumulador
acum 0
ingresar un valor a X
acum acum + X
Acum=0 total = 1
________________________________________________
(8 + 7) * (3 + 4) * 5
Al existir paréntesis en la
expresión, se ejecutan primero
15 7
estos y luego la multiplicación que
como tienen la misma prioridad se
ejecutan de izquierda a derecha.
105
525
A 6, B 2, C 3
a) A–B+C
b) A * B div C
c) A div B + C
d) A * B mod C
e) A + B mod C
f) A div B div C
a)
6 - 2 + 3 Como intervienen operadores de la
misma prioridad, se ejecutan las
operaciones de izquierda a derecha
________________________________________________
b) 6 * 2 div 3
Como intervienen operadores de la
misma prioridad, se ejecutan las
operaciones de izquierda a
12 derecha; el operador div devuelve
la parte entera de la división.
c) 6 div 2 + 3
d) 6 * 2 mod 3
________________________________________________
f) 6 div 2 div 3
a) 4.5 / 2 - ( 2 + 4 )
b) 3 * ( 2 / 3 ) + 3
c) ( 3 + 4 ) < ( 5 mod 5 )
a) 4.5 / 2 -(2 + 4)
Primero se realiza la suma de
los paréntesis, luego la división
y finalmente la resta.
6
2.25
-3.75
b) 3 * (2 / 3) + 3
1 Primero se realiza la división de
los paréntesis, luego la
multiplicación y finalmente la
0.66
suma.
2
6
Ing. Oswaldo Basurto G. Mg. 22
1
Algoritmos – Unidad I
________________________________________________
c) ( 3 + 4 ) < ( 5 mod 5
) Primero se realizan los
paréntesis, luego el resultado
de ellos se evalúa con el
operador de relación menor
0
que (<) dando como resultado
7 el valor de verdad falso (F).
1
e) ( 1.5 < 2) or ( 2 > 6 )
Primero se evalúan las
condiciones de los paréntesis
obteniéndose un valor de
V F
verdad por cada una y estos se
evalúan con el operador lógico
0r dando como resultado otro
V valor de verdad de acuerdo a la
tabla correspondiente.
________________________________________________
n q
a) m
p n s m
Respuesta:
m + ((n/(p+n) + q/(s+m))
b b2 4ac
b)
2a
Respuesta:
(-b + raiz2 (b**2 – 4*a*c) ) / (2*a)
a2 b2
c)
c
________________________________________________
A 5
B 4
C A + 3 * B
C C + A + B
B C - A
A A * C / B
A: …………. B: …………… C: …………….
A 4; B 7; C 2
a) 2 * A - 4 * B / A**3
b) 6 / 3 * 2 / 4 - A / B **2 / 3**B / 2 * 4
c) ( A * B ) / 3**2 / 6 * C
d) ( ( ( B + C ) / 2 * A + 15 ) * 4 * A ) - 13
e) B**A**C
f) 7 div 2 * 7 mod 2
g) 12 div 3 - 12 mod 3
h) ( 10 * 7 - 6 mod 3 ) * 4 + 15
________________________________________________
M
a) a 4
N
N
b) x M
p q
sen ( x) cos(y)
c) e
tan( x)
N
p
d) b P
r
q
s
b b2 4ac
e) x
2a
n
m
p n
f) n m
r
q
s m
x y 3x 2 4 y
g) r 7y
2 2x 5 y 2
X = 1.5
Y = sen(raíz2(X + X))
Z= trunc( x**3 + cos(x)) + 10
Y: …………………….. Z: ……………….
________________________________________________
Los identificadores son los nombres que se dan a las constantes, variables,
funciones, procedimientos u otros objetos que se declaran dentro de un
algoritmo. Las reglas establecen que:
Debe comenzar con una letra del alfabeto ingles (a-z o A-Z),
los siguientes pueden ser combinaciones de letras,
números(0-9) y el carácter subrayado ( _ ).
Ejemplo:
a) Renta Válido
b) ALQUILER Válido
c) Constante Válido
f) C3P0 Válido
h) Elemento Válido
k) Nombre_Apellido Válido
l) NombresApellidos Válido
________________________________________________