Está en la página 1de 26

Fundamentos de la

programación
Profesor: Daniel Salazar Mora - daniel.salazarmora@ucr.ac.cr
CI-0202 Principios de Informática
Escuela de Ciencias de la Computación e Informática
Universidad de Costa Rica

1
¿Qué es una computadora?
Una computadora es un dispositivo electrónico que permite almacenar y
manipular datos (e.g. laptops, teléfonos inteligentes, dispositivos IoT)

2
En la historia de Costa Rica…
Matilde fue la primera computadora en el país en 1968.

Más información en: Matilde UCR

3
¿Cuáles son los componentes de una
computadora?
Hardware -> Parte física Software -> Parte lógica

4
¿Qué es un programa?
Es un tipo de software que busca cumplir tareas.

Está escrito por humanos en un lenguaje de computación, y la computadora lo


lee en lenguaje máquina.

5
Lenguajes de computación
Se utilizan para construir programas.

Su propósito principal es el de facilitar el trabajo del programador.

Existen lenguajes de alto y bajo nivel.

6
Lenguajes de bajo nivel

Lenguaje máquina Lenguajes ensambladores


El lenguaje máquina son secuencias Utiliza comandos un poco más
de bits (1 y 0’s) para controlar al entendibles para los humanos como:
procesador. MOV, ADD, SUB…

Instrucciones traducidas que sólo Requiere de un compilador para que


las máquinas pueden entender. una computadora pueda ejecutar las
instrucciones.

7
Lenguajes de alto nivel
Diseñado para ser entendido por las personas.

Algunos son: Python, Java, R, Javascript…

Requieren de compiladores o interpretadores para que las computadoras


puedan entender las instrucciones dadas.

8
Traducción del código

Compilador Interpretador

Traduce el código completo antes de Traduce el código por partes


ejecutar el programa. mientras se ejecuta el programa.

Revisa y genera archivos No se generan archivos ejecutables.


ejecutables.
Analogía: Un interpretador de LESCO
Analogía: Un traductor que agarra un traduce al mismo tiempo que se está
libro de inglés y lo pasa a español hablando.
antes de que alguien lo lea.

9
Interacción de los lenguajes

10
Lenguajes de alto nivel: Paradigmas
Es el enfoque de programación usando
un determinado lenguaje de alto nivel.

Todos los lenguajes de alto nivel tienen


un paradigma.

Algunos son: funcional, imperativo,


orientado a objetos, lógico…

11
Python
Python es un lenguaje de alto nivel interpretado y minimalista.

Es multiparadigma pero principalmente utiliza el paradigma de programación


orientada a objetos.

Es uno de los lenguajes de programación más populares.

Algunos programas programados en Python son: Instagram, Spotify, Uber y


Netflix.

12
Resolución de
problemas

13
Proceso de resolución de problemas

14
Análisis
Es entender el problema y sus límites.

Se debe preguntar todo lo que no se sabe.

15
Diseño
Es dar una solución abstracta.

Existen distintas estrategias para


afrontar un problema y diseñar su
solución. Algunas son:

● Fuerza bruta (recomendable como


primer diseño pero no el final).
● Subproblemas
● Patrones
Ejemplo de estrategia en subproblemas.

16
Diseño de una solución
Algunas maneras para diseñar una
solución son:

● Algoritmos
● Pseudocódigo
● Diagramas (UML)

* El ejemplo proporcionado es de un diagrama para realizar una suma.


17
Diseño -> Pseudocódigo

Ejemplo de un pseudocódigo de suma de dos números


1. Pedir los números a sumar.
2. Revisar si son válidos.
3. Si no son válidos, volver al punto 1.
4. Si son válidos, se realiza la suma.
5. Se muestra el valor de la suma.

18
Diseño -> Algoritmo

Ejemplo de un algoritmo de suma de dos números

* El # en Python se utiliza para escribir comentarios. No es código como tal.


19
Diseño: Aspectos a considerar

Es importante tomar en cuenta muchos factores al diseñar una solución.


Algunos son:

● Simpleza: ¿Qué tan sencillo es la implementación del algoritmo?


● Claridad: ¿Qué tan clara es la solución?
● Eficiencia: ¿El algoritmo realiza su tarea de la mejor manera?
● Usabilidad: ¿Un usuario podría utilizar esta solución fácilmente?

20
Implementación
Es el código escrito que representa la solución al problema.

21
Pruebas
Probar la solución realizada para
determinar si el programa es
correcto.

Existen muchas estrategias para


realizar pruebas. Algunas son:

● Buscar valores inválidos


● Buscar valores en los límites
● Escoger un valor aleatorio

* Las pruebas son parte de la solución. Se suelen realizar al mismo tiempo que la implementación. No es recomendable
dejarlo hasta el final del proceso.
22
Resolvamos
algunos ejercicios

23
¿Cómo calcular el volumen de un cubo?

● La fórmula es l^3

R/ 1. Leer el valor del lado cómo la variable l


2. Si el valor de l es igual o menor a 0
3. Mostrar: “El valor del lado l no puede ser cero o
negativo”
4. Hacer la variable V igual a l * l * l (l^3)
5. Mostrar: “El valor del volumen del cubo es: la
variable V”

24
¿Cómo cambiar colones a dólares?

● Asumiendo el tipo de cambio de venta: $1 = ₡676

R/ 1. Leer el valor en colones como C


2. Si el valor de c es negativo
3. Mostrar: “El valor no puede ser negativo”
4. Hacer la variable D igual a C / 676
5. Mostrar: “En dólares, el valor sería: la variable D”

25
Referencias

Bellas, F. G., Unanue, R. M., & Fernández, V. D. F. (2016). Lenguajes de programación y procesadores. Editorial Centro de
Estudios Ramon Areces SA.

de Programación, L. (2009). Lenguajes de programación (Doctoral dissertation, ESCUELA SUPERIOR POLITECNICA DEL
LITORAL).

Imágenes: Flaticon.com y sitio oficial de la UCR.

J, Ramírez. “Fundamentos de la programación”, Material del curso CI-0202, Universidad de Costa Rica, 2022.

S, Hamer. “Fundamentos de la computación”, Material del curso CI-0202, Universidad de Costa Rica, 2022.

26

También podría gustarte