Ciencias de la Computación
Laboratorio: Fundamentos de Programación
Aplicación de Funciones, Procedimientos, Estructuras de Control y Colecciones de
Datos
Nivel: Básico → Intermedio → Avanzado
Indicaciones:
1. Realizar la resolución de cada ejercicio en un archivo de Python
2. Copiar el código de cada archivo en un solo documento de Word
3. Subir el archivo Word con el código de cada ejercicio
4. El nombre del archivo debe ser: laboratorio_apellido.pdf
Objetivos de Aprendizaje
Al finalizar este laboratorio el estudiante será capaz de:
• Crear y utilizar funciones y procedimientos.
• Aplicar estructuras condicionales y repetitivas.
• Manipular tipos de datos básicos:
• Manipular estructuras de datos:
• Aplicar técnicas de slicing y stride.
• Resolver problemas mediante programación modular.
Ejercicio 1: Calcular Área de un Rectángulo
Problema
Un arquitecto necesita calcular rápidamente áreas de diferentes habitaciones,
Los datos se solicitan al usuario
Resultado esperado
Base: 10
Altura: 5
Área = 50
Desarrollar
Crear una función:
calcular_area(base, altura)
Fundamentos de Programación 1|9
Ciencias de la Computación
Ejercicio 2: Contador de Vocales
Problema
Determinar cuántas vocales contiene una palabra.
Resultado esperado
Entrada:
Programacion
Salida:
5 vocales
Desarrollar
Utilizar:
• for
• if
PARTE II - CADENAS, SLICING Y STRIDE
Ejercicio 3: Extraer Primeros Caracteres
Problema
Mostrar únicamente los primeros 5 caracteres de una cadena que el usuario ingresa
Resultado esperado
PythonProgramador
Salida:
Pytho
Desarrollar usando
funciones
texto[:5]
Ejercicio 4: Extraer Últimos Caracteres
Problema
Mostrar los últimos 4 caracteres de una cadena que el usuario ingresa
Resultado esperado
Fundamentos de Programación 2|9
Ciencias de la Computación
PythonProgramador
Salida:
ador
Aplicar
funciones
texto[-4:]
Ejercicio 5: Mostrar Caracteres Alternos
Problema
Mostrar únicamente caracteres ubicados en posiciones pares.
Resultado esperado
PythonProgramador
Salida:
PtoPormdr
Aplicar
texto[::2]
Ejercicio 6: Ocultar Información Sensible
Problema
Mostrar únicamente los últimos cuatro dígitos de una tarjeta del usuario
Resultado esperado
1234567812345678
************5678
Aplicar slicing.
Fundamentos de Programación 3|9
Ciencias de la Computación
PARTE III - LISTAS
Ejercicio 7: Suma de Elementos
Problema
Calcular la suma total de una lista.
Resultado esperado
[10,20,30,40]
Total = 100
Crear función
sumar_lista(lista)
Ejercicio 8: Buscar el Mayor Número
Problema
Encontrar el número más grande de una lista.
Restricción
No utilizar: max()
Resultado esperado
[5,20,15,30,8]
Mayor = 30
Ejercicio 9: Separar Pares e Impares
Problema
Clasificar los números de una lista.
Resultado esperado
Lista:
[1,2,3,4,5,6]
Pares:
[2,4,6]
Impares:
[1,3,5]
Fundamentos de Programación 4|9
Ciencias de la Computación
Ejercicio 10: Eliminar Duplicados
Problema
Eliminar valores repetidos.
Resultado esperado
[1,2,2,3,4,4,5]
[1,2,3,4,5]
Aplicar conjuntos (set).
PARTE IV - TUPLAS Y DICCIONARIOS
Ejercicio 11: Agenda Telefónica
Problema
Buscar el número de teléfono de una persona.
Resultado esperado
agenda = {
"Ana":"999111222",
"Pedro":"988777666"
}
Buscar:
Pedro
Resultado:
988777666
Ejercicio 12: Conteo de Palabras
Problema
Determinar cuántas veces aparece cada palabra.
Resultado esperado
texto = "python python java python"
Salida:
Fundamentos de Programación 5|9
Ciencias de la Computación
{
"python":3,
"java":1
}
Aplicar diccionarios.
Fundamentos de Programación 6|9
Ciencias de la Computación
PARTE V – FINAL INTEGRADOR
Sistema de Análisis de Nombres de Estudiantes
Objetivo
Desarrollar un programa que permita registrar nombres de estudiantes y realizar diferentes
análisis utilizando:
• Funciones
• Procedimientos
• Condicionales (if, elif, else)
• Ciclos (for, while)
• Listas
• Cadenas
• Slicing
• Stride
Problema
Una academia desea desarrollar una pequeña herramienta para analizar los nombres de sus
estudiantes.
El sistema debe permitir registrar varios nombres y luego mostrar información relevante sobre
ellos mediante un menú de opciones.
Resultado esperado
===== MENÚ =====
1. Registrar estudiantes
2. Mostrar estudiantes
3. Mostrar nombres invertidos
4. Mostrar iniciales
5. Buscar estudiante
6. Salir
Seleccione opción:
Fundamentos de Programación 7|9
Ciencias de la Computación
Requisitos
Opción 1: Registrar estudiantes
Permitir ingresar varios nombres.
Ejemplo:
¿Cuántos estudiantes desea registrar? 3
Nombre 1: Marco
Nombre 2: Andrea
Nombre 3: Carlos
Los nombres deben almacenarse en una lista.
Opción 2: Mostrar estudiantes
Mostrar todos los estudiantes registrados.
Ejemplo:
Estudiantes registrados:
1. Marco
2. Andrea
3. Carlos
Utilizar un ciclo for.
Opción 3: Mostrar nombres invertidos
Utilizando slicing y stride.
Ejemplo:
Marco -> ocraM
Andrea -> aerdnA
Carlos -> solraC
Aplicar:
nombre[::-1]
Opción 4: Mostrar iniciales
Mostrar las primeras tres letras de cada nombre.
Ejemplo:
Fundamentos de Programación 8|9
Ciencias de la Computación
Marco -> Mar
Andrea -> And
Carlos -> Car
Aplicar slicing:
nombre[:3]
Si el nombre tiene menos de 3 letras, mostrarlo completo.
Opción 5: Buscar estudiante
Solicitar un nombre y verificar si existe.
Ejemplo:
Ingrese nombre a buscar: Andrea
Estudiante encontrado
Si no existe:
Estudiante no encontrado
Utilizar:
if nombre in lista:
Opción 6: Salir
Finalizar el programa.
Estructura sugerida
def registrar_estudiantes():
def mostrar_estudiantes():
def mostrar_invertidos():
def mostrar_iniciales():
def buscar_estudiante():
def menu():
def main():
menu()
main()
Fundamentos de Programación 9|9