Cuaderno de Trabajo - Alumno Página 1
CUADERNO DE TRABAJO
v2014 - Alumno
Cuaderno de Ejercicios Estructura de Datos se encuentra bajo una Licencia Creative Commons Atribución-No Comercial-Licenciamiento Recíproco 3.0 Unported. IDSystems Octubre 2011 - 2014
Cuaderno de Trabajo - Alumno Página 2 © IDSystems., 2010 2ª edicion - 2011 3ª edición – 2013 4ª edición – 2014 ISBN:
Impreso en Mexico / Printed in Mexico Impreso por Bubok
Cuaderno de Trabajo - Alumno Página 3
Contenido
Contenido ... 3
INTRODUCCION ... 8
PARTE I ... 10
ENTORNO DEL ESTUDIANTE ... 10
Participacion 1 – Conociendo el PLE (Personal Learning Environment) ... 10
Tarea 1 – Diseñando el PLE ... 10
EJEMPLO 1 – Como realizar los ejercicios ... 12
PROBLEMA 1 (Asignacion) ... 12
EJERCICIOS DE COMPRENSION ... 17
IDENTIFICADORES ... 18
Ejercicio 1 Calcular Edad ... 18
Ejercicio 2 Inversión Banco ... 19
SENTENCIAS BASICAS ... 20
PRACTICA 1 Comision Vendedor ... 20
PRACTICA 2 Descuento Tienda ... 21
PRACTICA 3 Calificacion ... 22
PRACTICA 4 Porcentaje Hombres-Mujeres ... 23
PRACTICA 5 Cambio Divisas ... 24
PRACTICA 6 Incremento Salario ... 25
CONDICIONALES ... 26
Ejercicio 3 Descuento Supermercado ... 26
Ejercicio 4 Promedio Calificaciones ... 28
Ejercicio 5 Varios Descuentos ... 30
Ejercicio 6 Promedios USA ... 32
PRACTICA 11 Joven Viejo ... 34
PRACTICA 12 Alto Chaparro ... 35
PRACTICA 13 Contraseña ... 36
PRACTICA 14 Ordernar 2 numeros ... 37
PRACTICA 15 Operaciones Numeros ... 38
PRACTICA 16 Encontrar Numero Mayor ... 39
PROBLEMAS BASICOS ... 41
PROBLEMA 2 (Mientras..Hacer, Si..Entonces)... 42
PROBLEMA 3 (Asignacion) ... 43
PROBLEMA 4 (Si…Entonces) ... 44
PROBLEMA 5 (Si..Entonces anidadas) ... 45
PROBLEMA 6 (Si..Entonces, operadores logicos) ... 46
PROBLEMA 7 (Si…Entonces) ... 47
PROBLEMA 8 (Si..Entonces) ... 48
PROBLEMA 9 (Asignacion) ... 48
EJERCICIOS DE COMPRENSION ... 49
CONDICIONALES MULTIPLES ... 49
Ejercicio 07 Calculo Areas ... 49
Ejercicio 08 Premios Compra ... 51
PRACTICA 21 Premios Compra x Genero ... 52
Cuaderno de Trabajo - Alumno Página 4
CICLOS ... 54
Ejercicio 09 Calificaciones ... 54
Ejercicio 10 Supermercado Descuento ... 56
PRACTICA 25 Contraseña ... 58
PRACTICA 26 Perimetros Areas ... 59
Ejercicio 11 Cuadrado Numeros ... 60
Ejercicio 12 Salarios Mensuales ... 62
PRACTICA 27 Suma Numeros ... 63
PRACTICA 28 Calculo Salario Semanal ... 64
Ejercicio 13 Tabla Multiplicar ... 65
Ejercicio 14 Tablas de Multiplicar ... 66
PRACTICA 29 Calif Alumno ... 67
PRACTICA 30 Promedios Alumnos ... 68
PRACTICA 31 Simulacion Reloj ... 69
ARREGLOS ... 70
Ejercicio 15 Promedios ... 70
Ejercicio 16 Promedio Grupo ... 71
Ejercicio 17 Promedio Grupo con Bidimensionales ... 72
Ejercicio 18 Matriz Alumnos... 72
PRACTICA 32 Supermercado ... 73
PRACTICA 33 Pares Impares Matriz ... 73
PRACTICA 34 Cuadrado Cubo ... 73
PROBLEMAS INTERMEDIOS ... 74
PROBLEMA 10 (Si..Entonces anidadas) ... 75
PROBLEMA 11 (Si..Entonces anidadas) ... 76
PROBLEMA 12 (Si..Entonces anidadas) ... 77
PROBLEMA 13 (Condiciones multiples) ... 78
PROBLEMA 14 (Si..Entonces multiples, anidadas, oper. Logicos) ... 80
PROBLEMA 15 (Ciclo Repetir..hasta, Si..Entonces) ... 81
PROBLEMA 16 (Si..Entonces, Bisiesto) ... 81
PROBLEMA 17 (Si..Entonces multiples) ... 82
PROBLEMA 18 (En caso de.., Si..Entonces) ... 83
ESTRUCTURAS ... 85
Ejercicio 19 Alumnos ... 85
Ejercicio 20 Captura Productos ... 88
PRACTICA 35 Captura Alumnos ... 89
MODULOS o SUBPROCESOS ... 90
Ejercicio 21 Cuadrado Numero ... 90
Ejercicio 22 Calcular Area ... 91
Ejercicio 23 Precio Neto ... 93
PRACTICA 42 Fecha Larga ... 94
PRACTICA 43 Calculo Salario ... 94
PRACTICA 44 Calificaciones Letra ... 95
PROBLEMAS AVANZADOS ... 96
PROBLEMA 19 (Mientras.. Hacer) ... 97
PROBLEMA 20 (Arreglos, Mientras.. Hacer) ... 97
Cuaderno de Trabajo - Alumno Página 5
PROBLEMA 22 (Desde..Hasta, Si..Entonces, Maximos, Minimos)... 99
PROBLEMA 23 (Mientras.. Hacer, Si.. Entonces, contadores, arreglos) ... 99
PROBLEMA 24 (Arreglos, cadenas,ciclos, condiciones) ... 100
PROBLEMA 25 (Desde.. hasta, Si.. Entonces) ... 101
PROBLEMA 26 (Arreglos, Ciclos Mientras) ... 101
PROBLEMA 27 (Arreglos, Mientras.. hacer, Si.. Entonces) ... 102
FUNCIONES CADENA ... 103
PROBLEMA 28 (Cadenas, Strlen, Substr, Desde..hasta) ... 103
PROBLEMA 29 (Subrutinas.. procedimientos, arreglos.. registro, ciclos, condiciones) ... 104
ORDENACION ... 105
PROBLEMA 30 (Ordenacion, subrutina, arreglos, ciclos, condiciones) ... 105
PROBLEMA 31 (Ordenacion, vectores, constantes, ciclos anidados, cond multiples) ... 106
ARCHIVOS ... 107
PROBLEMA 32 (Archivos externos lectura, arreglos, ciclos, condicion) ... 107
PROBLEMA 33 (Examen 1) ... 108
PROBLEMA 34 (Constantes, Matriz, Subrutinas, funciones, tipos datos) ... 108
PROBLEMA 35 (Subrutinas, variables globales, condicion multiple) ... 109
PROBLEMA 36 (Ejemplo completo de Sistema ABC, Archivos externos) ... 109
ANEXO 1 – DIAGRAMAS DE FLUJO ... 110
DIAGRAMA 1 ... 111
DIAGRAMA 2 ... 111
DIAGRAMA 3 ... 111
DIAGRAMA 4 ... 111
PROBLEMA 5 ... 111
ANEXO 2 – ESTRUCTURAS SECUENCIALES Y OPERADORES ... 112
ACTIVIDAD 1 – Suma de 2 numeros ... 113
ACTIVIDAD 2 – Suma 2 numeros introducidos por usuario ... 113
ACTIVIDAD 3 – Operaciones con Enteros (+,-,*,/) ... 114
ACTIVIDAD 4 – Operaciones con Reales (+,-,*,/)... 114
ACTIVIDAD 5 – Calcular area de un rectangulo ... 115
ACTIVIDAD 6 – Calcular area de un triangulo ... 115
ACTIVIDAD 7 – Calcular area circunferencia ... 116
ACTIVIDAD 8 – Calcular velocidad de un proyectil ... 116
ACTIVIDAD 9 – Calcular volumen de una esfera ... 117
ACTIVIDAD 10 – Evaluar expresion matematica ... 117
ACTIVIDAD 11 – Evaluar expresion matematica ... 118
ACTIVIDAD 12 – Evaluar Ecuacion de 2º. Grado ... 118
ACTIVIDAD 13 – Calcular area y volumen de un cilindro ... 119
ACTIVIDAD 14 – Calcular area y volumen de un Hexaedro ... 119
ACTIVIDAD 15 – Calcular area y volumen de un Prisma ... 120
ACTIVIDAD 16 – Calcular area y volumen de un Tetraedro ... 120
ACTIVIDAD 17 – Calcular area y volumen de un Cono ... 121
ACTIVIDAD 18 – Calcular volumen de un Elipsoide... 121
ACTIVIDAD 19 – Calcular Hipotenusa de un Triangulo Rectangulo ... 122
ACTIVIDAD 20 – Calcular Hipotenusa de un triangulo ... 122
ACTIVIDAD 21 – Calcular numero de horas, minutos, segundos en X segundos ... 123
Cuaderno de Trabajo - Alumno Página 6
ACTIVIDAD 23 – Calcular expresion trigonometrica ... 124
ACTIVIDAD 24 – Convertir Pies en Metros ... 124
ACTIVIDAD 25 – Calcular area Rectangulo por coordenadas ... 125
ACTIVIDAD 26 – Calcular velocidad de un coche ... 126
ACTIVIDAD 27 – Calcular velocidad de un cohete ... 126
ACTIVIDAD 28 – Conocer valores de variables ... 127
ACTIVIDAD 29 – Sumar cifras de un numero dado ... 127
ACTIVIDAD 30 – Conocer valor de variables ... 128
ANEXO 3 – PROBLEMAS DE CONDICIONALES ... 129
ACTIVIDAD 31 - Calculadora ... 130
ACTIVIDAD 32 –Numeros en orden ascendente ... 130
ACTIVIDAD 33 – Multiplos de 5 ... 131
ACTIVIDAD 34 – Par o impar ... 131
ACTIVIDAD 35 – Numeros menor o igual a 100 ... 132
ACTIVIDAD 36 – Dias de la semana ... 132
ACTIVIDAD 37 – Dias de la semana (Cond. Mult) ... 133
ACTIVIDAD 38 – Intercambio de valores ... 133
ACTIVIDAD 39 – Ingreso a espectaculo adulto ... 134
ACTIVIDAD 40 – Descuentos por docena ... 134
ACTIVIDAD 41 – Grupos de empleados ... 135
ACTIVIDAD 42 – Grupos de empleados (Operadores Logicos) ... 135
ACTIVIDAD 43 – Renta de automoviles ... 136
ACTIVIDAD 44 – Cobro en Estacionamiento ... 137
ACTIVIDAD 45 – Promedio de practicas alumno ... 138
ACTIVIDAD 46 – Determinar si es un triangulo ... 139
ACTIVIDAD 47 – Orden ascendente y descendente ... 140
ACTIVIDAD 48 – Cuenta digitos de una cifra ... 140
ACTIVIDAD 49 - Multiplos ... 141
ANEXO 4 – ESTRUCTURAS REPETITIVAS ... 142
ACTIVIDAD 50 - Divisiones... 143
ACTIVIDAD 51 – Numeros del 1 al 10 ... 144
ACTIVIDAD 52 – Numeros pares entre 1 y 30 ... 144
ACTIVIDAD 53 – Numeros pares entre 1 y 30 (Ciclo Repetir) ... 146
ACTIVIDAD 54 – Suma de numeros entre 1 y 10... 146
ACTIVIDAD 55 – Duplicar un capital den años ... 147
ACTIVIDAD 56 – Suma de numeros ... 147
ACTIVIDAD 57 – Factorial de un numero ... 147
ACTIVIDAD 58 –Media de 5 numeros ... 148
ACTIVIDAD 59 – Depreciacion de un objeto por metodo linea recta ... 148
ACTIVIDAD 60 – Depreciacion objeto por metodo balance doblemente declinante ... 149
ACTIVIDAD 61 – Valores de temperatura ... 150
ACTIVIDAD 62 – Tirada de dados ... 150
ANEXO 5 – MATRICES ... 151
ACTIVIDAD 63 – Suma matrices bidimensionales ... 152
ACTIVIDAD 64 –Transponer matrices ... 153
ACTIVIDAD 65 – Matriz de numeros primos entre 1 y 100 (Base 0) ... 154
Cuaderno de Trabajo - Alumno Página 7
ACTIVIDAD 67 – Posicion del valor maximo en una matriz ... 156
ACTIVIDAD 68 – Notas alumnos ordenadas por metodo burbuja ... 157
ACTIVIDAD 69 – Determinar aprobados y reprobados de alumnos ... 158
ANEXO 6 – CADENAS ... 159
ACTIVIDAD 70 – Suma de 2 cadenas ... 160
ACTIVIDAD 71 – Construir cadenas ... 160
ACTIVIDAD 72 – Extraccion de cadenas ... 161
ACTIVIDAD 73 – Tamaño de cadenas ... 161
ACTIVIDAD 74 – Mayusculas y Minusculas ... 161
ANEXO 7 – MODULOS o SUBPROCESOS... 162
ACTIVIDAD 75 – Calcular Factorial de un numero ... 163
ACTIVIDAD 76 – Parametros por valor ... 163
ACTIVIDAD 77 – Parametros por referencia ... 164
ACTIVIDAD 78 –Intercambio de variables con parametros por referencia ... 164
RETOS ... 165
RETO 1 – Calcular edad exacta ... 166
RETO 2 – Conocer signo del Zodiaco ... 166
RETO 3 – Juego del Gato o 3 en Raya ... 167
RETO 4 – Juego del Ahorcado ... 168
Cuaderno de Trabajo - Alumno Página 8
INTRODUCCION
El siguiente Cuaderno de Trabajo para el Profesor, fue elaborado en base a la materia Estructura de Datos de la Universidad de Matamoros la cual tiene por objetivo fundamental el enseñar los conceptos básicos de la programación.
El temario abarca los conceptos de algoritmos, su uso, su aplicación, las sentencias basicas y preparar al alumno para aprender los conceptos de estructuras de datos.
Aunque se recomienda el uso de un lenguaje de programación computacional para la enseñanza de dichos conceptos, este Cuaderno hace referencia a algunos software básicos de enseñanza de programación no basada en un lenguaje informático propiamente dicho como C++, Delphi, Pascal o Basic.
DFD es un software para la creación de diagramas de flujo en la cual el alumno aprende y comprende además de los símbolos como se va estructurando un programa y viendolo en ejecución.
El PseInt es un excelente software de programación en pseudocodigo basado en C++ (creando en él) para el aprendizaje de los conceptos básicos sobre asignación, condicionales, ciclos. En lenguaje español, con instrucciones sencillas, el alumno se concentra y centra más en los conceptos que en las instrucciones de un lenguaje informático completo. Además, tiene la ventaja que el alumno puede ejecutar el programa y generar el diagrama de flujo como complemento. La ultima version 2014, soporta manejo de cadenas y otras funciones. También hay una version “fork” extendida de dicho programa que incluye registros (estructuras) y archivos.
El SLE 2.0, es otro software para la enseñanza de programación también basado en C++ con muchas más instrucciones y funciones, además de incorporar arreglos, tipos de datos, manejo de archivos. Permite al estudiante adquirir el conocimiento de las estructuras de datos. Aunque no incorpora la generación de diagramas de flujo, sus instrucciones en español, muy semejantes a C++ lo prepara para el aprendizaje de éste importante lenguaje y le enseña las bases para la creación correcta de algoritmos.
Por último, LPP es otro derivado para la enseñanza de algortimos basados en pseudocodigo en español, que es mucho mas parecido a PseInt que SLE, y que SI incluye registros y archivos.
El Cuaderno esta dividio en TRES PARTES. La primera parte de ejercicios básicos, el profesor pondrá los ejercicios para realizarlos completamente por el alumno de ser posible. Si lo desea puede auxiliarse en un laboratorio tanto con el software DFD o PseInt. Esta parte cubrira los tipos de datos, asignaciones, condicionales y algunos ciclos sencillos.
La segunda parte de ejercicios intermedios, se recomienda el uso exclusivo e intensivo de PseInt para que el alumno elabore los programas. Queda a discreción del profesor mostrar la solución al problema o que el alumno lo resuelva por su cuenta. Aquí se verán la totalidad de los ciclos, condiciones anidadas, condiciones múltiples
En la ultima parte de ejercicios avanzados se recomienda el uso exclusivo e intensivo de SLE 2.0 o LPP o PSeInt para que el alumno elabora sus programas. Queda a discreción del profesor mostrar la solución al problema o que el alumno lo elabore por sí mismo o en equipo. Los ejercicios son más díficiles y abarcaran además de los temas anteriores arreglos con vectores, matrices, registros, subrutinas (funciones y procedimientos), manejo de archivos externos.
Cada problema mencionado, llevará el objetivo que se persigue al elaborarlo así como la solución propuesta. Cada ejercicio ha sido realizado en cada uno de los programas para revisar su validez y funcionalidad, sin embargo, hay algunos ejercicios que contienen o pueden contener algunos errores para que el propio alumno los descubra y haga los arreglos correspondientes.
A diferencia de algunos ejercicios de libros, estos estan basados no en problemas matematicos sino de situaciones comunes reflejadas en la vida diaria y en sistemas informáticos reales.
Cuaderno de Trabajo - Alumno Página 9 En ésta última edición del Cuaderno, se han incorporado algunas actividades escolares extra para ser realizadas, categorizados por temas, incluidos en los Anexos 2 al 7 que sirven como reforzamiento a los temas en particular. Estos vienen marcados como Actividades, ya que queda a discresión del profesor manejarlos con o sin solución en clase.
Elemento didactico Cantidad
Ejercicios 23 Practicas 40 Problemas 36 Actividades 78 Retos 5 182 Agradecimientos
Este Cuaderno no hubiera sido posible sin la invaluable aportacion del PLI Carlos Augusto Flores Valerio quien creo uno de los mejores manuales de algoritmos que haya visto con ejercicios muy didacticos y explicativos. Asi como a los miembros del foro de PseInt y algunos otros sitios.
Cuaderno de Trabajo - Alumno Página 10
PARTE I
ENTORNO DEL ESTUDIANTE
Participacion 1 – Conociendo el PLE (Personal Learning
Environment)
Durante clase, conocer sobre el concepto de PLE (Entorno Personal de Aprendizaje) y las herramientas que lo conforman. Discutir en clase cuales serían estas y en que categorías.
Conocer cuáles son las redes sociales más populares entre los alumnos, así como cualquier otro software que han utilizado hasta la fecha.
Foro en Linea
Entra al foro general del curso y responde la pregunta indicada según tu propia experiencia. Contrasta con el resto de las respuestas en el foro para comenzar un debate. Esto lo organizará el profesor.
Tarea 1 – Diseñando el PLE
Sobre la base de la participación 1, el alumno deberá desarrollar en un documento que herramientas utiliza actualmente para su PLE. El alumno debe presentar en su cuaderno o hoja en blanco una tabla con las principales herramientas que utiliza de acuerdo a los siguientes puntos.
1.Acceso a la información Curación y gestión de contenidos
2.Redes Sociales Comunicación, intercambio y colaboración 3.Cocina de contenidos Diseño de materiales y tareas
4.Producción multimedia Publicación y reflexión
5.Herramientas y aplicaciones Software para realización u operación de actividades
A continuación se da una lista de las herramientas que podría utilizar el alumno. Éste, debe acomodarlas de acuerdo a cada categoría presentada anteriormente.
1. Sistemas Operativos 2. Navegadores
Cuaderno de Trabajo - Alumno Página 11 3. Correos electronicos 4. Redes Sociales 5. Mensajeria 6. Buscadores 7. Foros 8. Blogs 9. Canales de Noticias
10.Sitios de consulta (enciclopedias o bibliotecas) 11.Almacenamiento de datos 12.Almacenamiento de imágenes 13.Almacenamiento de contenido/documentos 14.Almacenamiento video/audio 15.Galeria de imágenes/iconos 16.Aplicaciones Web 2.0
Como ejemplo de lo que podría entregar el alumno:
Categoria Tipo Herramienta Aplicacion
Herramientas y aplicaciones Sistemas Operativos Windows, Mac, Linux, Android
Herramientas y aplicaciones Navegadores Internet Explorer, Firefox, Google Chrome, Opera, Safari
Acceso a la informacion Correo Electrónico Outlook (Hotmail), Yahoo, Gmail
Redes Sociales Redes Sociales Facebook, Google+, LinkedIn, Pinterest, Instagram, Twitter
Redes Sociales Mensajeria Facebook Chat, MSN Messenger, Yahoo Messenger, Skype, ICQ
Acceso a la información Buscadores Google, Metacrawler
Redes Sociales Foros PortalFox, laWebdelprogramador, UniversalThread Redes Sociales Blogs Blogger, Wordpress
Acceso a la información Canal de noticias El Universal, LaWebDelProgramador, Genbeta Acceso a la información Sitios de consulta Wikipedia, MediaWiki
Acceso a la información Almacenamiento de datos
Box, DropBox, OneDrive, Google Drive, Mediafire, Mega
Redes sociales Almacenamiento de imagenes
Flirck, Imageshack, Picasa, Imagevenue
Redes Sociales Almacenamiento de contenido
Slideshare, Scribd, Prezi, Zoho, Google Docs
Redes Sociales Almacenamiento video/audio
Youtube, Vimeo
Cocina de contenidos Galeria de imágenes / íconos
Cuaderno de Trabajo - Alumno Página 12 NOTA: Recordemos que tiene que tener 3 OBJETIVOS
--- 1 Busco y Aprendo
2 Comparto informacion y conocimiento 3 Matengo mis comunicaciones al dia
---
Debera compartirla con el profesor, ya sea en clase, via plataforma EVA, por email o foro.
EJEMPLO 1 – Como realizar los ejercicios
A continuación se detallan los ejercicios tanto para hacerse en clase como por cuenta del usuario. El Alumno verá un recuadro con el numero y nombre del problema (ejercicio o práctica). El objetivo a cumplir, la descripción del problema y los cuadros en blanco para llenarse. Generalmente en estos recuadros se escribirá el algoritmo en formato de pseudocódigo. Éste pseudocódigo puede estar en formato general, en PseInt o SLE. También se puede pedir que se realice el diagrama de flujo.
Objetivo Aprender a crear un algoritmo en diagrama de flujo y pseudocodigo. Asignacion de variables y realizacion de operaciones.
Inicio de condicionales.
PROBLEMA 1
(Asignacion)
Se trata de escribir el algoritmo que permita emitir la factura correspondiente a una compra de un articulo determinado, del que se adquieren una o varias unidades. El IVA es del 15% y si el precio bruto ( precio venta mas IVA) es mayor de 50.00 pesetas se debe realizar un descuento del 5%.
Pseudocodigo:
Variables: precio, numeros de articulos(Nart), precio venta(Pv), descuento(d) Inicio
Leer precio, Nart Pv= Precio * Nart IVA= Pv * 0.15 Pb= Pv + IVA Si Pb >= 50 entonces d= (Pb * 5)/100 Sino d= 0 Finsi Pl= Pb - d Escribir Pv, IVA, Pb,d, Pl Fin Ejemplo de realizacion en DFD:
Cuaderno de Trabajo - Alumno Página 13 Ejemplo de realizacion en PseInt:
Cuaderno de Trabajo - Alumno Página 14 Ejemplo de realizacion usando SLE:
Cuaderno de Trabajo - Alumno Página 15 Ejemplo Realizacion usando LPP
// Algoritmo01
// Declaracion de variables
Entero precio, nart, pv Real iva, pb, d, pi
Inicio
Escriba "Precio Articulo y Cantidad Articulos:" Lea precio,nart
Llamar nueva_linea pv <- precio * nart
Escriba "Precio Venta: ", pv Llamar nueva_linea
Cuaderno de Trabajo - Alumno Página 16
Iva <- pv * 0.15 Escriba "IVA: ",iva Llamar nueva_linea
pb <- pv + iva
Escriba "Total PV+IVA: ", pb Llamar nueva_linea Si pb >= 50 Entonces d <- (pb*5) / 100 sino d <- 0 fin si pi <- pb-d
Escriba "Precio Final: ", pi Llamar nueva_linea
Fin
Los ejercicios mostrarán el problema y la solución. Generalmente tiene un valor de 1 punto al realizarlos. Las prácticas y problemas solamente mostrarán el problema y el alumno debe desarrollar la solución. Generalmente tienen un valor de 2 puntos. En algunas ocasiones la práctica puede mostrar el diagrama de flujo o la pantalla de salida para que el alumno se de una idea de cómo debe quedar resuelto.
Cuaderno de Trabajo - Alumno Página 17
EJERCICIOS DE COMPRENSION
Objetivo En esta primera parte, se encuentran los ejercicios y practicas que vienen en el Manual Diseño Estructurado de Algoritmos, abarcan desde como crear las variables, hasta condicionales simples y anidadas. Tambien estan un resumen de las practicas de dicho Manual. Aunque estos ejercicios son para realizarse en el aula de clase a traves de pseudocodigo o diagramas de flujo; tambien pueden realizarse usando el siguiente software: PseInt, DFD, Edraw
Estos ejercicios deberan ser simples, pequeños y como limite contener expresiones simples de condicion Si…Entonces…Sino.
De preferencia estos ejercicios debera realizarlos el alumno por si mismo en su cuaderno y revisarlos despues. Las soluciones contenidas en este cuaderno es para que el maestro muestre la solucion final y compare con la solucion de los alumnos.
El alumno debera generar el algoritmo en diagrama de flujo y pseudocodigo. Queda a criterio del profesor el uso de DFD, Psint o SLE
Temas por ver Diagramas de flujo, pseudocodigo, asignacion de variables, tipos de datos sencillos, operaciones sencillas, condicionales (si…entonces)
Herramientas Cuaderno y lapiz
Plantilla de diagrama de flujo DFD
Cuaderno de Trabajo - Alumno Página 18
IDENTIFICADORES
Objetivo Inicializar variables, mostrar texto en pantalla y capturar datos 01_EJERCICIOS VARIABLESEjercicio
1
Calcular
Edad
Realizar un algoritmo que calcule la edad de una persona a la cual solo se le solicitará el año en que nació.
Proceso ejercicio01
// Realizar un algoritmo que calcule la edad de una persona a la cual
// solo se le solicitara el año en que nacio.
edad<-0; ano_nac <-0; ano_act <-0;
Escribir "En que año naciste?"; Leer ano_nac;
Escribir "En que año estamos?"; Leer ano_act;
Edad <- ano_act - ano_nac
Escribir "Tu edad actual es ", edad;
Cuaderno de Trabajo - Alumno Página 19 Objetivo Variables y operaciones 01_EJERCICIOS VARIABLES
Ejercicio
2
Inversión
Banco
Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara despues de un año si el banco paga a razon de 2% mensual.
Proceso ejercicio02
// Suponga que un individuo desea invertir su capital en un banco
// y desea saber cuanto dinero ganara despues de un año si el banco
// paga a razon de 2% mensual.
// Constantes Interes <- 0.02; Ano <- 12; // Variables: Ganacia <- 0; Capital <- 0;
Escribir "Cuanto dinero piensas invertir?"; Leer Capital;
Ganancia <- ( Capital * interes ) * Ano; Escribir "Tu ganancia sera de: ", Ganancia;
Cuaderno de Trabajo - Alumno Página 20
SENTENCIAS BASICAS
Objetivo Variables y Operaciones 01_PRACTICAS VARIABLESPRACTICA 1
Comision
Vendedor
Un vendedor recibe un sueldo base mas un 10% extra por comision de sus ventas, el vendedor desea saber cuanto dinero obtendra por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibira en el mes tomando en cuenta su sueldo base y comisiones.
Cuaderno de Trabajo - Alumno Página 21 Objetivo Variables y Operaciones 01_PRACTICAS VARIABLES
PRACTICA 2
Descuento
Tienda
Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuanto debera pagar finalmente por su compra
Cuaderno de Trabajo - Alumno Página 22 Objetivo Variables y Operaciones 01_PRACTICAS VARIABLES
PRACTICA 3
Calificacion
Un alumno desea saber cual sera su calificacion final en la materia de Algoritmos. Dicha calificacion se compone de tres examenes parciales
Cuaderno de Trabajo - Alumno Página 23 Objetivo Variables y Operaciones 01_PRACTICA VARIABLES
PRACTICA 4
Porcentaje
Hombres-Mujeres
Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes.
Cuaderno de Trabajo - Alumno Página 24 Objetivo Variables y Operaciones 01_PRACTICA VARIABLES
PRACTICA 5
Cambio
Divisas
Dada una cantidad en pesos, obtener la equivalencia en dolares, asumiendo que la unidad cambiaria es un dato desconocido
Cuaderno de Trabajo - Alumno Página 25 Objetivo Variables y Operaciones 01_PRACTICAS VARIABLES
PRACTICA 6
Incremento
Salario
Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario anterior.
Cuaderno de Trabajo - Alumno Página 26
CONDICIONALES
Objetivo Variables y Operaciones 02_EJERCICIOS CONDICIONALES SIMPLESEjercicio
3
Descuento
Supermercado
Se necesita un sistema para un supermercado, el cualdara un 10% de descuento a las personas que compren mas de $1000, al cliente se le debe dar el total a pagar.
Proceso ejercicio03
// Se necesita un sistema para un supermercado, el cualdara un 10% // de descuento a las personas que compren mas de $1000, al cliente // se le debe dar el total a pagar.
Cuaderno de Trabajo - Alumno Página 27 Total <-0;
Subtotal <- 0; Descuento <- 0;
Escribir "Cuanto compro el cliente?"; Leer Subtotal;
Si subtotal > 1000 Entonces
descuento <- subtotal * 0.10; Total <- subtotal - descuento; sino
Total <- subtotal; FinSi
Escribir "El total a pagar es: ", total;
Cuaderno de Trabajo - Alumno Página 28 Objetivo Condicionales Simples: Si… Entonces 02_EJERCICIOS CONDICIONALES SIMPLES
Ejercicio
4
Promedio
Calificaciones
Se necesita un programa que reciba tres calificaciones parciales de un alumno y en base a estas darle su promedio donde si el promedio es menor a 6 se le dira que esta REPROBADO, en caso contrario el mensaje sera APROBADO.
Proceso ejercicio04
// Se necesita un programa que reciba tres calificaciones parciales // de un alumno y en base a estas darle su promedio donde si el // promedio es menor a 6 se le dira que esta REPROBADO, en caso // contrario el mensaje sera APROBADO.
Cuaderno de Trabajo - Alumno Página 29 calif1 <-0;
calif2 <-0; calif3 <- 0;
Escribir "Dame la calificacion del primer parcial: "; Leer calif1;
Escribir "Dame la calificacion del segundo parcial: "; Leer calif2;
Escribir "Dame la calificacion del tercer parcial: "; Leer calif3;
Prom <- (calif1 + calif2 + calif3) /3; Si prom < 6 Entonces
Escribir "Tu promedio es: ", prom, " y estas REPROBADO"; Sino
Escribir "Tu promedio es: ", prom, " y estar APROBADO"; FinSi
Cuaderno de Trabajo - Alumno Página 30 Objetivo Condicionales Simples: Si… Entonces 02_EJERCICIOS CONDICIONALES SIMPLES
Ejercicio
5
Varios
Descuentos
Se necesita un programa para un supermercado, en el cual si el monto de la compra del cliente es mayor de 5000 se la hara un descuento del 30%, si es menor o igual a 5000 pero mayor que 3000 sera del 20%, si no rebasa los 3000 pero si los 1000 la rebaja efectiva es del 10% y en caso de que no rebase los $1000 no tendra beneficio
Proceso ejercicio05
// Se necesita un programa para un supermercado, en el cual si el monto // de la compra del cliente es mayor de 5000 se la hara un descuento // del 30%, si es menor o igual a 5000 pero mayor que 3000 sera del // 20%, si no rebasa los 3000 pero si los 1000 la rebaja efectiva es // del 10% y en caso de que no rebase los $1000 no tendra beneficio
total <-0; subtotal <-0;
Cuaderno de Trabajo - Alumno Página 31 descuento <-0;
Escribir "Cuanto compro el cliente?"; Leer subtotal; Si subtotal > 5000 Entonces descuento <- subtotal * 0.30; Sino si subtotal > 3000 Entonces descuento <- subtotal * 0.20; Sino si subtotal > 1000 Entonces descuento <- subtotal * 0.10; Sino descuento <-0; FinSi FinSi FinSi
total <- subtotal - descuento; Escribir "El total a pagar es: ", total;
Cuaderno de Trabajo - Alumno Página 32 Objetivo Condicionales Simples: Si… Entonces 02_EJERCICIOS CONDICIONALES SIMPLES
Ejercicio
6
Promedios
USA
Se necesita un sistema que le muestre a un alumno su calificacionen letra y su promedio, el promedio se sca en base a 3 parciales donde si el promedio es menor a 6 su letra es NA, si es mayor o igual a 6 y cuando mucho 8 le corresponde S, si sobrepasa el 8 pero menor o igual a 9 debe tener B, todo lo demas es una E
Proceso ejercicio06
// Se necesita un sistema que le muestre a un alumno su calificacion // en letra y su promedio, el promedio se sca en base a 3 parciales
Cuaderno de Trabajo - Alumno Página 33 // donde si el promedio es menor a 6 su letra es NA, si es mayor o
// igual a 6 y cuando mucho 8 le corresponde S, si sobrepasa el 8 // pero menor o igual a 9 debe tener B, todo lo demas es una E
calif1 <- 0; calif2 <- 0; calif3 <- 0; promedio <- 0;
Escribir "Dame la calificacion del primer parcial: "; Leer calif1;
Escribir "Dame la calificaicon del segundo parcial: "; Leer calif2;
Escribir "Dame la calificaicon del tercer parcial: "; Leer calif3;
Promedio <- (calif1 + calif2 + calif3) / 3 si promedio <- 6 Entonces
Escribir "Tu calificion con letra es NA"; Sino
Si promedio <= 8 Entonces
Escribir "Tu calificacion con letra es S"; Sino
Si promedio <= 9 Entonces
Escribir "Tu calificacion con letra es B"; Sino
Escribir "Tu calificacion con letra es E"; FinSi
FinSi
FinSi
Escribir "Ya que tu promedio es: ",promedio;
Cuaderno de Trabajo - Alumno Página 34 Objetivo Condicionales Simples: Si… Entonces 02_PRACTICAS CONDICIONALES SIMPLES
PRACTICA 11
Joven Viejo
Necesitamos saber si una persona es "joven" o "vieja" basandonos en su edad. Joven es aquella menor de 45 años
Cuaderno de Trabajo - Alumno Página 35 Objetivo Condicionales Simples: Si… Entonces 02_PRACTICAS CONDICIONALES SIMPLES
PRACTICA 12
Alto
Chaparro
Necesitamos saber si el usuario es alto o chaparro. Chaparro es aquel que mide cuando mucho 1.65 mts
Cuaderno de Trabajo - Alumno Página 36 Objetivo Condicionales Simples: Si… Entonces 02_PRACTICAS CONDICIONALES SIMPLES
PRACTICA 13
Contraseña
Necesitamos verificar que la contraseña que escribe el usuario es igual a "solrac". Dependiendo de lo ingresado desplegar el mensaje correspondiente.
Cuaderno de Trabajo - Alumno Página 37 Objetivo Condicionales Simples: Si… Entonces 02_PRACTICAS CONDICIONALES SIMPLES
PRACTICA 14
Ordernar
2
numeros
Cuaderno de Trabajo - Alumno Página 38 Objetivo Condicionales Simples: Si… Entonces 02_PRACTICAS CONDICIONALES SIMPLES
PRACTICA 15
Operaciones
Numeros
Leer 2 numeros, si son iguales que los multiplique, si el primero es mayor que el segundo que los reste y si no, que los sume
Cuaderno de Trabajo - Alumno Página 39 Objetivo Condicionales Simples: Si… Entonces 02_PRACTICA CONDICIONALES SIMPLES
PRACTICA 16
Encontrar
Numero
Mayor
Cuaderno de Trabajo - Alumno Página 41
PROBLEMAS BASICOS
Objetivo Los siguientes ejercicios estan pensados para el inicio de conceptos de programacion. Aquí estan los temas basicos de los primeros conceptos, y la aplicación de diagramas de flujo y pseudocodigo.
Estos ejercicios deberan ser simples, pequeños y como limite contener expresiones simples de condicion Si…Entonces…Sino.
De preferencia estos ejercicios debera realizarlos el alumno por si mismo en su cuaderno y revisarlos despues. Las soluciones contenidas en este cuaderno es para que el maestro muestre la solucion final y compare con la solucion de los alumnos.
El alumno debera generar el algoritmo en diagrama de flujo y pseudocodigo. Queda a criterio del profesor el uso de DFD, Psint o SLE
Temas por ver Diagramas de flujo, pseudocodigo, asignacion de variables, tipos de datos sencillos, operaciones sencillas, condicionales (si…entonces)
Herramientas Cuaderno y lapiz
Plantilla de diagrama de flujo DFD
Cuaderno de Trabajo - Alumno Página 42 Objetivo Aprender sobre el ciclo MIENTRAS.
Mezclar con Condicional SI
PROBLEMA
2
(Mientras..Hacer,
Si..Entonces)
Dado N notas de un estudiante calcular:
a) Cuantas notas tiene desaprobados. b) Cuantos aprobados.
c) El promedio de notas.
Cuaderno de Trabajo - Alumno Página 43 Objetivo Sencillo ejemplo para practicar asignacion de variables, realizar operación e
imprimir.
Si es para dos personas, mostrar como el algoritmo se repite (sin usar ciclos)
01_EJERCICIOS BASICOS
PROBLEMA 3
(Asignacion)
Cuaderno de Trabajo - Alumno Página 44 Objetivo Practicar el uso de sentencias condicionales SI…ENTONCES 01_EJERCICIOS
BASICOS
PROBLEMA 4
(Si…Entonces)
A un trabajador le pagan segun sus horas y una tarifa de pago por horas. si la cantidad de horas trabajadas es mayor a 40 horas. La tarifa se incrementa en un 50% para las horas extras. calcular el salario del trabajador dadas las horas trabajadas y la tarifa.
Cuaderno de Trabajo - Alumno Página 45 Objetivo Trabajar con las sentencias SI…ENTONCES anidadas 01_EJERCICIOS
BASICOS
PROBLEMA 5
(Si..Entonces
anidadas)
A un trabajador le descuentan de su sueldo el 10% si su sueldo es menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del adicional, y por encima de 2000 el 3% del adicional. calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo.
Cuaderno de Trabajo - Alumno Página 46 Objetivo Pratica con condicionales SI…ENTONCES y operadores logicos (dos
condiciones en 1) 01_EJERCICIOS BASICOS
PROBLEMA 6
(Si..Entonces,
operadores
logicos)
Diseñar un formulario que permita ingresar dos notas malas y determine su promedio, debe mostrar un comentario si este está aprobado o desaprobado.
Cuaderno de Trabajo - Alumno Página 47 Objetivo Practica de condicionales SI…ENTONCES. Uso de operaciones de
division y como calcular el residuo
01_EJERCICIOS BASICOS
PROBLEMA 7
(Si…Entonces)
Dado un tiempo en segundos, calcular los segundos restantes que le correspondan para convertirse exactamente en minutos.
Cuaderno de Trabajo - Alumno Página 48 Objetivo Practica con sentencias condicionales SI…ENTONCES 01_EJERCICIOS
BASICOS
PROBLEMA 8
(Si..Entonces)
¿Dada la duracion en minutos de una llamada calcular el costo, considerando? -Hasta tres minutos el costo es 0.50
-Por encima de tres minutos es 0.50 más 0.1*cada minuto adicional a los tres primeros
Objetivo Problema simple de asignacion, lectura e impresión. 01_EJERCICIOS BASICOS
PROBLEMA 9
(Asignacion)
Diseñar un algoritmo que me permita ingresar un valor inicial y luego un valor final, para luego calcular el valor central de los números.
Cuaderno de Trabajo - Alumno Página 49
EJERCICIOS DE COMPRENSION
CONDICIONALES MULTIPLES
Objetivo Condicionales Multiples: SEGÚN…HACER 03_EJERCICIOS CONDICIONALES MULTIPLES
Ejercicio
07
Calculo Areas
Se necesita un programa que tenga 3 opciones, si se selecciona la primera se calcula el perimetro de un cuadrado, si la pcion es la dos se calcula el perimetro de un triangulo equilatero, y cuando se elija la tres se calcula el perimetro de un circulo, ademas de que mandara un mensaje de "error" en caso de presionar cualquier otro numero
Proceso ejercicio07
// Se necesita un programa que tenga 3 opciones, si se selecciona la // primera se calcula el perimetro de un cuadrado, si la pcion es la // dos se calcula el perimetro de un triangulo equilatero, y cuando se // elija la tres se calcula el perimetro de un circulo, ademas de que // mandara un mensaje de "error" en caso de presionar cualquier // otro numero
Cuaderno de Trabajo - Alumno Página 50 opc <- 0;
perimetro <- 0; lado <- 0;
Escribir "Menu de Perimetros" Escribir "==================" Escribir "1. Cuadrado "
Escribir "2. Triangulo " Escribir "3. Circulo "
Escribir "==================" Escribir "Cual eliges?"
Leer opc;
Segun opc Hacer 1:
Escribir "Dame el valor de un lado del cuadrado:"; Leer lado;
perimetro <- lado * 4; 2:
Escribir "Dame el valor de un lado del triangulo:"; Leer lado;
perimetro <- lado * 3; 3:
Escribir "Dame el valor del diametro: "; Leer lado;
perimetro <- lado * 3.1416; De Otro Modo:
Escribir "** ERROR ** No seleccionaste una opcion valida"; FinSegun
Escribir "El resultado del perimetro calculado es: ", perimetro; FinProceso
Cuaderno de Trabajo - Alumno Página 51 Objetivo Condicionales Multiples: SEGÚN…HACER 02_EJERCICIOS CONDICIONALES MULTIPLES
Ejercicio
08
Premios
Compra
Un supermercado realiza una tombola solo con aquellos clientes que realizan una compra superior a $ 500, en la cual tienen que sacar de una canasta una bolita la cual tiene un numero grabado, los premios se dan bajo la siguiente tabla:
# BOLITA PREMIO
1 1 shampoo CAPRICE
2 1 paquete(3) de jabones ROSA VENUS 3 1 pasta de dientes COLGATE
4 1 bolsa de detergente MAS COLOR 5 1 caja de cereal ZUCARITAS
Proceso ejercicio08_PremiosCompra
// Un supermercado realiza una tombola solo con aquellos clientes que realizan una compra // superior a $ 500, en la cual tienen que sacar de una canasta una bolita la cual tiene // un numero grabado, los premios se dan bajo la siguiente tabla:
// # BOLITA PREMIO
// 1 1 shampoo CAPRICE
// 2 1 paquete(3) de jabones ROSA VENUS // 3 1 pasta de dientes COLGATE
// 4 1 bolsa de detergente MAS COLOR // 5 1 caja de cereal ZUCARITAS
compra <- 0; bolita <- 0;
Escribir "Cual fue el total de la compra del cliente: "; Leer compra;
si compra > 500 Entonces
Escribir "Cual fue el numero de la bolita que saco de la canasta?"; Leer bolita;
segun bolita Hacer 1:
Escribir "Te ganaste 1 shampoo CAPRICE"; 2:
Cuaderno de Trabajo - Alumno Página 52 Escribir "Te ganaste 1 paquete de 3 jabones ROSA VENUS";
3:
Escribir "Te ganaste 1 pasta de dientes COLGATE"; 4:
Escribir "Te ganaste 1 bolsa de detergente MAS COLOR"; 5:
Escribir "Te ganaste 1 caja de cereal ZUCARITAS"; FinSegun
Sino
Escribir "Lo sentimos, no puedes participar en el sorteo"; FinSi
FinProceso
Objetivo Condicionales Multiples: SEGÚN…HACER 03_PRACTICAS CONDICIONALES MULTIPLES
PRACTICA 21
Premios
Compra
x
Genero
Un supermercado realiza una tombola con todos los clientes, si son hombres tienen que sacar de una canasta una bolita la cual tiene un numero grabado, y si son mujeres lo mismo pero de otra canasta. Los premios se dan bajo la siguiente tabla:
PARA HOMBRES ======================================================================== # BOLITA PREMIO 1 Desodorante 2 SixPack de cerveza 3 Boxer 4 Rasuradora 5 Sudadera PARA MUJERES ======================================================================== # BOLITA PREMIO 1 Locion 2 Bikini
3 Crema para la cara
4 Plancha
Cuaderno de Trabajo - Alumno Página 53 Objetivo Condicionales Multiples: SEGÚN…HACER 03_PRACTICAS CONDICIONALES MULTIPLES
PRACTICA 22
Color Auto
Una empresa automotriz necesita un programa para seleccionar el tipo de carro (auto, camioneta o vagoneta) lo cual debe aparecer en un menu, y el color (negro, blanco o rojo) en otro menu. Al final se necesita que despliegue la seleccion realizada.
Cuaderno de Trabajo - Alumno Página 54
CICLOS
Objetivo Ciclo MIENTRAS… HACER 04_EJERCICIOS CICLO HACEREjercicio
09
Calificaciones
Un maestro necesita un sistema para capturar las calificaciones de 3 parciales de sus alumnos, despues de ello necesita que se despliegue el promedio, y cuando ya no quiera capturar mas alumnos, necesita que se despliegue el promedio general de todos los alumnos capturados.
Cuaderno de Trabajo - Alumno Página 55 Proceso ejercicio09_Calificaciones
// Un maestro necesita un sistema para capturar las calificaciones de 3 parciales // de sus alumnos, despues de ello necesita que se despliegue el promedio, y cuando // ya no quiera capturar mas alumnos, necesita que se despliegue el promedio general // de todos los alumnos capturados.
parcial1 <- 0; parcial2 <- 0; parcial3 <- 0; promedio_alumno <- 0; promedio_general <- 0; acumulado_promedio <- 0; acumulador <- 0; total_alumnos <- 0; contador <- 0; respuesta <- "n";
Escribir "Deseas capturar las calificaciones de un alumno? (s/n)"; Leer respuesta;
mientras respuesta = "s" hacer
Escribir "Calificacion Primer Parcial: "; Leer parcial1;
Escribir "Calificacion Segundo Parcial: "; Leer parcial2;
Escribir "Calificacion Tercer Parcial: "; Leer parcial3;
promedio_alumno <- ( parcial1 + parcial2 + parcial3 ) /3; Escribir "El promedio de este alumno es: ", promedio_alumno; acumulado_promedio <- acumulado_promedio + promedio_alumno total_alumnos <- total_alumnos + 1;
Escribir "Deseas capturar otro alumno? (s/n)"; Leer respuesta;
FinMientras
promedio_general <- acumulado_promedio / total_alumnos;
Escribir "El promedio general de ", total_alumnos, " alumnos fue: ", promedio_general FinProceso
Cuaderno de Trabajo - Alumno Página 56 Objetivo Ciclo MIENTRAS… HACER 04_EJERCICIOS CICLO HACER
Ejercicio
10
Supermercado
Descuento
Un supermercado dara un descuento del 10% a TODOS los clientes que el total de su compra supere los $1000, ademas se necesita saber a cuanto ascendieron los ingresos del dia
Cuaderno de Trabajo - Alumno Página 57 Proceso ejercicio10_SupermercadoDescuento
// Un supermercado dara un descuento del 10% a TODOS los clientes que el total de // su compra supere los $1000, ademas se necesita saber a cuanto ascendieron los // ingresos del dia
total <- 0; subtotal <- 0; descuento <- 0; ingresos <- 0; respuesta <- "n";
Escribir "Hay clientes en la tienda? (s/n)"; Leer respuesta;
Mientras respuesta = "s" hacer
Escribir "Cuanto compro el cliente?"; Leer subtotal;
Si subtotal > 1000 Entonces
descuento <- subtotal * 0.10; total <- subtotal - descuento; Sino
total <- subtotal FinSi
ingresos <- ingresos + total
Escribir "El total a pagar del cliente es: ", total Escribir "Hay mas clientes en la tienda? (s/n)"; Leer respuesta;
FinMientras
Escribir "============================="; Escribir "El total de ingresos fueron: ", ingresos FinProceso
Cuaderno de Trabajo - Alumno Página 58
Objetivo Ciclo MIENTRAS… HACER 04_PRACTICAS CICLOS
PRACTICA 25
Contraseña
Se necesita un programa que pida una contrasena. Si la contrasena es igual a "abrete sesamo", se terminara el programa, de otra manera se seguira solicitando la contrasena
Cuaderno de Trabajo - Alumno Página 59
Objetivo Ciclo MIENTRAS… HACER 04_PRACTICAS CICLOS
PRACTICA 26
Perimetros
Areas
Se necesita que un programa que calcula perimetros y areas, para lo cual aparece un menu con tres opciones (1. Perimetros, 2. Areas, 3. Salir) dentro de las primeras 2 opciones aparece otro menu con 4 opciones (1.Triangulo, 2. Cuadrado, 3.Circulo 4. Regresar). Dentro del cual solo se puede volver al menu principal presionando la opcion 4.
Cuaderno de Trabajo - Alumno Página 60 Objetivo Ciclo REPETIR… HASTA QUE 05_EJERCICIOS CICLO REPETIR…HASTA
Ejercicio
11
Cuadrado
Numeros
Se necesita un programa que muestre el cuadrado de los numeros que introduce el usuario
Proceso ejercicio11_CuadradoNumeros
// Se necesita un programa que muestre el cuadrado de los numeros que introduce el // usuario
respuesta <- "s" numero <- 0;
Cuaderno de Trabajo - Alumno Página 61 numero_elevado <- 0;
Repetir
Escribir "Numero que quieres elevar al cuadrado:"; Leer numero;
numero_elevado <- numero * numero;
Escribir numero, " al cuadrado es: ", numero_elevado; Escribir "Dseas calcular otro numero? (s/n)";
Leer respuesta; Hasta Que respuesta = "n"
Cuaderno de Trabajo - Alumno Página 62 Objetivo Ciclo REPETIR… HASTA QUE 05_EJERCICIOS CICLO REPETIR…HASTA
Ejercicio
12
Salarios
Mensuales
Se necesita un programa que calcule el salario mensual de N trabajadores, el cual se obtiene de la siguiente forma:
Si trabaja 40 horas o menos, se le paga $16 por hora
Si trabaja mas de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra.
Proceso ejercicio12_SalariosMensuales
// Se necesita un programa que calcule el salario mensual de N trabajadores, el cual // se obtiene de la siguiente forma:
// Si trabaja 40 horas o menos, se le paga $16 por hora
// Si trabaja mas de 40 horas se le paga $16 por cada una de las primeras 40 horas // y $20 por cada hora extra.
Cuaderno de Trabajo - Alumno Página 63 salario <- 0;
horas <- 0; respuesta <- "n"
Repetir
Escribir "Horas trabajadas del empleado: " Leer horas; Si horas > 40 Entonces salario <- 40 * 16 + (( horas - 40 ) * 20); Sino salario <- horas * 16; FinSi
Escribir "Salario del trabajador: ", salario; Escribir "Deseas calcular otro salario? (s/n)" Leer respuesta
hasta que respuesta = "n" FinProceso
Objetivo Ciclo REPETIR… HASTA QUE 05_PRACTICA CICLOS
PRACTICA 27
Suma
Numeros
Se necesita un programa que pregunte dos numeros, los cuales son un rango, de los cuales queremos que imprima el total de la suma de todos los numeros que se encuentran dentro de ese rango
Cuaderno de Trabajo - Alumno Página 64
Objetivo Ciclo REPETIR… HASTA QUE 05_PRACTICA CICLOS
PRACTICA 28
Calculo
Salario
Semanal
Se necesita un programa que calcule el salario semanal de n trabajadores, el cual depende de su puesto (licenciado, tecnico, obrero), del turno (primero, segundo y tercero) y las horas trabajadas. Donde los del primer turno ganar 200 adicionales a su salario, los del segundo 100 y los del tercero 300. El obrero gana 30 por hora el tecnico 50 y el licenciado 100
Cuaderno de Trabajo - Alumno Página 65 Objetivo Ciclo HACER…PARA 06_EJERCICIOS CICLOS HACER PARA
Ejercicio
13
Tabla
Multiplicar
Se necesita un programa que despliega una tabla de multiplicar de un numero dado por el usuario
Proceso ejercicio13_TablaMultiplicar
// Se necesita un programa que despliega una tabla de multiplicar de un numero dado // por el usuario
tabla <- 0; contador <- 0; resultado <- 0;
Escribir "Que tabla deseas visualizar:"; Leer tabla;
Para contador<-1 Hasta 10 Hacer resultado <- tabla * contador;
Escribir tabla, " * ", contador, " = ", resultado;
Cuaderno de Trabajo - Alumno Página 66 FinProceso
Objetivo Ciclo HACER…PARA 06_EJERCICIOS CICLOS HACER PARA
Ejercicio
14
Tablas
de
Multiplicar
Se necesita un programa que despliegue las tablas de multiplicar del uno al tres y cada tabla del 1 al 5
Proceso ejercicio14_TablasDeMultiplicar
// Se necesita un programa que despliegue las tablas de multiplicar del uno al tres // y cada tabla del 1 al 5
tabla <-0 x <- 0
resultado <-0
Para tabla<-1 Hasta 3 Hacer Para x <-1 Hasta 5 Hacer
resultado <- tabla * x;
Cuaderno de Trabajo - Alumno Página 67 FinPara
Escribir "=======================" FinPara
FinProceso
Objetivo Ciclo HACER…PARA 06_PRACTICAS CICLOS
PRACTICA 29
Calif Alumno
Cuaderno de Trabajo - Alumno Página 68
Objetivo Ciclo HACER…PARA 06_PRACTICAS CICLOS
PRACTICA 30
Promedios
Alumnos
Calcular el promedio de 10 alumnos los cuales tienen 7 calificaciones cada uno en la materia de Estructura de Datos.
Cuaderno de Trabajo - Alumno Página 69
Objetivo Ciclo HACER…PARA 06_PRACTICAS CICLOS
PRACTICA 31
Simulacion
Reloj
Simular el comportamiento de un reloj digital, imprimiendo la hora, minutos y segundos de un dia desde las 0:00:00 horas hasta las 23:59:59
Cuaderno de Trabajo - Alumno Página 70
ARREGLOS
Objetivo Arrays 07_EJERCICIOS ARREGLOS
Ejercicio
15
Promedios
Se necesita un programa que utilice un arreglo de seis posiciones para almacenar los 5 parciales de un alumno y sacar su promedio, el cual se guardara en la ultima localidad. Mostras todas las calificaciones y el promedio
Proceso ejercicio15_Promedio
// Se necesita un programa que utilice un arreglo de seis posiciones para almacenar // los 5 parciales de un alumno y sacar su promedio, el cual se guardara en la ultima // localidad. Mostras todas las calificaciones y el promedio
// Inicializar los arreglos Dimension calif[6];
// Inicializar variables subindice <- 0; acum_calif <- 0;
Escribir "Captura las calificaciones." Para subindice<-1 hasta 6 hacer
si subindice <> 6 entonces
Escribir "Dame Calificacion Parcial ", subindice, ":" Leer calif[subindice];
acum_calif <- acum_calif + calif[subindice] Sino
calif[subindice] <- acum_calif /5 FinSi
FinPara
Escribir "=======================================" Escribir "Ahora imprime las calificaciones"
Para subindice<-1 hasta 6 hacer si subindice = 6 entonces
Escribir "Promedio: ", calif[subindice] Sino
Escribir "Parcial ", subindice, ":", calif[subindice] FinSi
Cuaderno de Trabajo - Alumno Página 71 FinProceso
Objetivo Arrays 07_EJERCICIOS ARREGLOS
Ejercicio
16
Promedio
Grupo
Se necesita un programa que utiliza 3 arreglos, en los dos primeros se colocan los promedios de dos grupos de 5 alumnos cada uno y el tercer arreglo almacenara el promedio mas alto de cada posicion. Imprimir los promedios mas altos.
Proceso ejercicio16_PromedioGrupo
// Se necesita un programa que utiliza 3 arreglos, en los dos primeros se colocan // los promedios de dos grupos de 5 alumnos cada uno y el tercer arreglo almacenara // el promedio mas alto de cada posicion. Imprimir los promedios mas altos.
// Inicializar los arreglos
Dimension grupo1[5], grupo2[5], prom[5];
// Inicializar variables indice <- 0;
Para indice<-1 hasta 5 hacer
Escribir "Dame promedio ", indice, " del primer grupo: "; Leer grupo1[indice];
Escribir "Dame promedio ", indice, " del segundo grupo: "; Leer grupo2[indice];
si grupo1[indice] > grupo2[indice] entonces prom[indice] <- grupo1[indice]; Sino
prom[indice] <- grupo2[indice]; FinSi
FinPara
Para indice<-1 hasta 5 Hacer
Escribir "Promedio mayor ",indice, ":", prom[indice]; FinPara
Cuaderno de Trabajo - Alumno Página 72
Objetivo Arrays 07_EJERCICIOS ARREGLOS
Ejercicio
17
Promedio Grupo
con
Bidimensionales
Se necesita de un programa que utiliza un arreglo de 5 renglones y cuatro columnas para almacenar los 3 parciales y su promedio de 5 alumnos
Proceso ejercicio17_PromediosConBidimensionales
// Se necesita de un programa que utiliza un arreglo de 5 renglones y cuatro columnas // para almacenar los 3 parciales y su promedio de 5 alumnos
//Arreglos
Dimension calificaciones[5,4];
num_alumn<-0; parcial <-0; acum_cal <-0;
Para num_alumn<-1 hasta 5 Hacer Borrar Pantalla
acum_cal <- 0
Para parcial<-1 hasta 3 Hacer
Escribir "Calificacion del alumno ",num_alumn, " en parcial:", parcial Leer calificaciones[num_alumn,parcial]
acum_cal <- acum_cal + calificaciones[num_alumn,parcial] FinPara
calificaciones[num_alumn,parcial] <- acum_cal /3 FinPara
// Falta hacer un despliegue de todo el arreglo. FinProceso
Objetivo Arrays 07_EJERCICIOS ARREGLOS
Ejercicio
18
Matriz
Alumnos
Se necesita un programa que utiliza una matriz de 10 renglones y 3 columnas. En las dos primeras columnas se colocan los promedios de los 10 alumnos de dos grupos (A y B) y en la tercera columna se almacenara el promedio mas alto de cada posicion.
Proceso ejercicio18_MatrizAlumnos
// Se necesita un programa que utiliza una matriz de 10 renglones y 3 columnas. // En las dos primeras columnas se colocan los promedios de los 10 alumnos de // dos grupos (A y B) y en la tercera columna se almacenara el promedio mas alto // de cada posicion.
Dimension grupos[10,3]; alumno <- 0;
Cuaderno de Trabajo - Alumno Página 73 Para alumno<-1 hasta 10 Hacer
Escribir "Promedio del alumno ",alumno, " del primer grupo:"; Leer grupos[alumno,1];
Escribir "Promedio del alumno ",alumno, " del segundo grupo: "; Leer grupos[alumno,2];
Si grupos[alumno,1] > grupos[alumno,2] Entonces grupos[alumno,3] <- grupos[alumno,1]; Sino grupos[alumno,3] <- grupos[alumno,2]; FinSi FinPara FinProceso
Objetivo Arrays 07_PRACTICAS ARRAYS
PRACTICA 32
Supermercado
Un supermercado necesita un programa en donde almacenar sus ingresos, los cuales son la sumatoria de todas las ventas realizadas a los clientes (100 clientes)
Objetivo Arrays 07_PRACTICAS ARRAYS
PRACTICA 33
Pares
Impares
Matriz
Necesitamos un programa que capture 20 numeros y despues de capturarlos que haga revision de estos para indicarnos cuantos son pares y cuantos son impares
Objetivo Arrays 07_PRACTICAS ARRAYS
PRACTICA 34
Cuadrado
Cubo
Se necesita un programa que capture 20 numeros en tres diferentes arreglos, en el primero se almacena el numero tal cual se tecleo, en el segundo se almacena el cuadrado de dicho numero y en el tercero su cubo.
Cuaderno de Trabajo - Alumno Página 74
PROBLEMAS INTERMEDIOS
Objetivo Estos ejercicios pueden llevar condiciones mas complejas, condiciones mulitples (sentencias tipo CASE), o condiciones anidadas. Tambien pueden llevar ciclos MIENTRAS… HASTA… o DESDE…HASTA.
De preferencia estos ejercicios debera realizarlos el alumno Y el profesor. O exponerlos el profesor en el pizarron para explicarlos y luego hacer según criterio del mismo algunos otros por cuenta del alumno.
El alumno debera generar el algoritmo en diagrama de flujo y pseudocodigo. Queda a criterio del profesor el uso de DFD, Psint o SLE
Temas por ver Pseudocodigo, asignacion de variables, tipos de datos sencillos, operaciones sencillas, condicionales (si…entonces), condicionales multiples (En CASO DE…), ciclos (MIENTRAS, HASTA, PARA)
Herramientas Cuaderno y lapiz PSint
Cuaderno de Trabajo - Alumno Página 75 Objetivo Practicar condicionales SI…ENTONCES anidadas 02_EJERCICIOS INTERMEDIOS
PROBLEMA
10
(Si..Entonces
anidadas)
"SAGA FALABELLA" se encuentra de aniversario y ha programado una serie de ofertas con la finalidad de brindar facilidades a sus clientes y al a vez de incrementar sus ventas. Estas ofertas se basan especificamente en un procentaje de descuento sobre el total de compra el cual varia de acuerdo al monto
* Por un monto mayor o igual a $500 se hara un descuento del 30%
* Por un monto menor de $500 pero mayor o igual a 200 se hara un descuento del 20% * Por un monto menor de $200 pero mayor o igual a 100 se hara un descuento del 10% * Considere 100 personas INICIO | | x=x+1 | Leer Consumo | | Si consumo >=500 entonces | | | | descuento = Consumo*30/100 | | | Sino | | Si consumo >=200 entonces | | | | | | descuento = Consumo*20/100 | | | | | Sino | | | Si consumo >=100 entonces | | | | | | | | descuento = Consumo*10/100 | | | | | | | Sino | | | | Descuento=0 | | | | | | | Fin_si | | | | | Fin_si | | | Fin_si | | Totalpagar= Consumo-Descuento | Imprimir Totalpagar | | Si x<>100 entonces | | x=x+1 | | | Fin_si |
Cuaderno de Trabajo - Alumno Página 76 FIN
Objetivo Practicas sentencias SI…Entonces anidadas 02_EJERCICIOS INTERMEDIOS
PROBLEMA
11
(Si..Entonces
anidadas)
Una tienda se dedica a la venta de computadoras, cuenta con 10 vendedores. Cada uno de ellos tiene un sueldo mensual pero ademas de su sueldo ganan una comision por venta
* Si el monto de venta es mayor de 1000 la comsion sera del 15%
* Si el monto de venta es mayor o igual a 500 y menor de 1000 la comision es del 5% * Si el monto de la venta es menor que 500 no tiene comision
INICIO | | x=x+1
| Leer "Sueldo", "Venta" | | Si venta>=1000 entonces | | Sueldo = Venta * 15/100 | | | Sino | | | | Si venta>=500 entonces | | Sueldo = Venta * 5/100 | | | | Sino | | Comision=0 | | | | Fin_si | | | Fin_si | | Sueldototal | Si x<>10 entonces | | x=x+1 | | | Fin_si | FIN
Cuaderno de Trabajo - Alumno Página 77 Objetivo Estructura con sentencias SI…ENTONCES anidadas 02_EJERCICIOS INTERMEDIOS
PROBLEMA
12
(Si..Entonces
anidadas)
Katthy organiza una fiesta en la cual una computadora controla el ingreso mediante 5 claves. Si se ingresa al menos una clave incorrecta esta imprimira "TE EQUIVOCASTE DE FIESTA" y no permitira el ingreso. Si las 5 claves son correctas imprimira "BIENVENIDO A LA FIESTA"
Las Claves son: 1: "TIENES" 2: "QUE SER" 3: "INVITADO" 4: "PARA" 5: "INGRESAR" INICIO Leer Claves: C1,C2,C3,C4,C5 Si C1<>"TIENE" entonces:
escribir "Te Equivocaste de Fiesta" Sino
escribir "Ingrese la Clave2" Si C2<>"QUE_SER" entonces: escribir "Te Equivocaste de Fiesta" Sino
escribir "Ingrese la Clave3" Si C3<>"INVITADO" entonces: escribir "Te Equivocaste de Fiesta" Sino
escribir "Ingrese la Clave4" Si C4<>"PARA" entonces:
escribir "Te Equivocaste de Fiesta" Sino
escribir "Ingrese la Clave5" Si C5<>"INGRESAR" entonces:
escribir "Te Equivocaste de Fiesta" Sino
escribir "Bienvenido a la Fiesta" Fin_si Fin_si Fin_si Fin_si Fin_si FIN
Cuaderno de Trabajo - Alumno Página 78 Objetivo Practicar las condiciones multiples y/o anidadas. El
ejercicio puede resolverse usando las sentencias SI…ENTONCES de manera anidada o la sentenca EN CASO DE…
02_EJERCICIOS INTERMEDIOS
PROBLEMA 13
(Condiciones
multiples)
Diseñar un programa que permita controlar la venta de pasajes a los clientes según la categoría y el destino. Necesitamos identificar al cliente (ya sea un numero o el nombre), las categorias pueden ser: ECONOMICO, NORMAL, VIP. Los destindos pueden ser: Rio Bravo, Valle Hermoso, Reynosa, Monterrey. Queremos saber el precio del boleto y que lo muestre en pantalla.
INICIO
| Leer (cliente) | Leer (CAT) |
| Si CAT= "económico" , entonces | | Escribir ("ingrese destino") | |
| | Si DES = "Tumbes", entonces | | | Escribir ("No hay pasajes") | | |
| | Sino
| | | Si DES ="Piura", entonces | | | | P1 = 12
| | | | Escribir (P1) | | | |
| | | Sino
| | | | Si DES ="Talara", entonces | | | | | P2 = 18
| | | | | Escribir (P2) | | | | |
| | | | Sino
| | | | | Si DES = "Lima" , entonces | | | | | | Escribir ("No hay pasajes") | | | | | Fin_si | | | | Fin_si | | | Fin_si | | Fin_si | | | Sino
| | Si CAT =Imperial, entonces | | | Escribir ("Ingrese destino") | | |
| | | Si DES = Tumbes, entonces | | | P3=80
| | | Escribir ("P3") | | |
| | | Sino
Cuaderno de Trabajo - Alumno Página 79 | | | | | P4= 20
| | | | | Escribir (P4) | | | | |
| | | | Sino
| | | | | Si DES =Talara, entonces | | | | | | P5=30
| | | | | | Escribir (P5) | | | | | |
| | | | | Sino
| | | | | | Si DES = Lima , entonces | | | | | | | Escribir ("No hay pasajes") | | | | | | | | | | | | | Fin_si | | | | | Fin_si | | | | Fin_si | | | Fin_si | | | | | Sino
| | | Si CAT = Bus cama , entonces | | | | Escribir ("Ingrese destino") | | | |
| | | | Si DES = Tumbes, entonces | | | | P6=100
| | | | Escribir ("P6") | | | |
| | | | Sino
| | | | | Si DES =Piura, entonces | | | | | | Escribir ("No hay pasaje") | | | | | |
| | | | | Sino
| | | | | | Si DES =Talara, entonces | | | | | | | Escribir ("No hay pasaje") | | | | | | |
| | | | | | Sino
| | | | | | | Si DES = Lima, entonces | | | | | | | P7=170 | | | | | | | Escribir(P7) | | | | | | Fin_si | | | | | Fin_si | | | | Fin_si | | | Fin_si | | Fin_si | | |Fin_si | FIN