Sie sind auf Seite 1von 72

Formas de expresar un

algoritmo

Lenguaje Natural Diagramas de Flujo Pseudocódigo Lenguaje de programación


● Humanos ● Representación ● Descripción de alto ● Lenguaje formal
● Indicaciones gráfica de un nivel, compacta e diseñado para modelar
detalladas para proceso informal procesos que pueden
realizar una ● Cada paso es ● Utiliza la estructura ser entendidos y
tarea o un representado de un lenguaje de llevados a cabo por
proceso por un símbolo programación real computadoras.
Lenguaje Natural
Se utiliza empleando
palabras de uso diario en
situaciones de la vida
cotidiana
● Dar una dirección
● Describir actividades
diarias
● Seguir una receta
Diagramas de Flujo
Se utilizan formas y figuras
con un significado establecido,
que unidas entre sí en un
orden lógico pueden explicar
la secuencia de pasos de un
proceso
Simbología
Pseudocódigo
Es la utilización de palabras
cotidianas técnicas,
reservadas para explicar un
proceso.
Utiliza la estructura de un
lenguaje de programación
real.
Lenguaje de Programación
Son lenguajes técnicos
y específicos para la
programación de
computadoras
1. Iniciamos el proceso
2. Pedimos el valor de N
3. Obtenemos el residuo de la división
de N / 2
4. Si el residuo es igual a 0, el número
es par
5. Si el residuo es diferente de 0, el
número es impar
6. Terminamos el proceso
Modo de trabajo
● Anotar los ejercicios, usando la libreta de
manera horizontal
● Debajo del problema dividimos la hoja en
tres secciones: Lenguaje Natural, Diagrama
de Flujo y Pseudocódigo (en ese orden)
● Para resolver los problemas hay que usar
lápiz
Tarea Lenguaje Natural
1. Calcular el promedio de los 5 bimestres
2. Una constructora vende terrenos con la forma de la
figura 2.2, elabora un algoritmo que calcule el área
respectiva de un terreno de medidas de cualquier valor
basado en la figura
Ejercicios Secuenciales
1.- Calcula el área de la figura 2.3. Se puede partir de que
está formada por tres figuras: dos triángulos
rectángulos, con H como hipotenusa y R como uno de los
catetos, que también es el radio de la otra figura, una
semicircunferencia que forma la parte circular (ver forma
B).
Ejercicios Secuenciales
2.- Se requiere obtener la distancia entre dos puntos en el
plano cartesiano, tal y como se muestra en la figura 2.4
Ejercicios Secuenciales
3.- La conagua requiere determinar el pago que debe
realizar una persona por el total de metros cúbicos que
consume de agua al llenar una alberca (ver figura 2.5).
Ejercicios de Estructuras Selectivas
4.- Se desea implementar un algoritmo para
determinar cuál de dos valores proporcionados
es el mayor.
Ejercicios de Estructuras Selectivas
5.- Realice un algoritmo para determinar si un
número es positivo o negativo.
Ejercicios de Estructuras Selectivas
6.- Realice un algoritmo para determinar
cuánto se debe pagar por X cantidad de
lápices considerando que si son 1000 o más el
costo es de 85¢; de lo contrario, el precio es de
90¢.
Ejercicios de Estructuras Selectivas
7.- Almacenes “El harapiento distinguido” tiene
una promoción: a todos los trajes que tienen un
precio superior a $2500.00 se les aplicará un
descuento de 15 %, a todos los demás se les
aplicará sólo 8 %. Realice un algoritmo para
determinar el precio final que debe pagar una
persona por comprar un traje y de cuánto es el
descuento que obtendrá.
Ejercicios de Estructuras Selectivas
8.- Se requiere determinar cuál de tres
cantidades proporcionadas es la mayor.
Ejercicios de Estructuras Repetitivas
9.- Se requiere un algoritmo para obtener la
suma de diez cantidades mediante la
utilización de un ciclo “Mientras”.
1. Se inicia el proceso.
2. Se establece una variable para acomuar la suma SUM = 0
3. Se establece un contador C = 1
4. Entramos a un ciclo “Mientras” que C sea menor o igual que 10
4.1. Leemos el valor por sumar y lo guardamos en VA
4.2. Acomulamos el valor leido SUM = SUM + C
4.3. Incrementamos el contador, C = C + 1
5. Se imprime la suma acomulada SUM
6. Termina el Proceso
Ejercicios de Estructuras Repetitivas
10.- Se requiere un algoritmo para obtener la
edad promedio de un grupo de N alumnos.
Ejercicios de Estructuras Repetitivas
11.- Se requiere un algoritmo para determinar
cuánto ahorrará una persona en un año, si al
final de cada mes deposita variables
cantidades de dinero; además, se requiere
saber cuánto lleva ahorrado cada mes.
PSEUDOCÓDIGO
¿Que es el Pseudocódigo?
Es una forma de escribir los pasos que va a
realizar un programa de la forma más cercana
al lenguaje de programación que vamos a
utilizar posteriormente.
Escribo el
¿Que quiero Lo escribo en programa en el
hacer? pseudocódigo lenguaje de
programación
¿Qué son las Constantes?
Es un valor que no puede ser
alterado/modificado durante la ejecución de
un programa, únicamente puede ser leído.
¿Qué son las Variables?
Una variable representa a un espacio de
memoria en el cual se puede almacenar un
dato, el cual como su nombre lo indica, puede
variar.
¿Qué son los comentarios?
Representan una ayuda de gran valor durante
la construcción del programa, tanto para el
programador original, o los que realizan las
tareas de mantenimiento
¿Qué son los comentarios?
Tipos de Datos
● Entero
● Real
● Lógico
● Caracter
● Cadena
Números Enteros
Son números que no son fraccionarios (sin
punto decimal)
● Edad de una persona
● Año de nacimiento
● (..., -3, -2, -1, 0, 1, 2, 3, ...)
● Palabra reservada ‘integer’
Números Reales
Son números fraccionarios (con punto
decimal)
● Peso de una persona (65.5 Kg)
● Altura de una persona (1.75 Mts)
● Palabra reservada ‘real’
Datos de tipo lógico
Un dato de tipo lógico es aquel que solo
puede tomar como valor uno de los dos
siguientes: ‘true’, ‘false’
● Se puede considerar el estado de una barra
de paso de trenes como un dato booleano,
true cuando esta subida, false cuando está
bajada
● Palabra reservada ‘boolean’
Datos de tipo carácter
Pueden tomar como valor un carácter
perteneciente al conjunto de caracteres que
pueden representar el ordenador
● Los valores se representan entre comillas ‘’
● Si realizamos un examen de opción múltiple
la respuesta puede ser ‘a’, ‘b’, ‘c’, etc..
● Palabra reservada ‘char’
Datos de tipo cadena
Un dato de tipo cadena es aquel que puede
tomar como valor una secuencia de
caracteres
● Los datos de tipo cadena se representan entre
comillas “”
● El título de un libro o el nombre del autor son datos
de tipo cadena (“Harry Potter”, “J.K. Rowling.”)
● Palabra reservada “String”
Operadores Aritméticos
Toman los valores numéricos (literales o variables) como
sus operando y devuelve un solo valor numérico.
Operador Acción Ejemplo

- Resta X = 5 - 3; // X vale

+ Suma X = 2 + 3; // X vale

* Multiplicación X = 2 * 3; // X vale

/ División X = 6 / 2; // X vale

% Módulo X=5%2 // X vale

-- Decremento X = 1; X--; // X vale

++ Incremento X = 1; X++; // X vale


Operadores Relacionales
Compara sus operando y devuelve un valor lógico basado en si la
comparación es verdad o no. Los operando pueden ser numéricos o
cadenas.
Operador Nombre Ejemplo

< menor que 8 < 10 //

> mayor que a = 4; b = 12; a>b //

== igual a a = 8; a == 10 //

!= diferente de saludo = “Hola”; saludo != “Hi”; //

<= menor o igual que a = 4; b = 29 a <= b //

>= mayor o igual que a = 18; b= 18; a >= b //


Operadores Lógicos
Se utilizan para combinar múltiples comparaciones
en una expresión condicional. Un operador lógico
toma dos operandos cada uno de los cuales es un
valor true o false y devuelve un valor true o false.
Operador Descripción

&& " Y " (Conjunción) Devuelve true si ambos operadores son true.

|| " O " (Disyunción) Devuelve true si uno de los operadores es true.

! "Negación" Devuelve true si la negación del operando es true.


Tablas de Verdad

A B A && B A B A || B

V V V V V V A ¬A

V F F V F V V F

F V F F V V F V

F F F F F F
Ejemplos
//Ejemplo simple de IF usando operador AND
IF dia == “lunes” && materia == “Tecnología I” THEN
Imprime “La hora debe ser entre 8:20 y 9:10”;
END IF

//Ejemplo de IF - ELSE usando operador AND


IF hambre == “mucha” && traigo_almuerzo == “si”
THEN
Imprime “Disfrutar almuerzo”;
ELSE
Imprime “No almorzar”;
END IF
Ejemplos
//Ejemplo simple de IF usando operador OR
IF mascota == “perro” || mascota == “gato” THEN
Imprime “Tu mascota tiene 4 patas”;
END IF

//Ejemplo de IF - ELSE usando operador OR


IF dia == “lunes” || dia == “martes” || dia == “miercoles” THEN
Imprime “Hoy SI tienes clase de tecnología”;
ELSE
Imprime “Hoy NO tienes clase de tecnología”;
END IF
Ejemplos
/*
* Ejemplo operador NOT
* Nos indica si un email es válido
*/

//La función check_email devuelve “true” si encuentra un @, de lo contrario devuelve “false”


found = check_email(“zonademanel@gmail.com”);

IF ! found THEN
Imprimir “El email es inválido”
ELSE
Imprimir “El email es válido”
END IF
Prioridad entre Operadores
Ejemplos
1.- 5 * 4 / 2 =
2.- 5 + 4 / 2 =
3.- (5 + 4) / 2 =
4.- (8 / 4 + 3) - (2 + 3 * 4) =
5.- (5 + 9 / 3) + (4 / 2 - 1) * 2 =
6.- (2 / 2 + 2) ^ 2 =
7.- (2 * 3 + 12 / 3) / 2 + 2 ^ 2
8.- 2 ^ 3 + 2 ^ 3 / 2
9.- ((2 + 3) + (2 * 2) - 5) ^ (2 ^ 1)
Cadenas: Tipo de dato compuesto
Las cadenas son diferentes de los otros tipos de
datos, porque están hechas de piezas más
pequeñas — los caracteres.
El operador corchete selecciona sólo un carácter de una
cadena:
>>> fruta = "banana";
>>> letra = fruta[1];
>>> print letra;
>>> a
Cadenas: Longitud
La propiedad (o función) length devuelve el
número de caracteres de una cadena:

>>> fruta = "banana";


>>> fruta.length;
>>> 6
Cadenas: Longitud
Para obtener la última letra de una cadena,
puedes sentirte tentado a probar algo como
esto:

>>> fruta = "banana";


>>> longitud = fruta.length; // 6
>>> ultima = fruta[longitud]; //¡Error!
Cadenas: Longitud
La razón es que no hay una seis-ésima letra en
"banana". Como empezamos a contar desde
cero, las seis letras están numeradas del 0 al
5. Para obtener el último carácter tenemos que
restar 1 a la longitud:
>>> fruta = "banana";
>>> longitud = fruta.length; // 6
>>> ultima = fruta[longitud - 1];
Cadenas: Recorrido
Muchos cálculos implican procesar una cadena
carácter por carácter. Una forma de codificar
un recorrido es con una sentencia while.
indice = 0:
While indice < fruta.length
letra = fruta[indice];
print letra;
indice = indice + 1;
EndWhile
Cadenas: El bucle for
Usar un índice para recorrer un conjunto de
valores es tan común que existe una
alternativa más simple — el bucle for

For i = 0; i < fruta.length; i++;


letra = fruta[i];
print letra;
EndFor
Cadenas: Comparación de cadenas
Los operadores de comparación trabajan sobre
cadenas. Para ver si dos cadenas son iguales:
If palabra == "banana" Then If palabra != "naranja" Then
print "¡Es una banana!"; print "No es una naranja";
Else EndIf
print "No es una banana";
EndIf
Cadenas: Concatenación
fruta = “banana”;
For i = 0; i < fruta.length; i++;
letra = fruta[i];
print “Cuando i vale ” + i + ”, letra vale ” + letra;
EndFor
>>> Cuando i vale 0, letra vale b;
>>> Cuando i vale 1, letra vale a;
>>> Cuando i vale 2, letra vale n;
>>> Cuando i vale 3, letra vale a;
>>> Cuando i vale 4, letra vale n;
>>> Cuando i vale 5, letra vale a;
Estructuras de decisión: If, If-Else
edad = 17; dia = “Martes”;
If edad < 18 If dia == “Sabado” || dia == “Domingo”

print “Eres menor de edad”; print “Es fin de semana”;


EndIf Else
print “Es día de escuela”;
EndIf
Estructuras de decisión: Switch
dia = “Miercoles”;
Switch dia
case “Sabado”:
print “Sábado es un día del fin de semana”
break;
case “Domingo”:
print “Domingo es un día del fin de semana”
break;
default:
print dia + “ es un día entre semana”
EndSwitch
Estructuras de repetición (bucles)
i = 0; fruta = “banana”;
fruta = “banana”; For i = 0; i < fruta.length; i++;
While i < fruta.length letra = fruta[i];
letra = fruta[i]; print “Cuando i vale ” + i + ”,
print “Cuando i vale ” + i +
letra vale ” + letra;
”, letra vale ” + letra;
EndFor
i++; >>> Cuando i vale 0, letra vale b;
>>> Cuando i vale 1, letra vale a;
EndWhile >>> Cuando i vale 2, letra vale n;
>>> Cuando i vale 3, letra vale a;
>>> Cuando i vale 4, letra vale n;
>>> Cuando i vale 5, letra vale a;
Arreglos (Array)
● Un Arreglo es un tipo estructurado de dato, el
cual es capaz de almacenar una colecciòn de
datos del mismo tipo
● Es la forma más simple de agrupar
componentes de un mismo tipo y asociarlos
un nùmero de orden de cada componente
llamado ìndice
Arreglos (Dimensionalidad)
● Los arreglos son una estructura
multidimensional
● En una dimensión puede ser visto como un
vector
Arreglos (Dimensionalidad)
● Un arreglo de dos
dimensiones puede
representarse como una
matriz, necesita de dos
índices (fila y columna),
para acceder a uno de
sus elementos
Arreglos (Dimensionalidad)
● Un arreglo de 3
dimensiones podemos
tomarlo como un espacio.
Ej. El cubo de rubik
Problemas (entregar en la libreta)
1. Escribe un programa que pida un correo
electrónico y verifique que sea válido (que
contenga una @)
2. Escribe un programa que calcule la suma
del siguiente arreglo [5,2,4,5,1,7,8]
recorriendo los índices para poder tomar el
valor de cada número
Examen de Prueba II Bimestre
https://drive.google.com/file/d/1DcSo1mKRPH
w21PQS6FnrvbmY1vEt_4nh/view?usp=sharing

Das könnte Ihnen auch gefallen