Está en la página 1de 51

Algoritmo + Programa

Programación 1

Semana 2
CS1111 - Programming 1 Computer Science

1 Algoritmos

2
CS1111 - Programming 1 Computer Science

¿Qué es Computación?

input → → output

● ¿Cómo representamos la información en un computador?


○ 0y1
○ Binario

3
CS1111 - Programming 1 Computer Science

¿Qué es Computación?

input → → output

hoy veremos que hay en medio


de la entrada y salida
4
CS1111 - Programming 1 Computer Science

¿Qué es un algoritmo?

input → → output

● Un algoritmo es un conjunto de instrucciones y reglas a seguir.

5
CS1111 - Programming 1 Computer Science

Dibujar un cuadrado:

input → → output
● ¿Cuál es la secuencia de pasos a seguir para dibujar un cuadrado?

6
CS1111 - Programming 1 Computer Science

Dibujar un cuadrado:
Algoritmo:

(Empezando en (0,0)
1. Dibujar una línea hasta (200, 0)

7
CS1111 - Programming 1 Computer Science

Dibujar un cuadrado:
Algoritmo:

(Empezando en (0,0)
1. Dibujar una línea hasta (200, 0)
2. Dibujar una línea hasta (200, 200)
3. Dibujar una línea hasta (0, 200)

8
CS1111 - Programming 1 Computer Science

Dibujar un cuadrado:
Algoritmo:

(Empezando en (0,0)
1. Dibujar una línea hasta (200, 0)
2. Dibujar una línea hasta (200, 200)
3. Dibujar una línea hasta (0, 200)
4. Dibujar una línea hasta (0, 0)

9
CS1111 - Programming 1 Computer Science

Ejercicio 1:

Algoritmo:

(Empezando en (0,0)
1. Dibujar una línea hasta (100, 200)

?
2. Dibujar una línea hasta (200, 0)
3. Dibujar una línea hasta (0, 0)

10
CS1111 - Programming 1 Computer Science

Ejercicio 1:

Algoritmo:

(Empezando en (0,0)
1. Dibujar una línea hasta (100, 200)
2. Dibujar una línea hasta (200, 0)
3. Dibujar una línea hasta (0, 0)

11
CS1111 - Programming 1 Computer Science

Ejercicio 2:

Algoritmo:

(Empezando en (0,0)
1. Dibujar una línea hasta (100, 200)
2. Dibujar una línea hasta (200, 0)

?
3. Dibujar una línea hasta (0, 120)
4. Dibujar una línea hasta (200, 120)
5. Dibujar una línea hasta (0,0)

12
CS1111 - Programming 1 Computer Science

Ejercicio 2:

Algoritmo:

(Empezando en (0,0)
1. Dibujar una línea hasta (100, 200)
2. Dibujar una línea hasta (200, 0)
3. Dibujar una línea hasta (0, 120)
4. Dibujar una línea hasta (200, 120)
5. Dibujar una línea hasta (0,0)

13
CS1111 - Programming 1 Computer Science

Algoritmo

● Un algoritmo es un conjunto de instrucciones diseñadas para


realizar una tarea específica.

● Un algoritmo es una lista finita de instrucciones, que se utiliza


con mayor frecuencia para resolver problemas o realizar tareas.

● En matemáticas y ciencia de la computación, un algoritmo es


una secuencia finita de instrucciones bien definidas.

14
CS1111 - Programming 1 Computer Science

2 Programa

15
CS1111 - Programming 1 Computer Science

¿Qué es un programa?

input → → output

● Un programa es una secuencia de instrucciones, escritas para realizar una tarea


específica en una computadora.

16
CS1111 - Programming 1 Computer Science

Dibujar un cuadrado:
Algoritmo: Programa:

(Empezando en (0,0) from turtle import *


1. Dibujar una línea hasta (200, 0) goto(200, 0)
2. Dibujar una línea hasta (200, 200) goto(200, 200)
3. Dibujar una línea hasta (0, 200) goto(0, 200)
4. Dibujar una línea hasta (0, 0) goto(0, 0)

17
CS1111 - Programming 1 Computer Science

Dibujar un cuadrado:
Programa:

from turtle import *


goto(200, 0)
goto(200, 200)
goto(0, 200)
goto(0, 0)

18
CS1111 - Programming 1 Computer Science

Ejercicio 1
Programa:

1 from turtle import *


2
3 goto(100, 200)
4 goto(200, 0)
5 goto(0, 0)

19
CS1111 - Programming 1 Computer Science

Ejercicio 2:
Programa:

1 from turtle import *


2
3 goto(100, 200)
4 goto(200, 0)
5 goto(0, 120)
6 goto(200,120)
7 goto(0,0)

20
CS1111 - Programming 1 Computer Science

Programa

● Un programa se define comúnmente como un conjunto de


instrucciones, o un conjunto de módulos o procedimientos, que
permiten cierto tipo de operación de la computadora.

● La programación es el proceso de diseñar y construir un


programa de computadora ejecutable para lograr un resultado
de computación específico o para realizar una tarea específica.

● Un lenguaje de programación proporciona a una persona la


capacidad de escribir (o programar) una serie de instrucciones o
secuencias de órdenes en forma de algoritmos con el fin de
ejecutar determinadas tareas.

21
CS1111 - Programming 1 Computer Science

¿Qué veremos en este curso?

input → = + → output

22
CS1111 - Programming 1 Computer Science

3 Variables

23
CS1111 - Programming 1 Computer Science

¿Qué es una variable?


● Un valor con nombre, que potencialmente se puede cambiar a medida
que se ejecuta el programa.

valor

nomb
re
24
CS1111 - Programming 1 Computer Science

Una variable almacena diferentes tipos de datos

20 10.5 ‘a’

lnikoetsa averag section


e

25
CS1111 - Programming 1 Computer Science

Ejercicio 1

a
1100001

1 letra = ‘a’

letra

26
CS1111 - Programming 1 Computer Science

Ejercicio 2

18
00010010

1 edad = 18

edad

27
CS1111 - Programming 1 Computer Science

Ejercicio 3

18 19
00010010 00010011

1 edad = 18
2 edad = 19

edad

28
CS1111 - Programming 1 Computer Science

Ejercicio 4

1 edad = 18
2 edad = 19
3 edad = edad + 1
?
29
CS1111 - Programming 1 Computer Science

Ejercicio 4

18 19 20
00010010 00010011 00010100

1 edad = 18
2 edad = 19
3 edad = edad + 1

edad

30
CS1111 - Programming 1 Computer Science

¿Dónde se almacenan las variables?


● Las variables de un programa son almacenadas con la ayuda del Sistema
Operativo en la memoria RAM de un computador.

valor

nomb
re
VARIABLE MEMORIA RAM 31
CS1111 - Programming 1 Computer Science

Dirección de variable
● Cada variable es almacenada en una dirección de memoria

1 edad = 18

18
00010010

0x10d
539fb

edad
0x10d 0

edad
539fb
0

MEMORIA RAM 32
CS1111 - Programming 1 Computer Science

4 Expresiones

33
CS1111 - Programming 1 Computer Science

¿Qué es una expresión?


● Una expresión es una combinación de valores, variables, operadores y
llamadas a funciones.

1 minutes = 645
2 hours = minutes / 60
3 print(hours)

nomb
re
34
CS1111 - Programming 1 Computer Science

Operadores

Operador Nombre Ejemplo


+ Adición x+y

- Sustracción x-y

* Multiplicación x*y

/ División x/y

% Módulo x%y

** Exponenciación x ** y
nDivisión
ombrentera
//
e x // y

35
CS1111 - Programming 1 Computer Science

Ejercicio 1
Escribe un programa que permita al usuario calcular el valor de y cuando
y = x3 +4

36
CS1111 - Programming 1 Computer Science

Ejercicio 1
Escribe un programa que permita calcular el área de un cuadrado de lado a

a
37
CS1111 - Programming 1 Computer Science

Ejercicio 2
Escribe un programa que permita calcular el área de un círculo de radio r
ingresado por el usuario.

38
CS1111 - Programming 1 Computer Science

Ejercicio 3:
Desarrolle un programa que permita hallar el área total de la superficie cilíndrica y el volumen
de un cilindro circular recto, si se conocen las siguientes fórmulas:

At = Ab + Al
Ab = 2 𝜋r2
Al = 2𝜋rh
V = 𝜋r2h

Donde:
At : área total de la superficie cilíndrica
Ab : área de las bases
nomb
Al : área lateral
V : volumen
re
39
CS1111 - Programming 1 Computer Science

5 Quizz

40
CS1111 - Programming 1 Computer Science

Ejercicio 1
Escriba un programa que le pida al usuario que ingrese el ancho y el largo de una
habitación. Una vez leídos los valores, su programa debe calcular y mostrar el área de la
habitación.

#-----------------------------------------------
# Dato de Entrada: ancho (float), largo (float)
# Dato de Salida : area (float)
#------------------------------------------------

ancho = float( input("Ancho : "))


largo = float( input("Largo : "))
area = ancho * largo
print("El area de la habitacion es: %18.3f" % ( area))

nomb
re
41
CS1111 - Programming 1 Computer Science

Ejercicio 2:
Desarrolle un programa que permita hallar el área total de la superficie cilíndrica y el volumen
de un cilindro circular recto, si se conocen las siguientes fórmulas:

At = Ab + Al
Ab = 2 𝜋r2
Al = 2𝜋rh
V = 𝜋r2h

Donde:
At : área total de la superficie cilíndrica
Ab : área de las bases
nomb
Al : área lateral
V : volumen
re
42
CS1111 - Programming 1 Computer Science

Ejercicio 2:
Ejecución 1:

Radio : 50
Altura: 75

Area Total: 15707.96


Volumen : 589048.62

Ejecución 2:

Radio : 9
Altura: 12

Area Total: 508.94


Volumen : 3053.63

nomb
re
43
CS1111 - Programming 1 Computer Science

Solución:
#-----------------------------------------------
# Dato de Entrada: radio (float), altura (float)
# Dato de Salida: aTotal (float), volumen (float
#-------------------------------------------------
from math import pi

radio = float(input("Radio: "))


altura = float(input("Altura :"))
aTotal = 2 * pi * radio ** 2 + 2 *pi * radio * altura
volumen = pi * radio**2 * altura
print()
print("El area total es : %10.2f " % (aTotal))
print("El volumen es : %10.2f " %(volumen))

nomb
re
44
CS1111 - Programming 1 Computer Science

Solución:
#-----------------------------------------------
# Dato de Entrada: radio (float), altura (float)
# Dato de Salida: aTotal (float), volumen (float
#-------------------------------------------------
from math import pi

radio = float(input("Radio: "))


altura = float(input("Altura :"))
aTotal = 2 * pi * radio ** 2 + 2 *pi * radio * altura
volumen = pi * pow(radio,2) * altura
print()
print("El area total es : %10.2f " % (aTotal))
print("El volumen es : %10.2f " %(volumen))

nomb
re
45
CS1111 - Programming 1 Computer Science

Ejercicio 2:
Desarrolle un programa que permita hallar la suma de los dígitos de un número de 3 dígitos.

Ejecución 1:

Numero de 3 cifras : 345

La suma de los digitos es : 12

Ejecución 2:

Numero de 3 cifras : 876

La suma de los digitos es : 21


nomb
re
46
CS1111 - Programming 1 Computer Science

Solución:
# Dato de Entrada: numero (int)
# Dato de Salida : suma (int)
#----------------------------------

numero = int(input("Numero de 3 cifras: "))


unidades = numero % 10
decenas = numero // 10 % 10
centenas = numero // 100
suma = unidades + decenas + centenas
print()
print("La suma de los digitos es : ", suma)

47
CS1111 - Programming 1 Computer Science

Ejercicio 4:
Desarrolle un programa que permita convertir segundos a: días, horas, minutos y segundos.
El programa deberá mostrar el equivalente de los segundos utilizando el formato:
D:HH:MM:SS, donde D,HH,MM y SS representan los días, horas, minutos y segundos
respectivamente.
Las horas, minutos y segundos deberá formatearse de tal manera que solo ocupe exactamente
dos dígitos, incluyendo el 0 si es necesario.

Ejecución 1: Ejecución 2: Ejecución 3:

Segundos: 100000 Segundos: 230000 Segundos: 350

Equivale a: 1:3:46:40 Equivale a: 2:15:53:20 Equivale a: 0:0:5:50

nomb
re
48
CS1111 - Programming 1 Computer Science

Solución:
#-----------------------------------------
# Dato de Entrada: segundos (int)
# Dato de Salida: dd, hh, mm, ss (int)
#---------------------------------------

SEG_POR_DIA = 86400
SEG_POR_HORA = 3600
SEG_POR_MIN = 60

segundos = int(input("Segundos: "))


#----- se realizan los calculos
dd = segundos // SEG_POR_DIA
segundos = segundos % SEG_POR_DIA
hh = segundos // SEG_POR_HORA
segundos = segundos % SEG_POR_HORA
mm = segundos // SEG_POR_MIN
ss = segundos % SEG_POR_MIN
#----- imprimimos los resultados

nomb
print()

re
print("Equivale a: %d:%02d:%02d:%02d" % (dd, hh, mm, ss))

49
Computer Science
CS1111 - Programming 1

Resumen
● En matemáticas y ciencia de la computación, un algoritmo es una secuencia
finita de instrucciones bien definidas diseñadas que se utiliza con mayor
frecuencia para resolver problemas o realizar tareas.
● Un programa se define comúnmente como un conjunto de instrucciones , o un
conjunto de módulos o procedimientos, de un lenguaje de programación que
permiten cierto tipo de operación de la computadora.
● Una variable es un valor con nombre, almacena distintos tipo de datos en
Memoria RAM, y que potencialmente se puede cambiar a medida que se
ejecuta el programa.
● Un programa está compuesto de expresiones, que es una combinación de
valores, variables, operadores y llamadas a funciones.

50
Gracias
“There is no algorithm for
creativity”

- Andy Hargreaves

51

También podría gustarte