
# Fundamentos De la Programación

---

## Bases

---

## ¿Qué es un algoritmo?

> “una serie de **pasos organizados** que describen el **proceso** que se debe seguir para dar **solución a un problema específico**”

Oviedo Fadul, 2004

notes: 
- Los algoritmos pueden ser representados de forma gráfica o con pseudocódigo.
- Los algoritmos deben ser lógicos, explícitos y exhaustivos.
- Deben tener un inicio y un final.

---

## Partes de un algoritmo

|         |                                                   |
| ------- | ------------------------------------------------- |
| Input   | Datos requeridos para que el algoritmo se ejecute |
| Proceso | Operación lógica de instrucciones                 |
| Output  | Datos producidos por el proceso, resultado final  |

notes:
- los datos es la información relevante
- El proceso se encarga de transformar el input en output

---

## Resolución de problemas

Norma tiene en su negocio 5482 libretas. Cuando comienza el año escolar vende 254 docenas de libretas. ¿Cuántas libretas quedan sin vender en el negocio de Norma?

---

## Resolución de problemas

+ Entrada: Norma tiene 5482 libretas
+ Salida: Libretas restantes en el negocio
+ Proceso: Restar 254 * 12 libretas a la entrada
+ Salida real: 2434 libretas

notes: Operación real: `5482 - (254 * 12) = 5482 - 3048 = 2434`

---

## Diagramas de flujo

Son gráficos similares a _"mapas conceptuales"_, los cuales nos permiten representar de manera visual, sencilla y no técnica algoritmos. 

notes:
- mapa conceptual: agrupa conceptos sin un orden especifico.
- diagrama de flujo: tiene una dirección en la que fluyen las instrucciones.

---

## Ejemplo diagrama de flujo

```mermaid
flowchart TD
	start([Inicio]) ---> entrada1[/ 5482 libretas /]
	entrada1 --> proceso1(Restar 254 * 12 libretas)
	proceso1 --> salida1[/ 2434 libretas /]
	salida1 --> finish([Fin])
```

notes:
- [lista de símbolos](https://www.lucidchart.com/pages/es/simbolos-comunes-de-los-diagramas-de-flujo)

---

## Ejercicios


notes:
- [Contador de 1-50, números pares y caja con factura](https://drive.google.com/file/d/1D3DjW7ErHPLtnvvGFhSEgdOgUfz8Q-CR/view?usp=drive_link)
- [Calculo de sueldos](https://drive.google.com/file/d/1L0qSfKjTxnJnzARlyh1vwzft2-ThIzsF/view?usp=drive_link)

---
## Ejercicio 01

Desarrollar un diagrama de flujo paras determinar la suma de los primeros 50 números enteros positivos (desde cero a 49)

---

## Ejercicio 02

Crear diagrama de flujo que determine si un número N ingresado por teclado es par.

---

## Ahora te toca a ti

![](Pasted%20image%2020240515122605.png)

---
## Ejercicio 03

Crear un diagrama de actividad de recepción y despacho de pedido con cobro de factura.

---

## Fin :3
