Está en la página 1de 47

UNIVERSIDAD AUTÓNOMA DE SAN LUIS POTOSÍ

FACULTAD DE INGENIERÍA

ÁREA DE CIENCIAS DE LA COMPUTACIÓN

PENSAMIENTO ALGORÍTMICO
PROFR: M.C. MIGUEL ÁNGEL DE LA CRUZ LÓPEZ
¿Qué es la computación?
Las carreras de ingeniería en computación o ingeniería en informática
están basadas en la disciplina de la computación. Por lo tanto,
primeramente debemos definir qué es la computación.
Office
Windows Usar la
Computación
Facebook computadora
Etc.

Computación Computadora Herramienta

Telescopio Astrónomo Desarmador Mecánicos


La computadora es solamente una herramienta que nos
permite hacer computación, pero incluso podemos hacer
computación sin ésta.

Ingeniería

COMPUTACIÓN
Matemáticas Ciencias
La computación es toda actividad orientada a
objetivos que requiere, se beneficia o crea
computadoras.(ACM)

COMPUTACIÓN
Diseño/construcción
Estructurar y Estudios científicos con
de software y
administrar información computadora
Hardware

Sistemas Crear/usar medios de


Encontrar y almacenar
computacionales comunicación y
información
inteligentes entretenimiento
¿Qué es el Pensamiento Algorítmico?
El pensamiento algorítmico es un conjunto de habilidades o
principios que nos ayudarán a resolver problemas relacionados a
la computación.

Automatizar Soluciones
Una de las habilidades que nos separa del resto de las ingenierías es
que nosotros no sólo somos capaces de encontrar soluciones a
problemas, sino que también somos capaces de automatizar dichas
soluciones utilizando una computadora. Esto se logra escribiendo
código que solamente la computadora entiende.
El pensamiento algorítmico involucra las siguientes habilidades o
competencias:
Automatizar soluciones
Formular problemas de tal manera
Mediante pensamiento algorítmico
que nos permitan usar computadoras y
(una serie de pasos ordenados).
otras herramientas para solucionarlos.
Organizar y analizar datos Generalizar y transferir
De manera lógica. Este proceso de solución a una
gran diversidad de problemas.
Representar datos mediante
abstracciones, como modelos y
simulaciones.

Identificar, analizar e implementar posibles soluciones


con el objetivo de encontrar la combinación de pasos y recursos más
eficiente y efectiva.
Objetivo

El objetivo de esta unidad es darle al estudiante


una idea clara del tipo de problemas que estará
enfrentando en toda su carrera. Problemas en
donde se busque una solución, no una simple
respuesta.
¿QUÉ HACE UN INGENIERO(A)?
El principal objetivo de cualquier ingeniero es resolver
problemas utilizando conocimientos, experiencia,
herramientas, y sobre todo, creatividad. De hecho, la
palabra ingeniero proviene de las palabras latinas ingeniare
(“diseñar”) e ingenium (“ingenio”).
El trabajo de un ingeniero es la aplicación del conocimiento
científico para resolver problemas de cualquier ámbito, por
ejemplo, de la industria, del gobierno, o de la sociedad en
general.
“UN INGENIERO DEBE ENCONTRAR SOLUCIONES INNOVADORAS
A LOS DIFERENTES PROBLEMAS QUE SE LE PRESENTEN”
Las soluciones propuestas por un ingeniero se espera que
tengan varias o todas de las siguientes características:
• Eficaces: Que resuelva el problema en primer lugar.
• Eficientes: Que utilice correctamente los recursos disponibles.
• Costeables: Que se pueda llevar a cabo.
• Escalables: Contemplar adaptación para situaciones a futuro.
• Ecológica: Considerar el medio ambiente, evitar destruir o contaminar.

“SIEMPRE QUE SE PRETENDA DAR SOLUCIÓN A UN


PROBLEMA SE DEBEN DE TENER EN MENTE ESTAS
CARACTERÍSTICAS”
Ejemplos de problemas de ingeniería
Una empresa contratará a ¿“un ingeniero”? para que le
resuelva una serie de problemas.
Existen ingenierías especializadas en cierta área o campo de
estudio. Por ejemplo:
Computación
Electricidad
Mecánica
Civil
Geología
Electrónica, etc.
(** Ingenierías mixtas **)
Por lo tanto, un ingeniero debe ser capaz de resolver problemas propios de su
especialidad. Algunos ejemplos de problemas por área de conocimiento son:
Ingeniería en computación/isi
Desarrollar una aplicación (app) que controle un dispositivo electrónico para
medir el ritmo cardíaco de las personas. Diseñar un programa para que un
robot móvil pueda reconocer objetos de una cocina.
Ingeniería en informática
Desarrollar un videojuego para la enseñanza de las matemáticas. Desarrollar
un sistema de inventarios para una clínica.
Ingeniería civil
Construir un tramo de una carretera. Diseñar y construir un puente vehicular.
Ingeniería mecánica
Diseñar una máquina para el ensamble de muebles. Diseñar una mano
mecánica que sirva como prótesis.
Tipos de problemas que resuelven los ingenieros

Prácticamente todos los problemas de física, química,


matemáticas, español, etc., Que se estudian en primaria,
secundaria y preparatoria, son aquellos en los que se pide
encontrar una respuesta, utilizando algún método o
procedimiento ya establecido.

Por ejemplo:
matemáticas: encontrar, ¿cuánto es 63 x 23?

Respuesta: 63 x 23 = 1449
Tipos de problemas que resuelven los ingenieros

Física: si un auto recorre 300 km a una velocidad de 80 km/hr,


¿cuánto tiempo le toma recorrer esa distancia?

Solución: usar la fórmula de la velocidad, v = d / t, donde


despejando el tiempo tenemos que t = d / v.

Respuesta: t = 300 km / 80 km/hr = 3.75 hrs.

Español: ¿cuál es el sujeto en la oración “el niño juega con la


pelota roja”?
Respuesta: “el niño”
Problema Respuesta

Procedimiento aprendido

• Aprender de memoria el Procedimiento


Pensamiento
mecánico
• Usar el procedimiento aprendido.
“En conclusión, los problemas que se piden resolver
en ingeniería (computación) son muy diferentes, ya
que normalmente NO se nos pide dar una respuesta,
sino que debemos encontrar la solución al problema”
Para entender cuál es la diferencia, vamos a representar
gráficamente el problema de matemáticas usando diagramas de
bloques:
DATOS SOLUCIÓN RESPUESTA
63
63 X23
--------
189 1449
23 126
--------
1449
Los problemas que se espera que un ingeniero pueda resolver
son aquellos en los que muy probablemente ya se conozca la
respuesta, pero no se sabe cuál es la solución. Es decir, no se
sabe cómo llegar a la respuesta.
DATOS SOLUCIÓN RESPUESTA

x
??? Conocida
y
Elementos de un problema
En general un problema tiene tres elementos que podemos identificar:
• Entrada(s): pueden ser datos, requerimientos o limitantes del problema.
• Solución: es el método o procedimiento a seguir que utiliza los datos de
entrada para encontrar la(s) respuesta(s).
• Salida(s): es la respuesta del problema.

DATOS SOLUCIÓN RESPUESTA

Entrada(s)
Proceso
Salida(s)
o Sol’n
Resolución de Problemas

Situación
Situación Objetivo
Inicial deseada

En otras palabras, la resolución de problemas es el diseño y ejecución (o


puesta en marcha), de un conjunto de pasos para alcanzar un
objetivo o meta.

Se dice que tenemos un problema cuando no es trivial u obvio cómo llegar a


ese objetivo. Hay que considerar que con la práctica, lo que es un problema
para unos, para otros ha dejado de serlo.
Definición Formal de un Problema

Se tiene un problema cuando se cumplen las siguientes cuatro condiciones:


1. Se tiene una situación inicial clara.

2. Se tienen una situación objetivo clara.

3. Se tiene un conjunto de recursos que pueden ayudar a alcanzar el objetivo.

4. Se tiene cierto involucramiento en el problema(compromiso).


Problemas Solubles e Irresolubles
Tener un problema bien definido NO implica que el problema pueda resolverse.
Por ejemplo:
Encuentre dos sustancias químicas, que no contienen átomos de oro, que si se
combinan y se calientan en un quemador Bunsen produzcan oro.
Los alquimistas han tratado de resolver ese problema por muchos años sin tener
éxito, por lo que se considera un problema irresoluble.
Cuando se tiene un problema bien definido debemos considerar tres
posibilidades:
El problema puede no tener solución
El problema puede tener exactamente una solución
El problema puede tener más de una solución
Optimización de problemas
Ciertos problemas se conforman con una “buena” solución, una buena
solución cumple con encontrar una solución que satisfaga los
requerimientos y que llegue a una solución válida.

Otros problemas, especifican encontrar la “mejor” solución, para


encontrar la mejor solución implica la optimización de algún recurso (por
ejemplo, el menor tiempo, el menor espacio en memoria, maximizar
ganancias, etc.).
METODOLOGÍA PARA LA RESOLUCIÓN DE PROBLEMAS

Estrategias: Reglas que pueden ayudar a resolver


problemas.
Metodología: Serie de pasos organizados y ordenados para la
resolución de un problema.
Metodología general: para cualquier tipo de problemas.
Enfocada a la resolución de problemas computacionales.
Metodología de Cuatro Fases

Fase 1: De Entendimiento:
• Análisis exhaustivo de la descripción del problema.
• Hacer todas las preguntas posibles para asegurarnos que
entendimos el problema.
• Identificar restricciones impuestas, entradas, salidas, recursos, etc.
Metodología de Cuatro Fases (continuación)

Fase 2: De diseño:
• Definir la solución, es decir, cómo vamos a resolver el problema.
• Usar experiencia y creatividad.
• Pensar problemas similares.
• Pensar estrategias de resolución.

Se puede decir que esta fase es la más importante para un ingeniero,


ya que es aquí donde se resuelve el problema.
Metodología de Cuatro Fases(cont.)

Fase 3: De Escritura
• Construir el sistema o programa que realice dicha solución.
Esta fase requiere de conocimientos técnicos, como:
✓ Lenguajes de programación
✓ Plataformas de desarrollo
✓ Sistemas operativos
✓ etc.
Metodología de Cuatro Fases(cont.)
Fase 4: De revisión
• Reflexión y análisis de la solución terminada.
• Cómo mejorar la solución
• Otras alternativas
En resumen:
1.- Entendimiento
2.- Diseño
3.- Escritura
4.- Revisión
Metodología para el Desarrollo de Software
(6 etapas)
1. Especificar los requerimientos del problema
2. Analizar el problema
3. Diseñar el algoritmo para resolver el problema
4. Implementar el algoritmo
5. Probar y verificar el programa realizado
6. Mantener y actualizar el programa
TABLA COMPARATIVA
Metodología para el Desarrollo de Metodología general Aplicación de la
Software (6 fases) (4 Fases) metodología
1. Especificar los requerimientos del 1. Fase de entendimiento Entender claramente
problema el problema.
2. Analizar el problema Identificar entradas,
procesos y salidas.
3. Diseñar el algoritmo para resolver el 2. Fase de Diseño Diseñar algoritmo
problema
4. Implementar el algoritmo 3. Fase de Escritura Seleccionar una
herramienta
5. Probar y verificar el programa realizado 4. Fase de revisión Desk checking
6. Mantener y actualizar el programa
PROBLEMA
Calcular y mostrar el costo total de la compra de manzanas dado
que nos proporcionan el número de kilos comprados y el costo por
kilo de manzanas.
Preguntas: ¿Qué son las manzanas?
¿Qué son los kilos?
¿Qué es el costo por kilo?
¿ Cómo se cálcula? ¿Hay alternativas?
Entradas Proceso/Solución Salida
- Cantidad de manzanas en kilos - Calcular el costo total
(kiloMz) costoTotalMz = kiloMz * costoKgMz - Costo total de las
- Costo por kilo de manzanas manzanas(costoTotalMz)
(costoKgMz)
Algoritmo
1. Iniciar
2. Definir el No. de Kg. De manzanas. (kiloMz).
3. Definir el precio por Kilo de manzana(costoKgMz).
4. Calcular el costo total de las manzanas (costoTotalMz)
costoTotalMz = costoKgMz * kiloMz
5. Entregar el costo total de las manzanas(costoTotalMz).
6. Fin
Diagrama de flujo
Start

kiloMz

costoKgMz

costoTotalMz = costoKgMz * kiloMz

CostoTotalMz

End
Proceso calcularCosto
Escribir “Cuántos kilos de manzana son:”;
Leer kiloMz;
Pseudocódigo Escribir “Cuál es el precio por kilogramo?”;
Leer costoKgMz;
costoTotalMz= costoKgMz * kiloMz;
Escribir “El costo total a pagar es:”, costoTotalMz;
FinProceso
Problema modelo
X día se compraron 5 Kg. de manzanas, con un
costo por kilogramo de $28.00, el pago total
realizado fue de $140.00

Algoritmo
checking
1. Iniciar
2. Definir el No. de Kg. De manzanas. (kiloMz = 5).
Desk

3. Definir el precio por Kilo de manzana(costoKgMz = 28).


4. Calcular el costo total de las manzanas (costoTotalMz)
costoTotalMz = costoKgMz * kiloMz
= 5 * 28
= 140
5. Entregar el costo total de las manzanas ➔ (costoTotalMz = 140)
6. Fin
Desk checking
Problema modelo Start
5
X día se compraron 5
Kg. de manzanas, con un kiloMz
costo por kilogramo de 28
$28.00, el pago total costoKgMz
realizado fue de
$140.00
costoTotalMz = 5 * 28 = 140

CostoTotalMz 140

End
Problema modelo Pseudocódigo
X día se
compraron 5
Desk checking
Kg. de
manzanas, con Proceso calcularCosto
un costo por Escribir “Cuántos kilos de manzana son:”;
kilogramo de Leer kiloMz; (5)
$28.00, el Escribir “Cuál es el precio por kilogramo?”;
pago total Leer costoKgMz; (28)
realizado fue costoTotalMz= costoKgMz * kiloMz = 5*28 = 140;
de $140.00 Escribir “El costo total a pagar es:”, costoTotalMz; (140)
FinProceso
Desarrollar las etapas de la solución
de problemas para cada uno de los
siguientes ejercicios:
1. Calcular el área de un triángulo.
2. Calcular un cierto porcentaje a una
cantidad.
3. Calcula el promedio de 3 cantidades.
OPERADORES ARITMETICOS___

Operador Operación Ejemplo


+ Suma 3+5 x + y
- Resta 10-3 a-b
* Multiplicación 5*3 a*b
/ División 10 / 3 x/z
% Módulo o residuo 10 % 3 a%c
^ Potencia 2^3 c^4 x^0.5
JERARQUIA DE LOS OPERADORES ARITMETICOS
1.- ^
2.- * / %
3.- +-
Ejemplos:

a) 2 + 3 * 5 ➔ 17 e) (2 + 3) * 5 ➔ 25

b) 4 – 10 / 5 ➔ 2 f) (4 – 10) / 5 ➔ -1.2

c) 20 / 5 * 2 ➔ 8 g) 20 / (5 * 2) ➔ 2

d) 20 / 5 / 2 ➔ 2 h) 20 / (5 / 2) ➔ 8
FUNCIONES MATEMÁTICAS
Función Definición
rc(x) o raíz(x) o 𝑛1/2 Raíz cuadrada de n → 𝑛
sen(n) Seno trigonométrico de n
cos(n) Coseno trigonométrico de n
tan(n) Tangente trigonométrico de n
asen(n) 𝑠𝑒𝑛𝑜−1 (𝑛), arco seno, seno inverso
acos(n) 𝑐𝑜𝑠 −1 (𝑛), arco coseno, coseno inverso
atan(n) 𝑡𝑎𝑛−1 (𝑛), arco tangente, tangente inversa
Ln(n) Logaritmo natural de n
Exp(n) Exponencial de n → 𝑒 𝑛
Trunc(n) Truncar n
Redon(n) Redondear n
Abs(n) Valor absoluto de n
IDENTIFICADORES
Son los nombres usados por el programador para representar ciertos
elementos en un programa.

Reglas para creación de identificadores


- Pueden estar formados por letras, números o el símbolo _ (guión bajo). No se
aceptan espacios ni caracteres extraños.
- El primer carácter debe ser una letra.
- Deben ser significativos.
- Si están formados por varias palabras, la primera será en minúsculas y cada
una de las restantes llevará su letra inicial en mayúsculas.
EJERCICIO
dolar1Peso ✓
Cuenta ✓
queTal ✓
hola! 
impuesto 2008 
1cuenta 
pagoNo23 ✓ 125areas 
gran_balance ✓ pago…Final 
$altura  altura$Mayor 
balance.anual  cuentaPerdida ✓
Ejercicios:
1.- El volumen de una esfera puede ser calculado por medio de la formula:
4 ∙ π ∙ 𝑟3
𝑉𝑒 =
3
Donde Ve es el volumen y r es el radio de la esfera respectivamente. Desarrollar
las etapas de solución de problemas para encontrar el volumen de una esfera.

2.- La altura de caída de un cuerpo en caída libre está dado por la formula:
ℎ = 1ൗ2 ∙ 𝑔 ∙ 𝑡 2
Donde h es la altura, g es la cte. de la aceleración de la gravedad y t es el tiempo
trascurrido en su caída. Desarrollar las etapas de solución de problemas para
encontrar el tiempo que tarda en llegar al suelo un objeto que se suelta desde
cierta altura.
Declaración de variables
Formato/sintaxis
Definir idVar1, idVar2, …, idVar_n como tipoDato ;
Tipos de datos Definición
Entero Número positivo/negativo sin decimales.
Real, Numero, Numero, positivo/negativo con/sin
Numerico decimales.
Logico Verdadero / Falso o V/F o 1/0
Caracter, cadena, Cero(vacía), uno o más caracteres.
texto
Ejemplos: Definir kgMz como entero ;
Definir costoKgMz, costoTotalMz como real ;
Definir sexo como caracter ;
Definir nombre como cadena ;
Definir aprobado como Logico ;
Comentarios:
Notas sobre el programa que no tienen efecto en la ejecución
del mismo.
// Este es un comentario
// Aquí se calcula el área
→ Buenas costumbres (Documentación):
Se recomienda colocar al inicio del código de un programa
algunos comentarios que describen el programa, es lo que se
llama documentación.

Sugerencia:
// Objetivo: Programa para calcular el precio de un producto.
// Autor: M.A.C.L.
// Fecha: 23/07/2025
// Nota(s): Se aplica un descuento expresado en porcentaje.
// Objetivo: Calcular la suma de 2 cantidades
// Autor: MACL
// Fecha: xx/xx/xxxx
// Notas: Cantidades sin decimales/enteras.
Proceso suma2
Definir cant1, cant2, suma como entero;
Escribir “Dame una cantidad: “;
Leer cant1;
Escribir “Dame otra cantidad: “;
Leer cant2;
// Aquí se calcula la suma
suma = cant1 + cant2;
Escribir cant1, “ + “, cant2, “ = “, suma;
FinProceso

También podría gustarte