Você está na página 1de 30

Algoritmos

Introducción a la computación
Algoritmia
Seminario introductorio
Contenidos del curso
Árboles

Punteros

Archivos
Registros
Recursividad
Subprogramas y
subprocesos
Cadenas
Matrices
Vectores
Estructuras de control: Simples, múltiples,
repetitivas.
Conceptos básicos, variables, constantes,
operadores
Materiales
Consejos generales

 En el curso de Algoritmos y estructura de datos no se programa. La programación se ve en


tercer ciclo
 El curso es difícil, pero no imposible
 Siempre ser humilde y compartir lo que uno sabe
 Estudiar bastante, pero no tanto

Programación de
Algoritmia programas de
computadora
¿Qué es un algoritmo?
 ¿Qué necesitas para hacer un pastel?
¿Qué se necesita para hacer un pastel?

 Ingredientes:
-Harina
-Azúcar
-Levadura
-Vainilla
Datos
-Recipientes
-Etc
 Receta
Algoritmo
¿Qué es un algoritmo?
 ¿Qué necesitas para llegar a la UNI?
¿Qué es un
algoritmo?
 Serie de pasos para resolver un
problema
 Es finito (los pasos están
contabilizados)
 Es ordenado (No se pueden saltar
pasos)
 Es bien definido (Contempla todos
los casos posibles)
 Es conciso (Solo los pasos
necesarios para resolver el
problema)
Otro ejemplo

De la siguiente serie de números:


 10-11-15-17-14-5-3-12-7-5-0-9-1-3-5-1
Responda las siguientes preguntas:
1. ¿Cuál es el mayor?
2. ¿Cómo encontrar el mayor?
 ¿Cuáles el mayor?
Muy fácil de encontrar
 ¿Cómo encontrar el mayor?
Muchas veces no es tan inmediato
encontrar esa serie de pasos.
Dato vs información

INFORMACIÓN -Es objetivo


-No está trabajado

-Intrepretanción
-Subjetivo
-Está procesado

DATO
Edad media del
grupo de
personas

Edad cada
persona en un
grupo
SISTEMA
DATOS -COSAS ELECTRICAS INFORMACIÓN
-COSAS ELECTRÓNICAS
-ALGORITMOS
Tipos de datos

Datos

Estático Dinámico

Simples

Estructurados
o compuestos
Tipo de datos simples

Entero …-3,-2,-1,0,1,2,3…

Carácter ‘A’,’B’,’C’,’D’,…
‘a’,’b’,’c’…
Lógicos Falso(F),
Verdadero (V)
Real Números reales
Operadores aritméticos

+ Suma
- Resta
* Multiplicación
/ División real
Operadores aritméticos para datos
enteros

div División entera


Mod Resto de la división
entera

3
7mod3 1 2 7div3
Ejemplo de operaciones con div y Mod

 Realice las siguientes


operaciones
 9div2
 10div3
 9mod3
 7mod3
 11div7
 7div9
 5mod10
 3mod11
Algo más complicado

 Diseñe una función f(x), tal que, si x es par, debe


retornar el doble de ese número, si es impar, debe
retornar el número reducido en una unidad.
PE:
-x=2 -> f(x)=4
-x=3 -> f(x)=2
Solución
𝑓 𝑥 = 2𝑥 1 − 𝑥𝑚𝑜𝑑2 + 𝑥 − 1 𝑥𝑚𝑜𝑑2

Caso par Caso impar


ሶ = 2𝑥 1 − 𝑥𝑚𝑜𝑑2ሶ + 𝑥 − 1 𝑥𝑚𝑜𝑑2
𝑓(𝑥 = 2)

0 0

1 0
𝑓(𝑥 = 2) =ሶ 2𝑥
De forma análoga para 𝑥 = 2ሶ + 1
Operadores Lógicos

∧ Conjunción(Y)
∨ Disyunción(O)
~ Negación
Operadores Lógicos

≤ Mayor igual
≥ Menor igual
= Igual
≠ Distinto
Constantes y variables
 Constante: Un valor que no cambia durante la ejecución del algoritmo.
 Variable: Un valor que cambia durante la ejecución del algoritmo.
PE:

Cons real PI=3.1416 Constante


Real radio, área Variable
El valor PI=3.1416, no se puede alterar a lo largo del algoritmo, pero el valor
Radio y área pueden ser cambiados.
Operador asignación

 El operador asignación (⇐) permite dar


valores a las variables:
Por ejemplo:
Cons real PI=3.1416
Real radio, área
Radio ⇐ 2
Area ⇐ Radio*Radio*PI
¿Qué está pasando internamente?
3.1416 PI
Cons real PI=3.1416 Reserva
Real radio, área
memoria
radio
para los
area valores

radio
Radio ⇐ 2 2 2
Area ⇐ Radio*Radio*PI

area
12.556 2*2*PI
¿Cómo representar algoritmos?
Algunos problemas

 Diseñe un algoritmo que halle el producto de dos números


 Diseñe un algoritmo que halle la suma de n números
 Diseñe un algoritmos que halle la suma de los n primeros números naturales
Un ejemplo real

 Algunos bancos tienen un sistema especial para detectar robos. Si un criminal


te está coaccionando para retirar grandes sumas de dinero de tu cuenta,
entonces lo que debes hacer es introducir tu clave al revés de esta forma el
cajero devolverá la cantidad de dinero solicitada, pero llamará a las
autoridades para atender la situación.
Diseñe un algoritmo que tenga guardado una clave de cuenta (1234 por
ejemplo) y que muestre un mensaje de de “LLAMANDO A LAS AUTORIDADES” si
esta clave es escrita al revés.
Volviendo al ejemplo de la clase:

 Diseñe un algoritmo que permita hallar el mayor de un conjunto de números


LA MORALEJA:

“No importa qué tan grande sea el


conjunto de datos. Si tu algoritmo está
bien hecho, entonces eventualmente
encontrarás la respuesta correcta”

Você também pode gostar