Introducción a la Programación
Ing. Boris Chiriboga
Facultad de Ingeniería Industrial, ULEAM
2019
Información
Políticas del Curso
Puntualidad
Prohibidos celulares
Se admiten laptops, tablets y netbooks sin conexión activa a Internet
Revisar periódicamente las noticias de la materia
Información
Evaluación Primer y Segundo Parcial
Concepto Ponderación ( %)
Puntualidad 20
Actividad grupal 20
Lecciones 30
Examen 30
Información
Bibliografía Básica
Fundamentos de Programación
Luis Joyanes Aguilar
Canales varios
YouTube
Información
Programa de Estudios 1er Parcial
UC1 INGRESO/SALIDA DE DATOS, ASIGNACION:
Introducción, ingreso y salida de datos, operador de asignación,
operadores matemáticos
UC2 CONTROL DE FLUJO: Condicionales (simple, compuesta,
anidadas), operadores lógicos (and, or)
UC3 ESTRUCTURAS REPETITIVAS: Lazos Para y Mientras, lazos
anidados
Información
Programa de Estudios 2do Parcial
UC4 FUNCIONES: Declaración, componentes, uso de funciones,
concepto de modularidad
UC5 ESTRUCTURAS DE DATOS: Declaración y llenado de
arreglos, recuperación de elementos
Información
¾Por qué aprender a programar?
Temo del día en que la tecnología supere a la interacción humana. El mundo
tendrá una generación de idiotas.
Albert Eintein
Todo el mundo debería aprender a programar un ordenador, porque te enseña
a pensar.
Steve Jobs
Enlace recomendado:
https://www.youtube.com/watch?v=Qhn48RekQeg
Información
Todo lo que estudio lo puede hacer una computadora..
Creer que una persona que usa los paquetes de software sin el adecuado
conocimiento de los fundamentos puede practicar ingeniería, es como
pensar que cualquiera que manipule una llave puede trabajar como
mecánico automotriz. Si fuera cierto que los estudiantes de ingeniería no
necesitan todos los cursos que toman porque es posible hacer casi todo con
las computadoras fácil y rápidamente, entonces también sería verdad que
los empleadores ya no necesitarían ingenieros con salarios altos puesto que
cualquier persona que utilice un navegador también puede aprender como
usar paquetes complejos de software.
Tomado de Termodinámica de Cengel
Información
¾Para qué estudio tanto?
Quién sabe el cómo, siempre tendrá trabajo; quién sabe el por qué, siempre
será su jefe.
Anónimo
Software a utilizar
PseInt
Recomendado para personas que empiezan a estudiar programación
Rápido y liviano
Abierto y multiplataforma
Gratis
Software a utilizar
GUI de PseInt
Descargar desde:
http://pseint.sourceforge.net/
Escoja la versión correcta para su sistema operativo!
Algoritmos
Algoritmos
Un algoritmo es una secuencia de pasos lógicos necesarios para llevar a
cabo una tarea especíca
Tiene ciertas propiedades:
1 Debe terminar después de un número nito de pasos
2 Las operaciones no deben ser ambiguas
3 Tiene cero o más entradas
4 Tiene una o más salidas
5 Las operaciones deben ser básicas
Algoritmos
Algoritmo para llevar a la novia al cine
Llamar a la novia e invitarla
Darse una ducha
Ponerse papelito
Pedirle billete al viejo
Llamar al pana taxista para que la carrera salga barata
Recoger a la novia y aguantar el sermón de la mamá
Comprar las entradas
Ver la película
Algoritmos
Formas de expresar un algoritmo
Seudocódigo.- Declaración verbal de las acciones a realizar
Diagrama de ujo.- Expresión gráca de los pasos a seguir
Usaremos seudocódigo por ser más adecuado a los contenidos del curso
Ingreso y Salida de Datos
Inicio y n de un algoritmo
Todas las órdenes que se dan al computador se escriben entre las
palabras reservadas Algoritmo y FinAlgoritmo
PseInt se encarga de colocar dichos delimitadores por nosotros, de ser
necesario se le puede dar un nombre al procedimiento
Ingreso y Salida de Datos
Salida de datos
La instrucción Escribir x, muestra en pantalla el valor de x
Las cadenas de caracteres se escriben entre comillas dobles (" ")
Escriba en el editor lo siguiente:
Para ejecutar un algoritmo presione o la tecla F9
Ingreso y Salida de Datos
Ingreso de datos
El comando Leer x, sirve para ingresar datos por teclado
Esta instrucción espera que el usuario escriba un dato y luego de
presionar Enter ( ) graba dicho dato en la variable llamada x
Escriba y ejecute paso a paso ( F5 )en el editor:
Ingreso y Salida de Datos
Mostrando varios datos juntos
Si queremos mostrar más de una variable o cadena de caracteres, las
separamos con una coma
Escriba y ejecute en el editor:
1 Algoritmo Saludo
2 Escribir " Ingrese su nombre : "
3 Leer x
4 Escribir " Hola " , x
5 FinAlgoritmo
Ingreso y Salida de Datos
Procesos internos
Por lo general, la computadora realiza operaciones con los datos que se
le brindan
Para simbolizar la asignación de un resultado a una variable usaremos
el símbolo <-. Por ejemplo, c<-a+b signica que c toma el valor
correspondiente a la sumatoria de a y b
Escriba y ejecute en el editor:
1 Algoritmo Suma
2 Escribir " Ingrese un n ú mero : "
3 Leer a
4 Escribir " Ingrese otro n ú mero : "
5 Leer b
6 c <- a + b
7 Escribir " La suma es " , c
8 FinAlgoritmo
Ingreso y Salida de Datos
Principales funciones matemáticas en PseInt
Función Función
matemática Formato matemática Formato
sin x sen(x) tan−1 x atan(x)
√
cos x cos(x) x rc(x)
tan x tan(x) ln x ln(x)
sin−1 x asen(x) ex exp(x)
cos−1 x acos(x) ı pi
azar(x) devuelve un entero aleatorio entre 0 y x-1
aleatorio(a,b) produce un entero aleatorio en el rango [a,b]
Para una descripción detallada las funciones matemáticas de PseInt
consulte:
Ayuda Indice Expresiones Funciones
Ingreso y Salida de Datos
Ejercicio
Escriba un programa que solicite un valor al que se llamará x, con dicho
valor calcule f = x 2 · ln x y luego muestre el valor de f.
Ingreso y Salida de Datos
Para consulta
Investigar, entender y practicar el uso de las funciones para manejo de
caracteres que provee PseInt:
Longitud
SubCadena
Concatenar
Mayusculas
Minusculas
ConvertirANumero
ConvertirATexto
Material exigible para tareas, lecciones y exámenes
Ingreso y Salida de Datos
Prioridad de los operadores
Los operadores matemáticos no tienen la misma prioridad
Las operaciones se ejecutan en el siguiente orden:
1 Potenciación (^)
2 Multiplicación y división (*,/)
3 Suma y resta (+,-)
Si existen dos operadores de la misma prioridad en un comando, se
ejecutan de izquierda a derecha
Los paréntesis son muy útiles para escribir correctamente una fórmula,
no dude en utilizarlos
Ingreso y Salida de Datos
Mucho cuidado½½
3
25 → 2^(3/5)
23
→ 2^3/5
5
5+3
→ (5+3)/2
2
3
5+ → 5+3/2
2
3·8·2
→ 3*8*2/5
5
3·8
→ 3*8/(2*5)
2·5
Ingreso y Salida de Datos
Ejercicio
La altura de un objeto en movimiento vertical está dada por
1 2
z = v0 t − gt
2
donde z es la altura del objeto en función del tiempo t , v0 es la velocidad
inicial en t =0 y g es la aceleración de la gravedad. Escribir un algoritmo
que solicite al usuario los datos t; v0 ; g y muestre la altura del objeto.
Ingreso y Salida de Datos
Variables lógicas
Aparte de números y texto(cadenas), existe el tipo de dato lógico
Unicamente puede tomar dos valores: Verdadero o Falso
1 Algoritmo Datos_Logicos
2 a <- Falso
3 b <- Verdadero
4 Escribir " La variable a tiene el valor " , a
5 Escribir " La variable b tiene el valor " , b
6 FinAlgoritmo
Ingreso y Salida de Datos
Operadores de comparación en PseInt
Suponga que a = 10 y b = 20
Símbolo Operador
Ejemplo
matemático en PseInt
= = (a=b) es falso
6= <> (a<>b) es verdadero
> > (a>b) es falso
< < (a<b) es verdadero
≥ >= (a>=b) es falso
≤ <= (a<=b) es verdadero
Estructuras condicionales
Estructuras de selección
No todos los problemas pueden resolverse empleando estructuras
secuenciales
Las estructuras condicionales se utilizan cuando es necesario tomar
decisiones
Estas estructuras verican un requisito es verdadero, de ser así
realizan alguna acción
Estructuras condicionales
Condicional simple
Piense en una decisión de esta forma:
Si se cumple algo
Hago esto
Escriba y ejecute el siguiente código en el editor:
1 Algoritmo Mayor_de_edad
2 Escribir " Cu á ntos a ñ os tiene ? "
3 Leer edad
4 Si edad >= 18 Entonces
5 Escribir " Ud es mayor de edad "
6 FinSi
7 FinAlgoritmo
La sangría dentro de la condicional es recomendable por legibilidad del
código
Estructuras condicionales
Condicional doble
También es posible hacer algo cuando la condición NO se cumple. Piense
en esta estructura así:
Si se cumple algo
Hago esto
Si no se cumple
Hago lo de acá
Escriba y ejecute el siguiente código en el editor:
1 Algoritmo Zanahoria
2 Escribir " Cu á ntos a ñ os tiene ? "
3 Leer edad
4 Si edad >= 18 Entonces
5 Escribir " Ud es mayor de edad "
6 Sino
7 Escribir " No puede consumir alcohol "
8 FinSi
9 FinAlgoritmo
Estructuras condicionales
Ejercicio
Escriba un programa que muestre el inverso de un número x, donde x es un
dato ingresado por el usuario. El código debe incluir un mensaje de error en
caso que el usuario ingrese el número cero (1/0=???).
Estructuras condicionales
División entera y módulo
La división entera y la operación módulo son dos instrucciones muy
útiles en todos los lenguajes de programación
Suponga que tiene la siguiente división:
20 6
(2) 3
La instruccióntrunc(x) entrega la parte entera de x mientras que el
comando a mod b entrega el residuo de la división a/b
Remitiéndonos al ejemplo:
trunc(20/6) = 3
20 mod 6 = 2
Estructuras condicionales
Ejercicio
Se ingresa por teclado un número positivo de uno o dos dígitos (1 hasta
99). Mostrar en un mensaje cuántos dígitos tiene el número que se ingresó.
Utilice trunc() o mod.
Estructuras condicionales
Ejercicio
Escriba un programa que recepte un número x, y luego indique si el número
ingresado es par o impar.
Estructuras condicionales
Más de 2 opciones: comando Si anidado
Piense en esta estructura así:
Si se cumple algo
Hago esto
Sino
Si se cumple otra cosa
Hago lo de acá
Sino
Hago esto último
Se pueden anidar cuantos Si-Sino-FinSi se necesiten
Estructuras condicionales
Si anidado
Escriba y ejecute el siguiente código en el editor:
1 Algoritmo Adulto_mayor
2 Escribir " Ingrese su edad : "
3 Leer edad
4 Si edad >= 65 Entonces
5 Escribir " Por su salud no consuma alcohol "
6 SiNo
7 Si edad < 18
8 Escribir " Ud no puede consumir alcohol "
9 SiNo
10 Escribir " Consuma alcohol con moderaci ó n "
11 FinSi
12 FinSi
13 FinAlgoritmo
Estructuras condicionales
Operaciones lógicas
A veces, es necesario examinar varias condiciones antes de realizar
alguna operación
En éste curso estudiaremos las tres operaciones lógicas fundamentales:
Multiplicación lógica (AND)
Suma lógica (OR)
Negación (NOT)
Las variables lógicas sólo pueden tomar dos valores: Verdadero o Falso
Estructuras condicionales
Operación AND (multiplicación lógica)
A veces, se deben cumplir varias condiciones al mismo tiempo para
poder ejecutar alguna instrucción
La operación AND es verdadera cuando se cumplen TODOS los
requisitos que la componen, de lo contrario, su resultado es falso
Piense en esta estructura así:
Si se cumple esto Y también lo de acá
Hago esto
Sino
Ejecuto lo de aquí
Representaremos la multiplicación lógica con la letra Y colocada entre
las condiciones que se quieren evaluar
Estructuras condicionales
Operación AND (multiplicación lógica)
Escriba y ejecute el siguiente código en el editor:
1 Algoritmo Aprobaci ó n
2 Escribir " Promedio ? "
3 Leer p
4 Escribir " % de asistencia ? "
5 Leer a
6 Si p >= 7 Y a >= 75 Entonces
7 Escribir " Alumno aprobado "
8 SiNo
9 Escribir " Alumno reprobado "
10 FinSi
11 FinAlgoritmo
Una operación AND puede tener 2 o más condiciones
Estructuras condicionales
Ejercicio
Escriba un programa que solicite al usuario un número x . Luego debe mostrar
la palabra Bingo si dicho número se encuentra entre 100 y 200.
Estructuras condicionales
Operación OR (suma lógica)
En ciertos casos, se revisan varias condiciones al mismo tiempo y
basta que se cumpla por lo menos una de ellas para poder continuar la
ejecución
La operación OR es verdadera cuando se cumple POR LO MENOS
UNO de los requisitos que la componen, de lo contrario, su resultado
es falso
Piense en esta estructura así:
Si se cumple esto O lo de aquí
Hago esto
Sino
Ejecuto estas instrucciones
Representaremos la suma lógica con la letra O escrita entre las
condiciones que se quieren analizar
Estructuras condicionales
Operación OR (suma lógica)
Escriba y ejecute el siguiente código en el editor:
1 Algoritmo Reprobado
2 Escribir " Promedio ? "
3 Leer p
4 Escribir " % de asistencia ? "
5 Leer a
6 Si p < 7 O a < 75 Entonces
7 Escribir " Alumno reprobado "
8 FinSi
9 FinAlgoritmo
Una operación OR puede tener 2 o más condiciones
Estructuras condicionales
Ejercicio
Escriba un programa que solicite al usuario un número x . Luego debe mostrar
la palabra Bingo si dicho número está fuera del intervalo [0, 100].
Estructuras condicionales
Operación NOT (negación lógica)
La negación cambia el valor de una variable lógica
Se representa con la palabra NO seguida de la variable a negar
1 Algoritmo Negacion
2 a <- Verdadero
3 b <- No a
4 Escribir " Si algo es " ,a , " lo opuesto es " ,b
5 FinAlgoritmo
Escoger nombres adecuados para variables lógicas facilita mucho
trabajar con la negación: estaAprobado, esBlanco, miembroDeClub,
etc.
Estructuras repetitivas
Cuando en la repetición NO está el gusto!
Estructuras repetitivas
Estructuras repetitivas
Las computadoras son excelentes repitiendo instrucciones
Una estructura repetitiva permite ejecutar determinada(s)
instrucción(es) varias veces
También se las llama lazos o bucles
Estudiaremos las dos estructuras más importantes:
1 FOR: Se usa cuando se conoce cuántas veces se debe repetir cierta(s)
operación(es)
2 WHILE: La usaremos cuando NO se conozca cuántas veces se debe
repetir un cálculo
Estructuras repetitivas
Lazo for
La instrucción Para ejecuta una secuencia de instrucciones un número
jo de veces
Piense en el lazo de esta forma:
Para todos los elementos de un rango
Hago esto con cada elemento
Escriba y ejecute el siguiente código en el editor:
1 Para i desde 1 hasta 10 hacer
2 Escribir i
3 FinPara
Estructuras repetitivas
Opciones del lazo for
Se pueden especicar decrementos en los límites del rango, como se ve
en el siguiente código:
1 Para i desde 10 hasta 1 hacer
2 Escribir i
3 FinPara
Los incrementos/decrementos pueden ser distintos de uno:
1 Para i desde 0 hasta 20 Con paso 3 hacer
2 Escribir i
3 FinPara
Estructuras repetitivas
Ejercicio
En matemáticas, las sumatorias son estructuras muy utilizadas. Escriba un
algoritmo que solicite al usuario un número N y luego muestre la sumatoria
1 + 2 + 3 + 4 + ::: + N , es decir,
N
X
i
i=1
Estructuras repetitivas
Ejercicio
Si se cuenta con una temperatura C, expresada en grados centígrados, se la
puede transformar a grados Fahrenheit mediante la relación
9
F = C + 32
5
Escriba un programa que muestre una tabla con la primera columna
representado temperaturas Celsius entre 0 y 100 grados, variando de 5 en 5
y en la segunda columna su correspondiente temperatura en grados
Fahrenheit.
Estructuras repetitivas
Ejercicio
Escriba un algoritmo que reciba un valor n y muestre la sucesión
10 ; 21 ; 32 ; 43 ; :::; nn−1 . Ejemplo: Si el usuario ingresa el número 5, el
programa debe mostrar 1, 2, 9, 64 y 625.
Estructuras repetitivas
Ejercicio
Confeccionar un programa que permita cargar un número entero positivo de
tres cifras y luego muestre el producto de los dígitos del número ingresado.
Por ejemplo, si el usuario ingresa el número 385, el resultado mostrado debe
ser 3*8*5=120.
Estructuras repetitivas
Ejercicio
Escriba un programa que reciba un número de cuatro dígitos y luego lo
muestre al revés. Por ejemplo, si el usuario ingresa el número 1234, el
programa devuelve el resultado 4321.
Estructuras repetitivas
Ejercicio
Escriba un programa que solicite n números al usuario y luego muestre
cuántos de ellos fueron mayores que 100.
Estructuras repetitivas
Ejercicio
Escriba un programa que solicite dos variables: alto y ancho y luego dibuje
un rectángulo lleno de asteriscos con las medidas anchoÖalto. Por ejemplo
si alto = 4 y ancho = 3, se debe dibujar lo siguiente en pantalla:
***
***
***
***
Utilice la instrucción Escribir sin saltar disponible en PseInt.
Estructuras repetitivas
Lazo while
La instrucción Mientras ejecuta una secuencia de instrucciones
mientras se cumpla(n) cierta(s) condición(es)
Piense en un lazo Mientras de esta forma:
Mientras esto sea cierto
Ejecuto éstas órdenes
Escriba y ejecute el siguiente código en el editor:
1 i <-1
2 Mientras i <= 10 Hacer
3 Escribir i
4 i <-i +1
5 FinMientras
Estructuras repetitivas
Ejercicio
Realice un algoritmo que solicite números al usuario y termine el programa
cuando la suma de los números ingresados sea mayor a 1000.
Estructuras repetitivas
Ejercicio
Escriba un algoritmo que solicite al usuario un número. Si el dato ingresado
es el 13 se debe mostrar la palabra Bingo y terminar el programa, caso
contrario se debe seguir solicitando números.
Estructuras repetitivas
Ejercicio
Una planta que fabrica perles de hierro posee un lote de n piezas.
Confeccionar un algoritmo que pida ingresar por teclado la cantidad de
piezas a procesar (n) y luego ingrese la longitud de cada perl. Si, mientras
se está ingresando los datos el algoritmo detecta que más del 25 % de los
perles tienen una longitud menor a 1.2 metros, se debe mostrar
inmediatamente Lote rechazado y terminar el ingreso de datos, caso
contrario se debe mostrar el promedio de longitud de los perles cuando se
termine el ingreso de datos.
Estructuras repetitivas
Ejercicio
Diseñe un algoritmo que encuentre tres números consecutivos cuya suma sea
69. Ojo: su algoritmo debe encontrar los números½
Funciones
Funciones
Una función es un mini programa que realiza una tarea especíca y
puede devolver un valor
Ayudan a descomponer grandes problemas en tareas simples y reducen
la cantidad de código
Cuando se llama a una función, se le pasa el control del programa, y
cuando termina su tarea, ésta devuelve el control al punto donde fue
llamada
Argumento 1
Argumento 2 ...
... FUNCIÓN Resultado
...
Argumento n
Funciones
Funciones en PseInt
La sintaxis para crear funciones es así:
Funcion resultado <- nombre_funcion(arg1,arg2,...,argn)
Intrucciones para ejecutar
resultado <- Valor que se devuelve
FinFuncion
Para usar una función, sólo se escribe su nombre y dentro de los
paréntesis se envían los parámetros correspondientes
Funciones
Funciones en PseInt
Escriba y ejecute el siguiente código en el editor:
1 Funcion resultado <- sumatoria (a , b )
2 resultado <- a + b
3 FinFuncion
4
5 Algoritmo Uso_de_funciones
6 Escribir " Ingrese un n ú mero : "
7 Leer a
8 Escribir " Ingrese otro n ú mero : "
9 Leer b
10 c <- sumatoria (a , b )
11 Escribir " La suma es " , c
12 FinAlgoritmo
Funciones
Descomposición de un problema
Algoritmo Descomposicion
Escribir " Cuantas columnas desea ? "
Leer nColumnas
Escribir " Cuantas lineas desea ? "
Leer nLineas
Para i desde 1 hasta nColumnas Hacer
Escribir Sin Saltar " X "
FinPara
Escribir " "
Para i desde 1 hasta nLineas Hacer
Para j desde 1 hasta i Hacer
Escribir Sin Saltar " * "
FinPara
Escribir " "
FinPara
Para i desde 1 hasta nLineas Hacer
Para j desde 1 hasta nColumnas Hacer
Escribir Sin Saltar " # "
FinPara
Escribir " "
FinPara
FinAlgoritmo
Funciones
Ejercicio
Se desea que un programa lea una temperatura en grados centígrados y
luego brinde al usuario la posibilidad de transformar a grados Fahrenheit o
Kelvin. Escriba dicho programa utilizando funciones para realizar la
transformación solicitada (llamar a la función correspondiente a la hora de
realizar la transformación).
Funciones
Ejercicio
Escriba un algoritmo que encuentre el factorial de un número. Recuerde que
el factorial de un número n, simbolizado con n! es el producto de los números
desde 1 hasta n y además 0! = 1. Notar también que el factorial no está
denido para enteros negativos. Analice las funciones recursivas junto con el
profesor.
Funciones
Ejercicio
El número de Euler, e ≈ 2:71828 : : : , puede ser representado como la
siguiente suma innita:
1 1 1 1 1
e= + + + + + :::
0! 1! 2! 3! 4!
Desarrolle un programa que entregue un valor aproximado de e, usando 20
términos de la suma innita.
Estructuras de datos
Arreglos
Los arreglos son estructuras de datos que permiten almacenar varios
elementos bajo un mismo identicador
Podemos pensar en los arreglos como vectores o matrices
2 3
h i 8:0 5:6 7:4
sueldos = 500 340 400 600 notas = 49:2 7:8 8:55
6 7
5:8 6:7 7:3
Para poder usar un arreglo primero es necesario crearlo con la instrucción
Dimensión nombre_arreglo(num1,num2,...,numn)
en donde la variable numi indica el número de elementos que tendrá el
arreglo en la dimensión i
Estructuras de datos
Arreglos
Por ejemplo, las instrucciones:
Dimensión sueldos(4)
Dimensión notas(3,3)
crean un vector de 3 elementos llamado sueldos y una matriz de 3
las y 3 columnas llamada notas, respectivamente
Suponiendo que se han creado y cargado los arreglos mostrados:
2 3
h i 8:0 5:6 7:4
sueldos = 500 340 400 600 notas = 49:2 7:8 8:55
6 7
5:8 6:7 7:3
sus elementos se recuperan con los índices correspondientes, por
ejemplo:
sueldos(3) se reere a 400 y notas(3,2) apunta a 6.7
Estructuras de datos
Arreglos
Escriba y ejecute en el editor lo siguiente:
1 Algoritmo Arreglos
2 Dimension vector (5)
3 Para i desde 1 hasta 5 hacer
4 Escribir " Ingrese elemento : "
5 Leer vector ( i )
6 FinPara
7 Escribir " Ud ingreso el vector "
8 Para i desde 1 hasta 5 Hacer
9 Escribir vector ( i )
10 FinPara
11 FinAlgoritmo
Estructuras de datos
Ejercicio
Escribir un algoritmo que solicite al usuario la altura de n personas y guarde
los datos en un vector. Calcular el promedio e informar cuantas personas son
más altas que el promedio.
Estructuras de datos
Ejercicio
Escribir un algoritmo que solicite n números a ser guardados en un vector y
luego los muestre ordenados de menor a mayor.
Estructuras de datos
Ejercicio
Escribir un algoritmo para cargar una matriz de 3 las por 3 columnas. Luego
de haber sido cargada, imprimir la diagonal principal.
Estructuras de datos
Ejercicio
A partir de una matriz de 3 las por 4 columnas imprima la primera la,
imprima la última la e imprima la primera columna.