Você está na página 1de 17

GUÍA DE ESTUDIO:

Unidad Didáctica I: Algoritmos, Tipos de Datos Fundamentales y Operaciones asociadas.

1) Algoritmo (Definición): es la descripción precisa de los pasos que nos permiten obtener la solución de un problema
determinado. Los pasos son acciones u operaciones que se efectúan sobre ciertos objetos. Al comienzo del algoritmo, los
objetos tienen unos valores iniciales (los datos) que varían como consecuencia del proceso descrito por el algoritmo,
obteniéndose los valores de salida o resultados.

2) Características para desarrollar un algoritmo:


a) Debe tener un punto de inicio.
b) Especificar los datos de entrada: se debe dejar claro el número y tipo de valores de entrada.
c) Especificar los pasos y/o procedimientos para dar solución al problema (especificaciones de salidas). No debe existir
ambigüedad sobre las acciones que se deben ejecutar.
d) Exactitud y corrección. Se debe mostrar que el algoritmo resuelva el problema.
e) Debe poseer un número finito de pasos, es decir, el algoritmo debe mostrar una salida obteniendo un resultado.

Para la fase de Análisis del problema, se requiere una clara definición del problema, para poder hacer esto es
conveniente realizar las siguientes preguntas:
1. ¿Qué entradas se requieren? (tipo y cantidad)
2. ¿Cuál es la salida deseada? (tipo y cantidad)
3. ¿Qué método produce la salida deseada?

1
De acuerdo a las preguntas antes planteadas, se determina qué necesita el programa para resolver el problema. “La
solución puede llevarse a cabo mediante varios algoritmos” [Joyanes, 2004]. Para ello, un algoritmo dado correctamente
resuelve un problema definido y determinado.

3) Clasificación de los Algoritmos:


Los algoritmos se pueden clasificar en: Cualitativos y Cuantitativos.

 Los Algoritmos Cualitativos: emplean palabras. Ejemplos: Recetas de cocina, Cambiar una rueda, Usar la guía
telefónica, Buscar una palabra en un diccionario, etc.
 Los Algoritmos Cuantitativos: utilizan cálculos numéricos. Ejemplos: Resolver la ecuación de segundo grado,
Calcular si un año es bisiesto, Calcular la raíz cuadrada de un número, etc.

4) Diseño de un Algoritmo:
Existen diversas formas de elaborar un algoritmo, tales como: un Diagrama de flujo y en Pseudocódigo.
 Diagrama de Flujo: Es una representación gráfica de un algoritmo. Los símbolos normalizados por el Instituto
Norteamericano de Normalización (ANSI) y los más frecuentes empleados se muestran a continuación.
Conectores
Proceso Entrada Iniciar/
Salida
Proceso Decisió No Entrada Iniciar/
Salida
Decisió Terminar
n Salida Terminar
Algoritmo
n Salida Algoritmo
Si

2
 Pseudocódigo: Es una herramienta de programación en la que las instrucciones se escriben en palabras similares en
inglés o español, que facilitan tanto la escritura como la lectura de programas.

Ejemplos de algoritmos:
Algoritmo Cualitativo: Algoritmo Cuantitativo:
Algoritmo para leer la página de un libro Algoritmo que calcule el producto de dos números
1. Inicio; enteros
2. Abrir el libro en la primera página; 1. Inicio;
3. Leer la página; 2. Variables: a, b, Producto: enteros;
4. ¿Es la última página que deseo leer? 3. Leer a, b;
Sí, ir al paso 7; 4. Producto = a * b;
No, ir al paso 5; 5. Escribir “El producto de los dos números es: ”,
5. Pasar a la siguiente página; producto;
6. Ir al paso 3; 6. Fin.
7. Cerrar el libro;
8. Fin.

5) Tipo de Datos Simples:


Definen los métodos de almacenamiento disponibles para representar información, junto con la manera en que dicha
información ha de ser interpretada.

3
Para crear una variable (de un tipo simple) en memoria debe declararse indicando su tipo de variable y su identificador
que la identificará de forma única.

Char: Es un carácter (alfanumérico), ocupa 1 byte.


Int: Es un numero entero, ocupa 2 bytes. Ejemplo: [-32.768, 32.767]
Float: Son números con decimales y/o exponentes, ocupa 4 bytes. Ejemplo: [3.4e-38, 3.4e38]
Double: Son números con decimales y/o exponentes, ocupa 8 bytes. Ejemplo: [1.7e-308, 1.7e308]
Void: No posee valor, ocupa 0 bytes.

NOTA: Los datos simples pueden ser con signo (Signed) o sin signo (Unsigned), también pueden cortos (Short) o largos
(Long).

6) Operadores:
Son operaciones que se aplican a los operandos (variables, valores, constantes). Estos pueden ser unarios, binarios o n-
arios. Existen los operadores: aritméticos, lógicos y relacionales.
 Un conjunto de operadores y operandos conforman una expresión, la cual puede ser reducida a un valor.
 Cuando en una expresión se utilizan más de un operador, éstos se deben evaluar conforme a una prioridad
establecida llamada orden de precedencia y de acuerdo a la compatibilidad con el tipo de dato.

4
Operadores Aritméticos: Operadores Relacionales:
Operador Acción Expresión Operador Acción Expresión
+ Suma (Adición) a+b › Mayor a›b
- Resta (Substracción) a-b ‹ Menor a‹b
* Multiplicación () a*b ≥,›= Mayor o igual que a≥b
/, DIV División (Cociente) a/c ≤ , ‹= Menor o igual que a≤b
%, MOD División (Residuo) a%b == Igual a= = b
!= , ‹ › Diferente o D sigual
a != b

Operadores Lógicos:
Ope ador
Acción
&& AND , Y
|| OR, O
! NOT, NO

NOTA: Los operadores AND y OR siempre actúan sobre dos operadores, mientras que el operador negación (NOT)
siempre actúan sobre un operando, es decir, es un operador unario.

5
Tabla de la Verdad de los Operadores Lógicos:
AND (&&) OR (||)
VALOR 1 VALOR 2 RESULTADO VALOR 1 VALOR 2 RESULTADO
V F F V F V
F V F F V V
V V V V V V
NOT (!)
VALOR RESULTADO
V F
F V

Orden de Precedencia de los Operadores:


Prioridad
Operador Acción
() Operador de más alta prioridad
^ Potencia
*, /, % Multiplicación, División (Cociente, DIV), División (Residuo, MOD)
+, - Suma, Resta
! NOT (Negación)
‹,≤,›,≥ Menor, Menor o igual que, Mayor, Mayor o igual que
= =, != ó ‹ › Igual y Distinto que
&& AND (Y)
|| OR (O)
Reglas de Precedencia:
1. Al reducir una expresión se debe seguir el orden de precedencia de la tabla (De arriba, hacia abajo).
2. El operador con más precedencia se reduce de primero.

6
3. Si existen operadores con el mismo nivel de precedencia se evalúa de izquierda a derecha.

Práctica: Realicemos los siguientes ejercicios tomando en cuenta la regla de precedencia.


Ejercicio a: (x + y + z) * (v + w) Ejercicio a: (3 + 4 + 1) * (2 + 2)
Se evalúa de izquierda a derecha, empezando con Evaluando la expresión con valores reales:
los paréntesis
R1 = 3 + 4 = 7
R1 = x + y R2 = 7 + 1 = 8
R2 = R1 + z R3 = 2 + 2 = 4
R3 = v + w R4 = 8 * 4 ; R4 = R2 * R3
De último se evalúa la multiplicación R4 = 32
R4 = R2 * R3

Ejercicio b: (a*b*c) + (d*e*f) + (g%h) Ejercicio b: (1*2*3) + (1*2*3) + (4%2)


Se evalúa de izquierda a derecha, empezando con Evaluando la expresión con valores reales:
los paréntesis
R1 = 1*2 = 2
R1 = a*b R2 = 2*3 = 6
R2 = R1*c R3 = 1*2 = 2
R3 = d*e R4 = 2*3 = 6
R4 = R3*f R5 = 4%2 = 0
R5 = g%h R6 = 6 + 6 + 0 R6= R2+R4 + R5
De último se evalúa la suma R7 = 12
R6 = R2 + R4 + R5
7) Expresiones:
Una expresión es una combinación de operadores y operandos. Los datos u operandos pueden ser constantes, variables
y llamadas a funciones. Dentro de una expresión pueden encontrarse subexpresiones encerradas entre paréntesis. Por
ejemplo, la siguiente expresión matemática:

7
x 2 + (b − 3) ⋅ cos (3)
Llevada una expresión de computador sería x˄2 + (b – 3) * cos (3)
Cuando se ejecuta una sentencia de código que contiene una expresión, ésta se evalúa. Al evaluarse la expresión toma
un valor que depende del valor asignado previamente a las variables, las constantes y los operadores y funciones utilizadas,
y la secuencia de la ejecución de las operaciones correspondientes.

Sintaxis de las expresiones relaciones (lógica):


‹expresión_1› ‹operador_de_relación› ‹expresión_2›,
Ejemplos: a) 2 ˂ 5;
b) A ≤ B;
c) 4 ≥ 1 AND 3= 3

Sintaxis de las expresiones aritméticas:


‹expresión_1› ‹operador_de_relación› ‹expresión_2›,
Ejemplos: a) 2 * 5
b) (2 + 3) 4 ^ 2 – (6 mod 2)
c) 4 / 2 + 5
Tipos de Expresiones:
 Aritmética: Los operando y operadores que intervienen son numéricos. El resultado que se obtiene son números
enteros o reales. Contienen únicamente operadores aritméticos y datos numéricos. Ejemplo: a + b * 4/2

8
 Lógica: Los operadores son lógicos o relacionales. El resultado que se obtiene, devuelve un valor lógico (verdadero
o falso). Contienen variables y/o constantes enlazadas con operadores lógicos. (a ≥ b) and (c ˂ d)
 Alfanuméricas: Dan como resultado una serie o cadena de caracteres.
 De asignación: Estas expresiones asignan el resultado de una expresión a una variable o a una constante. Ejemplo:
a = a + b/2.

NOTA: Dependiendo del tipo de expresión, pueden participar uno o varios operadores. Cuando se evalúa una expresión
siempre se obtiene un valor. Dicho valor puede ser de tipo: entero, real, lógico, carácter o cadena.

Práctica: Realicemos los siguientes ejercicios utilizando las expresiones.


Nº 1: De acuerdo a las siguientes expresiones aritméticas, indique el resultado y los operadores utilizados
a) -3 * 6 mod 4
b) 3 ^ 3 -1
c) -3 * (6 mod 4)
d) 3 ^ (3 – 1)

Se obtiene el siguiente resultado:


a) Respuesta = -2 ; Actúan los operadores en orden: Multiplicación (*) y el residuo de la División (mod)
b) Respuesta = 26; Actúan los operadores en orden: Potencia (^) y Resta (-).
c) Respuesta = -6; Actúan los operadores en orden: División (mod) y la Multiplicación (*).
d) Respuesta = 9; Actúan los operadores en orden: Resta (-) y la Potencia (^).

9
Nº 2: De acuerdo a las siguientes expresiones lógicas, indique el resultado y los operadores utilizados.
a) 22 ˃ 13 (Comparación de dos expresiones aritméticas)
b) 22.5 ˂ 3.44 (Comparación de dos expresiones aritméticas)
c) verdadero = falso (comparación de dos expresiones lógicas)
d) ´c´ ˃ ´f´ (Comparación de dos expresiones de carácter)
e) “coche” = “Coche” (Comparación de dos expresiones de cadenas)

Se obtiene el siguiente resultado:


a) Respuesta: Verdadero, 22 es mayor que 13
b) Respuesta: Falso, 22.5 no es menor que 3.44
c) Respuesta: Falso, verdadero no es igual a falso
d) Respuesta: Falso, c no es mayor que f
e) Respuesta: Falso, coche no es igual que Coche

Nº 3: Evaluar las siguientes expresiones lógicas.


a) 9 ˃ 3 AND 8 ˃ 9
Se obtiene: Primero se evalúa de izquierda a derecha 9 ˃ 3 es verdadero
Luego se evalúa 8 ˃ 9 es falso, entonces verdadero and falso, Respuesta = Falso.
b) 9 ˃ 3 OR 8 ˃ 9

10
Se obtiene: Primero se evalúa de izquierda a derecha 9 ˃ 3 es verdadero
Luego se evalúa 8 ˃ 9 es falso, entonces verdadero and falso, Respuesta = Verdadero.
c) NOT 9 ˃ 3
Se evalúa primero 9 ˃ 3 es verdadero y luego se niega con NOT verdadero, Respuesta = Falso

Nº 4: Evaluar las siguientes expresiones lógicas.


a) 3 ˃ 1 OR 4 ˂ 1 AND 4 ≤ 2
Primero se evalúan los operadores relacionales mayor (˃), menor (˂) y menor o igual que (≤)
Luego se evalúan los operadores lógicos AND y OR:
Quedando de la siguiente manera:
3 ˃ 1 OR 4 ˂ 1 AND 4 ≤ 2
V OR F AND f (Luego se evalúa AND primero por orden de prioridad y luego OR)
V OR F; Respuesta = verdadero

b) (3 ˃ 1 OR 4 ˂ 1) AND 4 ≤ 2
Primero se evalúa lo que está dentro del paréntesis con los operadores relacionales mayor (˃) y menor (˂) y el OR.
Luego se evalúa menor o igual que (≤) y el resultado se evalúa con el AND, quedando de la siguiente manera:
(3 ˃ 1 OR 4 ˂ 1) AND 4 ≤ 2
(V OR F) AND F
V AND F; Respuesta = Falso
c) falso = verdadero ≤ verdadero

11
En orden de prioridad primero se evalúa el operador relacional menor o igual que (≤) luego, el igual (=)
falso = verdadero; Respuesta = falso

d) (falso = verdadero) ≤ verdadero


Primero se evalúa en orden de prioridad los paréntesis y de último el operador relacional menor o igual que (≤)
falso ≤ verdadero, Respuesta = falso

8.- Constante (Definición):


Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.
Ejemplo: pi = 3.1416

Práctica: Analicen el siguiente ejercicio usando constantes.


Diseñar un Algoritmo en pseudocódigo y diagrama de flujo para hallar el área de un triángulo rectángulo cuya base mide
3cm, la Altura 4cm. Dado que el área = base * altura/2

Análisis del Problema:


Resultados esperados: El área de un triángulo rectángulo.
Datos disponibles: Base, altura y tipo de triángulo. La incógnita es el área.
Determinar las restricciones: Utilizar todas las medidas dadas.
Procesos necesarios: Guardar en dos variables los valores de Base y Altura, y aplicar la fórmula área = base * altura/2 y
enviar el resultado.

12
Algoritmo en Pseudocódigo: Diagrama de Flujo:
1. Inicio
Inicio
2. Declaración de las constantes:
2.1 base = 3;
base = 3
2.2 altura = 4;
altura = 4
3. Realizar cálculo:
3.1 area = (base*altura) / 2;
area = (base * altura) / 2
4. Escribir “El área de un triángulo rectángulo es: ”, area;
5. Fin.
altura Fin

9.- Variable (Definición):


Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecución de
un proceso, su contenido puede cambiar durante la ejecución del programa.
Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos
identificarla dentro de un algoritmo.
Ejemplo: area = pi * radio ^ 2. Las variables son: el radio y el área. La constante es pi.
EJERCICIOS RESUELTOS:
Pseudocódigo: Diagrama de Flujo:

13
Algoritmo que lee 3 números, los suma e imprime su
resultado.

PSEUDOCÓDIGO sumatorio
VARIABLES
eN1, eN2, eN3, eSuma: Entero;
INICIO
ESCRIBE “Introducir tres números enteros:”;
LEER eN1, eN2, eN3;
eSuma = eN1 + eN2 + eN3;
ESCRIBE “El resultado de la suma es: “, eSuma;
FIN.

Inicio
eN1, eN2, eN3,
Algoritmo que obtiene la última cifra de un número eSuma: Entero
Inicio Leer
PSEUDOCÓDIGO última_cifra eN1,
INICIO eSuma= eN1 +
eN2, eSuma
num: Entero
VARIABLES eN2eN3
+ eN3
num: Entero; Fin
INICIO
Último
ESCRIBE “Introduzca Número”; número es:
Leer num Fin
LEER num; num mod 10
ESCRIBIR “Último número es: ”, num mod 10;
FIN.
EJERCICIOS PROPUESTOS:
a) Algoritmos Cualitativos:
Ejercicio Nº 1: Escribir un algoritmo que permita cambiar el caucho de una bicicleta.

14
Ejercicio Nº 2: Escribir un algoritmo que realice café en una cafetera.
Ejercicio Nº 3: Escribir un algoritmo que permita buscar un número telefónico en una agenda personal.
Ejercicio Nº 4: Escribir un algoritmo que busque una palabra en un diccionario.
Ejercicio Nº 5: Escribir un algoritmo que realice una llamada desde un teléfono celular.

b) Algoritmos Cuantitativos:
Ejercicio Nº 1: Escribir un algoritmo que dado un número n, indicar si es un número par o impar.
Ejercicio Nº 2: En un video club se ofrece la promoción de llevarse tres películas por el precio de las dos más baratas.
Realice un algoritmo que dado los tres precios de las películas, determine la cantidad a pagar.
Ejercicio Nº 3: Escribir un algoritmo que calcule la suma de cuatro notas, calcule el promedio.
Ejercicio Nº 4: Diseñar un algoritmo que permita calcular el porcentaje descontado en un compra, introduciendo por
teclado el precio de la tarifa y el precio pagado.
Ejercicio Nº 5: Realizar un algoritmo que pida por teclado una medida expresada en centímetros y las convierta en
pulgadas, donde 1 pulgada= 2.54 centímetros.

c) Expresiones:
Ejercicio Nº1: Vamos a tratar de convertir una expresión algebraica en expresión de computador. Comencemos
considerando un primer ejemplo. Sea la expresión algebraica mostrada a continuación:
a
bc
Si queremos escribir esta expresión como expresión de computador, tenemos varias formas de hacerlo:

15
a. a / b * c
b. a / b / c
c. a / (b * c)
Preguntas:
1.- ¿Cuál de las tres opciones mostradas a continuación es la expresión correcta?, Explique su respuesta.
2.- Evalúa cada una de las expresiones de acuerdo a los siguientes valores. a= 4, b=2 y c=2. ¿Cuál es el resultado?
3.- Indica el orden de prioridad de los operadores, en la expresión que consideraste la correcta en la pregunta Nº 1.

Ejercicio Nº 2: Dada las siguientes expresiones de computador, convertirlos en una expresión algebraica.
a. (a + b) * c / (d – e) ^ f
b. a – b / c + (b – c / d) / e
c. a + b * c / d – e ^ f
Preguntas:
a.- De acuerdo a los siguientes valores, a=4, b=2, c=1, d=0, e=8 y f=2. Indique el resultado de cada expresión.
b.- Colocar los paréntesis en la pregunta: c, tomando en cuenta el orden de prioridad.
c.- ¿Cuál es la respuesta verdadera de la pregunta: a?, Opción 1: 6/-64; Opción 2: 0,09; Opción 3: 0,09375

Ejercicio Nº 3: Convertir las siguientes expresiones algebraicas a expresiones de computador.


bc
a e f 2.3
a) d e
4.5  d

16
b * c a b
b) (3.14) ( a  b )   a *b
a b
c
b
b d
a 
c) c e

Ejercicio Nº 4: Convierta las siguientes expresiones de computador en expresiones algebraicas.

a) a / (b + c / (d + 1) * (a + b) – a) ^ b ^ a + c
b) a / b / c / d ^ a * b – d / a * c
c) a + (b – c * (d – (a + b) * (c – e / d * a) / a + b * c) – (e ^ f)) ^ b

17

Você também pode gostar