Cuaderno de Ejercicios para que el Alumno desarrolle algoritmos y diagramas de flujo. Complemento al curso de Estructuras de datos. Para ver los ejercicios resueltos como alumno, tienes que estar registrado en nuestras Aulas Virtuales de www.idsystemsmx.com o la Universidad de Matamoros.
Cuaderno de Ejercicios para que el Alumno desarrolle algoritmos y diagramas de flujo. Complemento al curso de Estructuras de datos. Para ver los ejercicios resueltos como alumno, tienes que estar registrado en nuestras Aulas Virtuales de www.idsystemsmx.com o la Universidad de Matamoros.
Cuaderno de Ejercicios para que el Alumno desarrolle algoritmos y diagramas de flujo. Complemento al curso de Estructuras de datos. Para ver los ejercicios resueltos como alumno, tienes que estar registrado en nuestras Aulas Virtuales de www.idsystemsmx.com o la Universidad de Matamoros.
Cuaderno de Ejercicios Estructura de Datos se encuentra bajo una Licencia Creative Commons Atribucin-No Comercial- Licenciamiento Recproco 3.0 Unported. IDSystems Octubre 2011 - 2014 [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 2
IDSystems., 2010 2 edicion - 2011 3 edicin 2013 4 edicin 2014 ISBN: Impreso en Mexico / Printed in Mexico Impreso por Bubok
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 3
Contenido Contenido ................................................................................................................................................................... 3 INTRODUCCION .......................................................................................................................................................... 8 PARTE I ..................................................................................................................................................................... 10 ENTORNO DEL ESTUDIANTE ..................................................................................................................................... 10 Participacion 1 Conociendo el PLE (Personal Learning Environment) .................................................................. 10 Tarea 1 Diseando 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 Inversin 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 Contrasea ..................................................................................................................................... 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 (SiEntonces) ................................................................................................................................. 44 PROBLEMA 5 (Si..Entonces anidadas) .................................................................................................................. 45 PROBLEMA 6 (Si..Entonces, operadores logicos) ................................................................................................. 46 PROBLEMA 7 (SiEntonces) ................................................................................................................................. 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 PRACTICA 22 Color Auto ...................................................................................................................................... 53 [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
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 ACTIVIDAD 22 Calcular capital en un tiempo determinado ............................................................................ 123 [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 aos ................................................................................................... 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 ACTIVIDAD 66 Notas de alumnos .................................................................................................................... 155 [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 Tamao 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 RETO 5 Convertir un numero Binario a Decimal y viceversa........................................................................... 168
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 ensear los conceptos bsicos de la programacin. El temario abarca los conceptos de algoritmos, su uso, su aplicacin, las sentencias basicas y preparar al alumno para aprender los conceptos de estructuras de datos. Aunque se recomienda el uso de un lenguaje de programacin computacional para la enseanza de dichos conceptos, este Cuaderno hace referencia a algunos software bsicos de enseanza de programacin no basada en un lenguaje informtico propiamente dicho como C++, Delphi, Pascal o Basic. DFD es un software para la creacin de diagramas de flujo en la cual el alumno aprende y comprende adems de los smbolos como se va estructurando un programa y viendolo en ejecucin. El PseInt es un excelente software de programacin en pseudocodigo basado en C++ (creando en l) para el aprendizaje de los conceptos bsicos sobre asignacin, condicionales, ciclos. En lenguaje espaol, con instrucciones sencillas, el alumno se concentra y centra ms en los conceptos que en las instrucciones de un lenguaje informtico completo. Adems, 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. Tambin hay una version fork extendida de dicho programa que incluye registros (estructuras) y archivos. El SLE 2.0, es otro software para la enseanza de programacin tambin basado en C++ con muchas ms instrucciones y funciones, adems de incorporar arreglos, tipos de datos, manejo de archivos. Permite al estudiante adquirir el conocimiento de las estructuras de datos. Aunque no incorpora la generacin de diagramas de flujo, sus instrucciones en espaol, muy semejantes a C++ lo prepara para el aprendizaje de ste importante lenguaje y le ensea las bases para la creacin correcta de algoritmos. Por ltimo, LPP es otro derivado para la enseanza de algortimos basados en pseudocodigo en espaol, 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 bsicos, 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 discrecin del profesor mostrar la solucin al problema o que el alumno lo resuelva por su cuenta. Aqu se vern la totalidad de los ciclos, condiciones anidadas, condiciones mltiples 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 discrecin del profesor mostrar la solucin al problema o que el alumno lo elabore por s mismo o en equipo. Los ejercicios son ms dficiles y abarcaran adems 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 solucin 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 informticos reales.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 9
En sta ltima edicin 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 discresin del profesor manejarlos con o sin solucin en clase.
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.
L.S.C. Sergio Hugo Sanchez Olivares
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 seran estas y en que categoras.
Conocer cules son las redes sociales ms 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 segn tu propia experiencia. Contrasta con el resto de las respuestas en el foro para comenzar un debate. Esto lo organizar el profesor.
Tarea 1 Diseando el PLE
Sobre la base de la participacin 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 informacin Curacin y gestin de contenidos 2.Redes Sociales Comunicacin, intercambio y colaboracin 3.Cocina de contenidos Diseo de materiales y tareas 4.Produccin multimedia Publicacin y reflexin 5.Herramientas y aplicaciones Software para realizacin u operacin de actividades
A continuacin se da una lista de las herramientas que podra utilizar el alumno. ste, debe acomodarlas de acuerdo a cada categora presentada anteriormente.
1. Sistemas Operativos 2. Navegadores [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 imgenes 13. Almacenamiento de contenido/documentos 14. Almacenamiento video/audio 15. Galeria de imgenes/iconos 16. Aplicaciones Web 2.0
Como ejemplo de lo que podra 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 Electrnico 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 informacin Buscadores Google, Metacrawler Redes Sociales Foros PortalFox, laWebdelprogramador, UniversalThread Redes Sociales Blogs Blogger, Wordpress Acceso a la informacin Canal de noticias El Universal, LaWebDelProgramador, Genbeta Acceso a la informacin Sitios de consulta Wikipedia, MediaWiki Acceso a la informacin 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 imgenes / conos
Cocina de contenidos Aplicaciones Web 2.0
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 continuacin 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 prctica). El objetivo a cumplir, la descripcin del problema y los cuadros en blanco para llenarse. Generalmente en estos recuadros se escribir el algoritmo en formato de pseudocdigo. ste pseudocdigo puede estar en formato general, en PseInt o SLE. Tambin 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:
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 13
Ejemplo de realizacion en PseInt:
Codigo PSEInt
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 14
Ejemplo de realizacion usando SLE:
El mismo programa pero creado en el software SLE quedaria asi:
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 mostrarn el problema y la solucin. Generalmente tiene un valor de 1 punto al realizarlos. Las prcticas y problemas solamente mostrarn el problema y el alumno debe desarrollar la solucin. Generalmente tienen un valor de 2 puntos. En algunas ocasiones la prctica puede mostrar el diagrama de flujo o la pantalla de salida para que el alumno se de una idea de cmo debe quedar resuelto.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 17
EJERCICIOS DE COMPRENSION
Objetivo En esta primera parte, se encuentran los ejercicios y practicas que vienen en el Manual Diseo 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, pequeos y como limite contener expresiones simples de condicion SiEntoncesSino. 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 (sientonces) Herramientas Cuaderno y lapiz Plantilla de diagrama de flujo DFD PSeint
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 18
IDENTIFICADORES
Objetivo Inicializar variables, mostrar texto en pantalla y capturar datos 01_EJERCICIOS VARIABLES Ejercicio 1 Calcular Edad Realizar un algoritmo que calcule la edad de una persona a la cual solo se le solicitar el ao en que naci.
Proceso ejercicio01 // Realizar un algoritmo que calcule la edad de una persona a la cual // solo se le solicitara el ao en que nacio.
edad<-0; ano_nac <-0; ano_act <-0; Escribir "En que ao naciste?"; Leer ano_nac; Escribir "En que ao estamos?"; Leer ano_act; Edad <- ano_act - ano_nac Escribir "Tu edad actual es ", edad;
FinProceso
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 19
Objetivo Variables y operaciones 01_EJERCICIOS VARIABLES Ejercicio 2 Inversin Banco Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara despues de un ao 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 ao 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;
FinProceso
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 20
SENTENCIAS BASICAS
Objetivo Variables y Operaciones 01_PRACTICAS VARIABLES PRACTICA 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 26
CONDICIONALES
Objetivo Variables y Operaciones 02_EJERCICIOS CONDICIONALES SIMPLES Ejercicio 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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;
FinProceso
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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.
prom <-0; [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
FinProceso
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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; [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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;
FinProceso
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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;
FinProceso
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 aos
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 36
Objetivo Condicionales Simples: Si Entonces 02_PRACTICAS CONDICIONALES SIMPLES PRACTICA 13 Contrasea Necesitamos verificar que la contrasea que escribe el usuario es igual a "solrac". Dependiendo de lo ingresado desplegar el mensaje correspondiente.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 37
Objetivo Condicionales Simples: Si Entonces 02_PRACTICAS CONDICIONALES SIMPLES PRACTICA 14 Ordernar 2 numeros Que lea dos numeros y los imprima en forma ascendente.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 39
Objetivo Condicionales Simples: Si Entonces 02_PRACTICA CONDICIONALES SIMPLES PRACTICA 16 Encontrar Numero Mayor Leer tres numeros diferentes e imprimir el numero mayor
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 40
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 aplicacin de diagramas de flujo y pseudocodigo.
Estos ejercicios deberan ser simples, pequeos y como limite contener expresiones simples de condicion SiEntoncesSino. 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 (sientonces) Herramientas Cuaderno y lapiz Plantilla de diagrama de flujo DFD PSint
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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. d) El promedio de notas aprobadas y desaprobadas.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 43
Objetivo Sencillo ejemplo para practicar asignacion de variables, realizar operacin e imprimir. Si es para dos personas, mostrar como el algoritmo se repite (sin usar ciclos) 01_EJERCICIOS BASICOS PROBLEMA 3 (Asignacion) Dada las horas trabajadas de una persona la tarifa de pago. Calcular su salario e imprimirla.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 44
Objetivo Practicar el uso de sentencias condicionales SIENTONCES 01_EJERCICIOS BASICOS PROBLEMA 4 (SiEntonces) 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 45
Objetivo Trabajar con las sentencias SIENTONCES 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 46
Objetivo Pratica con condicionales SIENTONCES y operadores logicos (dos condiciones en 1) 01_EJERCICIOS BASICOS PROBLEMA 6 (Si..Entonces, operadores logicos) Disear un formulario que permita ingresar dos notas malas y determine su promedio, debe mostrar un comentario si este est aprobado o desaprobado.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 47
Objetivo Practica de condicionales SIENTONCES. Uso de operaciones de division y como calcular el residuo 01_EJERCICIOS BASICOS PROBLEMA 7 (SiEntonces) Dado un tiempo en segundos, calcular los segundos restantes que le correspondan para convertirse exactamente en minutos.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 48
Objetivo Practica con sentencias condicionales SIENTONCES 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 ms 0.1*cada minuto adicional a los tres primeros
Objetivo Problema simple de asignacion, lectura e impresin. 01_EJERCICIOS BASICOS PROBLEMA 9 (Asignacion) Disear un algoritmo que me permita ingresar un valor inicial y luego un valor final, para luego calcular el valor central de los nmeros.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 49
EJERCICIOS DE COMPRENSION CONDICIONALES MULTIPLES
Objetivo Condicionales Multiples: SEGNHACER 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 51
Objetivo Condicionales Multiples: SEGNHACER 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: [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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: SEGNHACER 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 5 Barniz de uas
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 53
Objetivo Condicionales Multiples: SEGNHACER 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 54
CICLOS
Objetivo Ciclo MIENTRAS HACER 04_EJERCICIOS CICLO HACER Ejercicio 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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.
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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 58
Objetivo Ciclo MIENTRAS HACER 04_PRACTICAS CICLOS PRACTICA 25 Contrasea 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 60
Objetivo Ciclo REPETIR HASTA QUE 05_EJERCICIOS CICLO REPETIRHASTA 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; [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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"
FinProceso
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 62
Objetivo Ciclo REPETIR HASTA QUE 05_EJERCICIOS CICLO REPETIRHASTA 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 65
Objetivo Ciclo HACERPARA 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;
FinPara [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 66
FinProceso
Objetivo Ciclo HACERPARA 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; Escribir tabla, " * ", x, " = ", resultado; [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Objetivo Ciclo HACERPARA 06_PRACTICAS CICLOS PRACTICA 29 Calif Alumno Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Estructura de Datos
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 68
Objetivo Ciclo HACERPARA 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 69
Objetivo Ciclo HACERPARA 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
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 FinPara [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
FinProceso
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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; [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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 DESDEHASTA.
De preferencia estos ejercicios debera realizarlos el alumno Y el profesor. O exponerlos el profesor en el pizarron para explicarlos y luego hacer segn 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 (sientonces), condicionales multiples (En CASO DE), ciclos (MIENTRAS, HASTA, PARA) Herramientas Cuaderno y lapiz PSint
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 75
Objetivo Practicar condicionales SIENTONCES 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 | [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 76
FIN
Objetivo Practicas sentencias SIEntonces 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 77
Objetivo Estructura con sentencias SIENTONCES 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 78
Objetivo Practicar las condiciones multiples y/o anidadas. El ejercicio puede resolverse usando las sentencias SIENTONCES de manera anidada o la sentenca EN CASO DE 02_EJERCICIOS INTERMEDIOS PROBLEMA 13 (Condiciones multiples) Disear un programa que permita controlar la venta de pasajes a los clientes segn la categora 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= "econmico" , 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 | | | | Si DES =Piura, entonces [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 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
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 80
Objetivo Practicar condiciones multiples, anidadas y operadores logicos 02_EJERCICIOS INTERMEDIOS PROBLEMA 14 (Si..Entonces multiples, anidadas, oper. Logicos) Hacer un programa que muestre el mensaje de acuerdo a la edad ingresada: Si la edad es de 0 a 10 aos nio, si la edad es de 11 a 14 aos pber , si la edad es de 15 a 18 aos adolescente , si la edad es de 19 a 25 aos joven , si la edad es de 26 a 65 aos adulto, si la edad es mayor de 65 anciano inicio Leer n si n >=0 y n<=10 entonces escribir nio sino si n >=11 y n<=14 entonces escribir pber sino si n>=15 y n<=18 entonces escribir adolescent e sino si n>=19 y n<=25 entonces escribir joven sino si n>=26 y n<=65 entonces escribir adulto sino | si n>65 entonces escribir anciano fin_si fin_si fin_si fin_si fin_si fin_si fin
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 81
Objetivo Practicar ciclo REPETIRHASTA y sentencia SI..ENTONCES 02_EJERCICIOS INTERMEDIOS PROBLEMA 15 (Ciclo Repetir..hasta, Si..Entonces) Disear un algoritmo que me permita determinar si un numero ingresado desde el teclado es un numero par o impar. Inicio A : entero Repetir Ingresar A Hasta (A > 0) Si (A mod 2 = 0) entonces Mostrar "A es par" Sino Mostrar "A es impar" Fin_Si Fin
Objetivo Practicar condicionales SI..ENTONCES. Este ejercicio agrega la complejidad para determinar el residuo de operaciones de division y la resolucion de aos bisiestos 02_EJERCICIOS INTERMEDIOS PROBLEMA 16 (Si..Entonces, Bisiesto) Escribir un algoritmo que determine si un ao es bisiesto. Un ao es bisiesto si es mltiplo de 4 (por ejemplo 1984). Los aos mltiplos de 100 no son bisiestos, salvo si ellos son tambin mltiplos de 400 (2000 es bisiesto, pero; 1800 no lo es). Inicio Ao, B : entero Leer "Ao" Si (B mod 4000 = 0) entonces Mostrar "Ao es bisiesto" Fin_Si Si (B mod 100 = 0) entonces Mostrar "Ao no es bisiesto" Fin_Si Si (B mod 4 = 0) entonces Mostrar "Ao es bisiesto" Sino Mostrar "Ao no es bisiesto" Fin_Si Fin
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 82
Objetivo Practicar condiciones SI..Entonces multiples 02_EJERCICIOS INTERMEDIOS PROBLEMA 17 (Si..Entonces multiples) Dado un monto calcular el descuento Descuento: 25% si m>=300 20% si 150<=m<300 no hay descuento si m<150 variable M,D Inicio leer M si M>=300 entonces D<-25*M/100 Si_no M>=150 y M<300 entonces D<-M*20/100 si_no D<-0 Fin_si Escribir descuento Fin
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 83
Objetivo Practicar condiciones multiples usando EN CASO DE y SIENTONCES. Se proponen dos soluciones para resolver el problema 02_EJERCICIOS INTERMEDIOS PROBLEMA 18 (En caso de.., Si..Entonces) Habitaciones de una casa rural (Alternativa mltiple - Pseudocdigo CEE)
En la siguiente tabla se muestra el nmero de camas de las habitaciones de una casa rural, adems de la planta donde est ubicada cada una de ellas:
Habitacin Camas Planta
1. Azul 2 Primera
2. Roja 1 Primera
3. Verde 3 Segunda
4. Rosa 2 Segunda
5. Gris 1 Tercera
Disee el algoritmo (en pseudocdigo) de un programa que: 1) Muestre el listado de las habitaciones de la casa rural. 2) Pida por teclado el nmero (dato entero) asociado a una habitacin. 3) Muestre por pantalla la planta y el nmero de camas de la habitacin seleccionada.
Nota: Si el nmero introducido por el usuario, no est asociado a ninguna habitacin, se mostrar el mensaje: "ERROR: <nmero> no est asociado a ninguna habitacin.".
En pantalla: Listado de habitaciones: Listado de habitaciones: Listado de habitaciones: Listado de habitaciones:
1. Azul 1. Azul 1. Azul 1. Azul 2. Roja 2. Roja 2. Roja 2. Roja 3. Verde 3. Verde 3. Verde 3. Verde 4. 4. 4. 4. Rosa Rosa Rosa Rosa 5. Gris 5. Gris 5. Gris 5. Gris
Introduzca nmero de habitacin: Introduzca nmero de habitacin: Introduzca nmero de habitacin: Introduzca nmero de habitacin: 3 33 3 La La La La Verde tiene 3 cama/s y est en la segunda planta. Verde tiene 3 cama/s y est en la segunda planta. Verde tiene 3 cama/s y est en la segunda planta. Verde tiene 3 cama/s y est en la segunda planta.
Listado de habita Listado de habita Listado de habita Listado de habitaciones: ciones: ciones: ciones:
1. Azul 1. Azul 1. Azul 1. Azul 2. Roja 2. Roja 2. Roja 2. Roja 3. Verde 3. Verde 3. Verde 3. Verde 4. 4. 4. 4. Rosa Rosa Rosa Rosa 5. Gris 5. Gris 5. Gris 5. Gris
Introduzca nmero de habitacin: Introduzca nmero de habitacin: Introduzca nmero de habitacin: Introduzca nmero de habitacin: 7 77 7 ERROR: 7 no est asociado a ninguna habitacin. ERROR: 7 no est asociado a ninguna habitacin. ERROR: 7 no est asociado a ninguna habitacin. ERROR: 7 no est asociado a ninguna habitacin.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 84
NOTA:
A partir de aqu se utilizara el software SLE 2.0 o bien LPP.
En las primeras versiones de PseInt no soportaba los modulos o subprocesos, asi como algunas funciones de cadena. Ya en la version 2014, estas estan incorporadas al programa, asi que se presentarn algunos ejercicios con varias versiones para los diferentes software.
Las estructuras (o registros), asi como el manejo de Archivos no son soportadas todavia por la ultima version de PseInt. Por lo que es necesario trabajar con otro software.
LPP es un software muy parecido a PseInt que facilita la tarea de trabajar con estos temas. Sin embargo, SLE 2.0 se selecciono desde un principio porque se asemeja mas a C++ en su sintaxis, conservando la funcionalidad de pseudocodigo en espaol. Y ya que el siguiente curso en la curricula se ve ste lenguaje de programacin para los alumnos es mucho ms sencillo pasar de SLE 2.0 (con uso explicito de punto y coma, llaves, declaracion de variables forzosa, etc.) a C++ que de PseInt a C++.
Queda a discrecin del profesor cual de las herramientas utilizarn los alumnos. En los primeros algoritmos se tenia un perfil flexible para que el alumno se concentre en la lgica y no en la sintaxis. En estos ejercicios que se lleguen a mostrar en PseInt, deber seleccionarse un perfil como Taller de Informatica el cual es ms restrictivo.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 85
ESTRUCTURAS
Objetivo ESTRUCTURAS 08_EJERCICIOS ESTRUCTURAS Ejercicio 19 Alumnos Se necesita un programa que capture el nombre, numero de control, calificacion del primero, segundo y tercer parcial y promedio final de 2 alumnos
LPP /* Ejercicio19 Se necesita un programa que capture el nombre, numero de control, calificacion del primero, segundo y tercer parcial y promedio final de 2 alumnos */
//Estructuras registro reg_alumno cadena[30] alumno entero num_control arreglo[4] de entero calif fin registro
/* declaracin de la variable alum */ arreglo[2] de reg_alumno ficha real promedio
inicio // Comenzamos capturando los datos del primer alumno Escriba "Dame el nombre del primer alumno " lea ficha[1].alumno Escriba "Dame el numero de control del primer alumno " lea ficha[1].num_control Escriba "Dame la calificacion 1 del primer alumno " lea ficha[1].calif[1] Escriba "Dame la calificacion 2 del primer alumno " lea ficha[1].calif[2] Escriba "Dame la calificacion 3 del primer alumno " lea ficha[1].calif[3]
// Hacer la operacion del promedio ficha[1].calif[4] <- ( ficha[1].calif[1] + ficha[1].calif[2] + ficha[1].calif[3] ) / 3 Escriba " Promedio: ", ficha[1].calif[4] [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 86
Llamar nueva_linea
// Comenzamos capturando los datos del segundo alumno
Escriba "Dame el nombre del segundo alumno " lea ficha[2].alumno Escriba "Dame el numero de control del segundo alumno " lea ficha[2].num_control Escriba "Dame la calificacion 1 del segundo alumno " lea ficha[2].calif[1] Escriba "Dame la calificacion 2 del segundo alumno " lea ficha[2].calif[2] Escriba "Dame la calificacion 3 del segundo alumno " lea ficha[2].calif[3]
// Hacer la operacion del promedio ficha[2].calif[4] <- ( ficha[2].calif[1] + ficha[2].calif[2] + ficha[2].calif[3] ) / 3 Escriba " Promedio: ", ficha[2].calif[4] Llamar nueva_linea //Ahora hacer la comparativa para saber cual obtuve mejor promedio si (ficha[1].calif[4] > ficha[2].calif[4]) entonces Escriba ficha[1].alumno, " salio mejor de promedio que ", ficha[2].alumno sino Escriba ficha[2].alumno, " salio mejor de promedio que ", ficha[1].alumno fin si fin SLE /* Ejercicio19 Se necesita un programa que capture el nombre, numero de control, calificacion del primero, segundo y tercer parcial y promedio final de 2 alumnos*/
// Estructuras var promedio : numerico //variable normal
inicio cls() // Comenzamos capturando los datos del primer alumno imprimir ("Dame el nombre del primer alumno ") leer (ficha[1].alumno) [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 87
imprimir ("Dame el numero de control del primer alumno ") leer (ficha[1].num_control) imprimir ("Dame la calificacion 1 del primer alumno ") leer (ficha[1].calif[1]) imprimir ("Dame la calificacion 2 del primer alumno ") leer (ficha[1].calif[2]) imprimir ("Dame la calificacion 3 del primer alumno ") leer (ficha[1].calif[3]) // Hacer la operacion del promedio ficha[1].calif[4] = (ficha[1].calif[1] + ficha[1].calif[2] + ficha[1].calif[3] ) /3 imprimir ("Promedio: ",ficha[1].calif[4],"\n")
// Comenzamos capturando los datos del segundo alumno imprimir ("Dame el nombre del segundo alumno ") leer (ficha[2].alumno) imprimir ("Dame el numero de control del segundo alumno ") leer (ficha[2].num_control) imprimir ("Dame la calificacion 1 del segundo alumno ") leer (ficha[2].calif[1]) imprimir ("Dame la calificacion 2 del segundo alumno ") leer (ficha[2].calif[2]) imprimir ("Dame la calificacion 3 del segundo alumno ") leer (ficha[2].calif[3]) // Hacer la operacion del promedio ficha[2].calif[4] = (ficha[2].calif[2] + ficha[2].calif[2] + ficha[2].calif[3] ) /3 imprimir ("Promedio: ",ficha[2].calif[4],"\n")
//Ahora hacer la comparativa para saber cual obtuve mejor promedio si (ficha[1].calif[4] > ficha[2].calif[4]) { imprimir ( "\n",ficha[1].alumno," salio mejor de promedio que ", ficha[2].alumno) sino imprimir ( "\n",ficha[2].alumno," salio mejor de promedio que ", ficha[1].alumno)
}
fin
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 88
Objetivo ESTRUCTURAS 08_EJERCICIOS ESTRUCTURAS Ejercicio 20 Captura Productos Se necesita un programa que almacene la clave, descripcion, precio de compra, precio de menudeo y preco de mayoreo de 10 productos
LPP /* Ejercicio20_CapturaProductos Se necesita un programa que almacene la clave, descripcion, precio de compra, precio de menudeo y preco de mayoreo de 10 productos */
registro est_prod Entero clave cadena[30] descripcion arreglo[3] de real precios fin registro arreglo[10] de est_prod producto Entero indice
Inicio Llamar limpiar_pantalla()
para indice <- 1 hasta 10 haga
Escriba "Clave del producto", indice,":" lea producto[indice].clave Llamar Nueva_linea
Escriba "Descripcion del producto", indice, ":" lea producto[indice].descripcion
Escriba "Precio de compra del producto", indice, ":" lea producto[indice].precios[1]
Escriba "Precio de menudeo del producto", indice, ":" lea producto[indice].precios[2]
Escriba "Precio de mayoreo del producto", indice, ":" lea producto[indice].precios[3]
Fin para Fin SLE /* Ejercicio20_CapturaProductos Se necesita un programa que almacene la clave, descripcion, precio de compra, precio de menudeo y preco de mayoreo de 10 productos */ [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
inicio cls() desde indice = 1 hasta 10 { imprimir ("Clave del producto", indice, ":") leer (producto[indice].clave)
imprimir ("Descripcion del producto", indice, ":") leer (producto[indice].descripcion)
imprimir ("Precio de compra del producto", indice, ":") leer (producto[indice].precios[1])
imprimir ("Precio de menudo del producto", indice, ":") leer (producto[indice].precios[2])
imprimir ("Precio de mayoreo del producto", indice, ":") leer (producto[indice].precios[3])
imprimir ("==============================\n") } fin
Objetivo ESTRUCTURAS 08_PRACTICAS ESTRUCTURAS PRACTICA 35 Captura Alumnos Hacer un programa para una escuela, el cual almacene el nombre, direccion, telefono, semestre, grupo y matricula de 100 alumnos
LPP SLE
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 90
MODULOS o SUBPROCESOS
Objetivo MODULOS 09_EJERCICIOS MODULOS Ejercicio 21 Cuadrado Numero Crear un programa que despliegue el cuadrado de un numero dado por el usuario
SLE /* Ejercicio21_CuadradoNumero Crear un programa que despliegue el cuadrado de un numero dado por el usuario */
inicio cls() imprimir ("Primera llamada al modulo Cuadrado\n") Cuadrado()
imprimir ("Segunda llamada al modulo Cuadrado\n") Cuadrado()
imprimir ("Tercera llamada al modulo Cuadrado\n") Cuadrado() fin
/* Modulo Cuadrado */ subrutina Cuadrado() var numero, resultado: numerico inicio imprimir ("Dame un numero") leer (numero) resultado = numero * numero imprimir ("Resultado: ",resultado,"\n\n")
fin PSEINT Proceso Ejercicio21_CuadradoNumero // Este ejercicio basado en SLE. // Crear un programa que despliegue el cuadrado de un numero dado por el usuario Borrar Pantalla [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 91
Escribir "Primera llamada al modulo Cuadrado" Cuadrado() Escribir "Segunda llamada al modulo Cuadrado" Cuadrado() Escribir "Tercera llamada al modulo Cuadrado" Cuadrado
FinProceso
//Ahora pondremos el modulo o subrutina SubProceso Cuadrado() definir numero, resultado como Numerico Escribir "Dame un numero" Leer numero resultado = numero * numero Escribir "Resultado: ", resultado FinSubProceso LPP
Objetivo MODULOS 09_EJERCICIOS MODULOS Ejercicio 22 Calcular Area Crear un programa que llame a un modulo llamado AREA el cual calcula el area de un rectangulo y para hacerlo debe recibir dos datos desde el algoritmo principal, uno es la base y otro la altura
SLE /* Ejercicio22_CalcularArea Crear un programa que llame a un modulo llamado AREA el cual calcula el area de un rectangulo y para hacerlo debe recibir dos datos desde el algoritmo principal, uno es la base y otro la altura */
var dato1,dato2:numerico resp:cadena
inicio cls() repetir imprimir ("Dame base del rectangulo:") leer (dato1) imprimir ("Dame altura del rectangulo") leer (dato2) Area(dato1,dato2) imprimir ("Deseas calcular otra area? (s/n)") leer (resp) hasta (resp=="n") fin
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 92
/* Modulo Area */ subrutina Area(base,altura:numerico) retorna numerico var resultado: numerico
inicio resultado = base * altura imprimir ("Resultado: ",resultado,"\n\n")
retorna (resultado) fin PSEINT //Modulo AREA SubProceso Area( base, altura) definir resultado como numerico resultado = base * altura Escribir "Resultado: ", resultado
FinSubProceso
Proceso Ejercicio22_CalcularArea //Crear un programa que llame a un modulo llamado AREA, el cual calcula el area de //un rectangulo y para hacerlo debe recibir dos datos desde el algoritmo principal, //uno es la base y el otro la altura
//variables definir dato1, dato2 como real definir resp como caracter Borrar Pantalla Repetir Escribir "Dame la base del rectangulo" leer dato1 Escribir "Dame la altura del rectangulo" leer dato2 Area( dato1, dato2) Escribir "Deseas calcular otra area? (s/n)" leer resp Hasta Que resp = "n"
FinProceso
LPP
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 93
Objetivo MODULOS 09_EJERCICIOS MODULOS Ejercicio 23 Precio Neto Se necesita un programa que mande llamar a un modulo llamado PRECIO_NETO, el cual para funcionar correctamente debe recibir desde el algoritmo principal el precio y el descuento deseado, al terminar de ejecutarse se debe regresar el nuevo precio al algoritmo principal.
SLE /* Ejercicio23_PrecioNeto Se necesita un programa que mande llamar a un modulo llamado PRECIO_NETO, el cual para funcionar correctamente debe recibir desde el algoritmo principal el precio y el descuento deseado, al terminar de ejecutarse se debe regresar el nuevo precio al algoritmo principal. */
var p_neto, prec, desc:numerico resp:cadena
inicio cls() repetir imprimir ("Precio del producto:") leer (prec) imprimir ("Descuento a realizar (% como 0.10)") leer (desc) Precio_Neto( prec, desc) imprimir ("Deseas calcular otro producto? (s/n)") leer (resp) hasta (resp=="n") fin
retorna (nuevo_precio) fin PSEINT Proceso Ejercicio23_PrecioNeto //Se necesita un programa que mande llamar a un modulo llamado PRECIO_NETO, el cual //para funcionar correctamente debe recibir desde el algoritmo principal el precio y el //descuento deseado, al termina de ejecutarse se debe regresar el nuevo precio al //algoritmo principal.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 94
Definir p_neto, prec, desc, new_price como numerico definir resp como cadena Borrar Pantalla Repetir Escribir "Precio del producto: " Leer prec Escribir "Descuento a realizar (% como 0.10)" Leer desc new_price = Precio_Neto( prec, desc) Escribir "Resultado: ", new_price Escribir "Deseas calcular otro producto? (s/n)" leer resp Hasta Que resp = "n" FinProceso
Objetivo MODULOS 09_PRACTICAS MODULOS PRACTICA 42 Fecha Larga Funcion que recibe 3 datos numericos, con los cuales escribe la fecha en formato largo en la pantalla: Ej. 14 de Octubre del 2011. */
SLE PSEINT
Objetivo MODULOS 09_PRACTICAS MODULOS PRACTICA 43 Calculo Salario Modulo que recibe las horas trabajadas, el precio por hora trabajada y el precio de la hora extra. Con estos datos calcular y devolver el salario de un trabajador, donde las primeras 40 horas se pagan normal y las restantes se pagan como tiempo extra
SLE PSEINT
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 95
Objetivo MODULOS 09_PRACTICAS MODULOS PRACTICA 44 Calificaciones Letra Modulo que recibe las 3 calificaciones parciales de un alumno, el cual regresa su calificacion con letra, donde si su promedio es menor de 6 le corresponde NA, de 6 a 8 obtiene S, mayor a 8 y cuando mucho 9 saca B y superior a 9 es E
SLE PSEINT
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 96
PROBLEMAS AVANZADOS
Objetivo Estos ejercicios pueden llevar condiciones mas complejas, condiciones mulitples (sentencias tipo CASE), o condiciones anidadas. Tambien pueden llevar ciclos MIENTRAS HASTA o DESDEHASTA, arreglos (vectores, matrices), registros, tipos de datos, manejo de archivos externos
De preferencia estos ejercicios debera realizarlos el profesor para exponerlos en el pizarron y explicarlos.Segn criterio del mismo, se realizaran 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 (sientonces), condicionales multiples (En CASO DE), ciclos (MIENTRAS, HASTA, PARA), arreglos (VECTORES, MATRICES), registros, subrutinas (Funciones, Procedimientos), funciones de SLE, lenguaje SLE, archivos externos y su manejo Herramientas Cuaderno y lapiz SLE 2.0 PseInt 2014 LPP
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 97
Objetivo Practicar el ciclo MIENTRASHACER PROBLEMA 19 (Mientras.. Hacer) La compaia Barner posee una caja con $3.71 con la cual empieza todos los dias diariamente se registran egresos. Calcular los egresos de la compaia y mostrar cuanto queda en caja. (el programa termina cuando se ingresa un egreso imaginario de -1) Algoritmo INICIO
Objetivo Practicar arreglos unidimensionales (vectores), ciclo MIENTRASHACER PROBLEMA 20 (Arreglos, Mientras.. Hacer) Hacer un programa que registre 20 numeros en un array de una dimension y muestre posteriormente los elementos que ocupan posiciones impares Algoritmo INICIO | | Dimensionar a[100] | | x=1 | mientras x <= 20 Hacer | | Leer a[x] | | x=x+1 | fin_mientras | | x=1 | mientras x<=20 Hacer | | escribe a[x] | | x=x+2 | fin_mientras [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 98
| FIN
SLE
Objetivo Practicar operaciones aritmeticas, condiciones y uso de contadores, ciclo MIENTRAS..HACER PROBLEMA 21 (Mientras.. Hacer, Si.. Entonces, Contadores) Hacer un programa que al ingresar 2 numeros por la pantalla y que se calcule la suma, resta, multiplicacion y division. El proceso debe terminar cuandon se hallan realizado 10 procesos (Hacer uso de contadores) Algoritmo INICIO
X=X+1 Leer A,B
S=A+B R=A-B M=A*B D=A/B
IMPRIMIR ,S,R,M,D
Si x=10 entonces: escribe "Fin del programa"
Sino X=X+1
Fin_si
FIN
SLE
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 99
Objetivo Practicar ciclo DESDE..HASTA, SI..ENTONCES, calculo de maximos y minimos PROBLEMA 22 (Desde..Hasta, Si..Entonces, Maximos, Minimos) El ing. De sistemas del banco de credito necesita conocer de una lista de 2500 cuentas cual es la que posee mayor y menor cantidad de dinero (d) Algoritmo Inicio Leer n Max ? n Min ? n Desde i ? 1 hasta 2500 hacer Leer n Si n > max entonces Max ? n Sin_no Si n < min entonces Min ? n Fin_si Fin_si Fin_desde Escrbir MXIMO Max MINIMO Min Fin
SLE
Objetivo Practicar ciclo MIENTRASHACER, SI..ENTONCES, contadores, arreglos tipo registro. Se proponen 2 soluciones: 1. Introduciendo los datos que trabajaremos directamente en el programa 2. Que el usuario introduzca los datos y utilice un ciclo para ello PROBLEMA 23 (Mientras.. Hacer, Si.. Entonces, contadores, arreglos) En una empresa: se debe visualizar en una lista FICHA donde se encuentra nombre categora, edad y sueldo ademas el programa debe visualizar un mensaje existen trabajadores mayores de 65 aos en un numero de ... y el numero de trabajadores mayores de 65 aos. Algoritmo Inicio SW <- 0 mientras SW = 0 hacer Leer FICHA (NOMBRE CATEGORA, EDAD, SUELDO) [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 100
Escribir FICHA Si EDAD > 65 Entonces S <- S + 1 SW <- 1 Fin_si Fin_mientras Si SW = 1 Entonces Escribir existen trabajadores... Escribir S Fin_si Fin SLE SLE Solucion 2:
Objetivo Se practicara el uso de arreglos (vectores) para almacenar la informacion, como usar algunas funciones de cadena existentes en los lenguajes de programacion (como se usan en SLE), como se trabaja con operaciones usando arreglos. Ademas de manejar los ciclos y condiciones segn el problema dado.
Tambien, introduce al alumno en el concimiento de generacion de claves o identificadores o contraseas para uso posterior en lenguajes de programacion informaticos y como manejar las cadenas. PROBLEMA 24 (Arreglos, cadenas,ciclos, condiciones) Autogenerar el codigo del alumno tomando como datos los dos primeros caracteres del apellido paterno el segundo y tercer caracterde apellido materno los dos ultimos caracteres de los nombres mas el numero que le corresponde en la lista. Ademas se deber pedir dos notas para calcular su promedio del curso de matematica. se sabe que en el aula son 36 alumnos y ademas deber mostrar al final la cantidad de alumnos desaprobados. Algoritmo variables Nom(36),pat(369,Mat(36),Cod(36):Texto N1(36),N2(36),Prom(36),A,D,C:Numerico
Inicio A=0 D=0 paraC=1 hasta 36 leer Nom(c), Pat(c),Mat(c),N1(c),N2(c) cod(c)=Left(pat(c),2)+Mid(Mat(c),2.2)+Rig(Nom(c),2)+STR(c) Prom(c)=(N1(c))+N2(c))/2 escribir cod(c), prom(c) si prom(c)>=10.5 Then A=A+1 si no D=D+1 fin_si fin_para [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 101
escribir A,D Fin
SLE
Objetivo El alumno debera pensar como calcular el numero mayor de una lista aplicando variables temporales. Se maneja un ciclo para preguntar cuantas veces quiere repetir y condicion SI..ENTONCES PROBLEMA 25 (Desde.. hasta, Si.. Entonces) Calcular el nmero mayor de una lista de nmeros. Algoritmo real: UM, MAX entero: I, N
inicio leer N // N >0 leer NUM MAX <-- NUM desde I <-- 2 hasta 100 hacer leer NUM si NUM > MAX entonces MAX <-- NUM fin_si fin_desde fin
SLE
Objetivo Se practicaran los arreglos (vectores) y manejo de ciclos ascendentes y descentes. En este ejercicio no se da la solucion en SLE para que el alumno lo realice por si mismo PROBLEMA 26 (Arreglos, Ciclos Mientras) Hacer un programa que registre 10 apellidos y que los muestre en forma inversa al orden con el que fueron ingresados. Algoritmo Inicio Dimensionar Apellido[10] X<-1 mientras x<=10 hacer leer Apellido[x] x<- x+1 fin_mientras X <- 10 mientras X >= 1 hacer mostrar Apellido[X] X <- X - 1 fin_mientras Fin [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 102
SLE
Objetivo Este ejercicio es similar al problema 8 y sirve para que el alumno practique los arreglos (vectores) y los ciclos MIENTRASHACER, combinado con una condicion y la operacin de residuo de una division
* Tampoco se da la solucion en SLE para que el alumno lo elabore. PROBLEMA 27 (Arreglos, Mientras.. hacer, Si.. Entonces) Elaborar un algoritmo, que permita el ingreso de 100 nmeros enteros. El programa debe sumar todos los nmeros que sean mltiplos de 3. Algoritmo Inicio Dimensionar numero[100] x<-1 mientras x<=100 hacer leer numero[x] x<-x+1 fin - mientras x<- 1 s<- 0 mientras x<=100 hacer Si (numero[x] mod 3 = 0) entonces s<- s+numero[x] Fin_Si x<-x+1 Fin_mientras Mostrar s Fin
SLE
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 103
FUNCIONES CADENA
Objetivo Manejo de cadenas, conocer como se genera una contrasea o password, uso de funciones de cadena y contadores PROBLEMA 28 (Cadenas, Strlen, Substr, Desde..hasta) Realizar un algoritmo que permita ingresar una frase y la descomponga esta en sus palabras imprimindolas al revs. Ejem. CIUDAD CHICLAYO DADUIC OYALCIHC Algoritmo Inicio Caracter Frase [20] ; Entero L, K, C, j ; Lee cadena (Frase) ; L = longitud (Frase) ; Para i = 1 ; i = L Si (Frase [i] = ' ') entonces Ce <- ce + 1 ; Fin_Si Fin_Para Entero x = 1 Para i = 1 K = 1 C = 0 Para j = x ; Frase [j] < > '' Invertida [k] <- Frase [j] C <- C + 1 Fin_Para Para k = 1 ; k =L Mostrar "Invertida [k] Fin_Para x = j + i Fin_Para Fin
SLE
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 104
Objetivo Practicar subrutinas (procedimientos), arreglos tipo registro, ciclos y condiciones, ademas de operaciones con los arreglos PROBLEMA 29 (Subrutinas.. procedimientos, arreglos.. registro, ciclos, condiciones) ELIMINAR UN ALUMNO DEL SALON, DADA UNA POSICIN INDICADA Algoritmo Inicio Dimensionar ALUMNO[100],NOTA1[100], NOTA2[100] ENTERO i,pos,n leer n i <- 1 mientras i<=n hacer leer ALUMNO[i], NOTA1[i],NOTA2[i] i <- i+1 fin_mientras leer pos si (pos<n) entonces i <- pos mientras i<n ALUMNO[pos]<- ALUMNO[pos + 1] NOTA1 [pos]<- NOTA1[pos+1] NOTA2 [pos]<- NOTA2[pos+1] n <- n-1 fin_mientras escribir ALUMNO[pos], NOTA1[pos],NOTA2[pos] sino si (pos=n) entonces ALUMNO[n]<- "" NOTA1 [n]<- 0 NOTA2 [n]<- 0 fin_si sino si (pos>n) entonces Escribir "Cambiar Dato" fin_si Fin
SLE
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 105
ORDENACION
Objetivo Ejercicio muy similar al problema 11 que contiene subrutinas de procedimiento, arreglos de vector, ciclos, condiciones, pero que ademas introduce al estudiante a los metodos de ordenacion PROBLEMA 30 (Ordenacion, subrutina, arreglos, ciclos, condiciones) MOSTRAR ARTICULOS DE ABARROTES ORDENADOS POR MAYOR PRECIO Y MOSTRAR LOS 5 ARTICULOS DEMENOR PRECIO Algoritmo Inicio Dimensionar articulo[100],precio[100] enteroi,j,NE real aux1 caracter aux2 leer NE si(NE>0)entonces para i=0 hasta i<NE leer articulo[i],precio[i] fin_para para i=0 hasta i<NE-1 para j =i+1 hasta j<NE si(precio[i] < precio[j]) entonces aux1<- precio aux2<- articulo[i] precio[i]<- precio[j] articulo[i]<- precio[j] precio[j]<- aux1 articulo[j]<- aux2 fin_si fin_para fin_para para i=0 hasta i<NE escribir articulo[i],precio[i] fin_para para i=NE hasta i>5 escribir articulo [i],precio[i] fin_para sino escribir "arreglo vacio" fin_si Fin [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 106
SLE
Objetivo Practicar la ordenacion simple, vectores, variables, introduccion a la declaracion de constantes, ciclos anidados, condiciones multiples PROBLEMA 31 (Ordenacion, vectores, constantes, ciclos anidados, cond multiples) En una empresa de 1000 trabajadores, se har un aumento al salario de acuerdo al tiempo de servicio, para este aumento se tomar en cuenta lo siguiente: Tiempo de servicio: de 1 a 5 aos Aumento: S/. 100 Tiempo de servicio: de 5 a 10 aos Aumento: S/. 250 Tiempo de servicio: de 10 a 20 aos Aumento: S/. 400 Tiempo de servicio: de 20 aos a ms Aumento: S/. 550 Se desea obtener unalista del personal en orden creciente con respecto al sueldo modificado Algoritmo Inicio Dimensionar Nombre[1200], Tiempo[1200], Sueldo[1200] X <- 1 mientras X <= 1000 hacer leer Nombre[X], Tiempo[X] X <- X + 1 fin_mientras X <- 1 mientras X <= 1000 hacer si Tiempo[X] <= 5 entonces Sueldo[X] <- 1000 + 100 fin_si si Tiempo[X] <= 10 entonces Sueldo[X] <- 1000 + 250 fin_si si Tiempo[X] <= 20 entonces Sueldo[X] <- 1000 + 400 sino Sueldo[X] <- 1000 + 550 fin_si X <- X + 1 fin_mientras X <- 1 mientras X <= 1000 hacer Y <- X mientras Y <= 1000 hacer si Sueldo[X] > Sueldo[Y] entonces T <- Nombre[X] Nombre[X] <- Nombre[Y] Nombre[Y] <- T T <- Tiempo[X] Tiempo[X] <- Tiempo[Y] Tiempo[Y] <- T T <- Sueldo[X] [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 107
Sueldo[X] <- Sueldo[Y] Sueldo[Y] <- T fin_si Y <- Y +1 fin_mientras X <- X + 1 fin_mientras X <- 1 mientras X <= 100 hacer mostrar Nombre[X], Tiempo[X], Sueldo[X] X <- X + 1 fin_mientras Fin
SLE
ARCHIVOS
Objetivo Practicar el uso de archivos externos para manejo de la informacion. Se debera crear un archivo externo al programa en formato de texto plano (se puede utilizar el bloc de notas) para poner la informacion que estabamos haciendo dentro del propio programa.
Ahora el programa, debera ubicar este archivo de texto, abrirlo, leerlo y pasar la informacion a unas variables de vector para despues realizar la operacin de condicion e imprimirlas en pantalla.
Se hara uso de funciones para operar con archivos externos PROBLEMA 32 (Archivos externos lectura, arreglos, ciclos, condicion) Dada una lista de 100 personas se pide una relacin de las personas mayores de 35 aos. Algoritmo Inicio Dimensionar Nombre[150], Edad[150] X <- 1 mientras X <= 150 hacer leer Nombre[X], Edad[X] [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 108
X <- X + 1 fin_mientras X <- 1 mientras X <= 150 hacer Si Edad[X]>= 35 Entonces mostrar Nombre[X], Edad[X] fin_si X <- X + 1 fin_mientras Fin
SLE
Objetivo Ejercicio de reforzamiento que sirve de base para aplicarlo en un examen o evaluacion parcial. Incluye el uso de constantes, variables, ciclo desdehasta anidados, condicional Si..entonces PROBLEMA 33 (Examen 1) Al final del curso deseamos saber cual ha sido el alumno de primer ao con mejor nota media. Se sabe que este ao entraron 150 alumnos y que en primero todos tienen 5 asignaturas. Dar el nombre del alumno y la calificacion media (promedio). Algoritmo SLE
Objetivo Este ejercicio puede servir como evaluacion o examen aunque su nivel de dificultad es alta. Se practican contantes, arreglos de matriz, tipos de datos varios, subrutinas de procedimientos y funciones ya que regresaran un valor. PROBLEMA 34 (Constantes, Matriz, Subrutinas, funciones, tipos datos) Hay unos multicines con 5 salas, y cada sala con 100 personas distribuidas en 20 asientos y 5 filas. Si yo pido entrada para una sala, implementar un programa que me diga si hay sitio en dicha sala Algoritmo SLE
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 109
Objetivo Este ejercicio tambien sirve de base para un examen o evaluacion al alumno, ya que debe realizar las operaciones aritmeticas comunes pero utilizando subrutinas, variables globales, condiciones multiples. PROBLEMA 35 (Subrutinas, variables globales, condicion multiple) Realizar un programa que realice las operaciones basicas aritmeticas (suma, resta, multiplicacion y division) mediante el uso de subrutinas que sean funciones. Ademas, debera crear un menu inicial para el usuario Algoritmo SLE
Objetivo Este es el ejercicio final explicado por el profesor, ya que contiene todos los elementos vistos en todos los ejercicios, ademas del uso de archivos externos para grabar y leer la informacion. Subrutinas, funciones, constantes, variables, definicion de tipos, arreglos de registro, ciclos, condiciones y algunas funciones del lenguaje SLE PROBLEMA 36 (Ejemplo completo de Sistema ABC, Archivos externos) Realizar un programa que realice las operaciones basicas altas, bajas, cambios de un archivo de alumnos como un sistema escolar para inscripciones. Debe usar un archivo de texto para almacenar la informacion Algoritmo SLE
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 110
ANEXO 1 DIAGRAMAS DE FLUJO
En este apartado se presentan algunas practicas para trabajar unicamente con diagramas de flujo (sin pseudocodigo) ya sea a mano, usando el programa DPD, o Edraw. El alumno debera realizar los diagramas correspondientes a cada uno de los problemas presentados
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 111
DIAGRAMA 1 Hacer el diagrama de flujo para sumar dos numeros leidos por el teclado y escribir el resultado
DIAGRAMA 2 Modificar el anterior pero para sumar 100 numeros leidos por el teclado
DIAGRAMA 3 Modificar el anterior para que permita sumar N numeros. El valor de N se debe leer previamente por teclado
DIAGRAMA 4 Hacer un diagrama de flujo que permita escribir los 100 primeros pares
PROBLEMA 5 Hacer un diagrama de flujo que simule un reloj
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 112
ANEXO 2 ESTRUCTURAS SECUENCIALES Y OPERADORES
En este apartado se presentan diversos problemas que involucran instrucciones sencuenciales simples, operadores, tipos de datos Estos problemas estan pensados para el reforzamiento de los ejercicios y practicas vistos en clase y pueden aplicarse a los alumnos que tengan problemas de comprension en algun tema. Ya sea que se presenten como ejercicios resueltos o como practicas, el alumno reforzara su comprension del tema.
Tambien pueden presentarse como proyecto para evaluaciones parciales o finales.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 113
ACTIVIDAD 1 Suma de 2 numeros Escribir un algoritmo que sume dos nmeros: A = 4 B = 3
ACTIVIDAD 2 Suma 2 numeros introducidos por usuario Escribir un algoritmo que sume dos nmeros entrados por el usuario
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 114
ACTIVIDAD 3 Operaciones con Enteros (+,-,*,/) Escribir un algoritmo que sume, reste, multiplique y divida dos nmeros ENTEROS
ACTIVIDAD 4 Operaciones con Reales (+,-,*,/) Escribir un algoritmo que sume, reste, multiplique y divida dos nmeros REALES
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 115
ACTIVIDAD 5 Calcular area de un rectangulo Escribir un algoritmo que calcule el rea de un rectngulo
ACTIVIDAD 6 Calcular area de un triangulo Escribir un algoritmo que calcule el rea de un tringulo: Area del tringulo <- (Base * Altura)/2
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 116
ACTIVIDAD 7 Calcular area circunferencia Escribir un algoritmo que calcule la longitud y el rea de una circunferencia: Longitud de la circunferencia <- 2 * PI * Radio Area de la circunferencia <- PI * Radio^2
ACTIVIDAD 8 Calcular velocidad de un proyectil Escribir un algoritmo que calcule la velocidad de un proyectil. Expresar el resultado en metros/segundo.
Velocidad <- Espacio / Tiempo
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 117
ACTIVIDAD 9 Calcular volumen de una esfera Escribir un algoritmo que calcule el volumen de una esfera: Volumen de la esfera = 4/3 * PI * radio^3
ACTIVIDAD 10 Evaluar expresion matematica Escribir un algoritmo que evale la siguiente expresin: (A+7*C)/(B+2-A)+2*B
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 118
ACTIVIDAD 11 Evaluar expresion matematica Escribir un algoritmo que evale la siguiente expresin: ((A+5)*3) / (2*B - B)
ACTIVIDAD 12 Evaluar Ecuacion de 2. Grado Escribir un algoritmo que evale la siguiente expresin: (-b + Raz((b2-4*a*c)/(2*a)) Es la solucin positiva de una ecuacin de 2 grado
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 119
ACTIVIDAD 13 Calcular area y volumen de un cilindro Escribir un algoritmo que calcule el rea y el volumen de un cilindro: rea = (2 * (PI * (R^2))) + ((2 * PI * R) * H) Volumen = (PI * (R^2)) * H
ACTIVIDAD 14 Calcular area y volumen de un Hexaedro Escribir un algoritmo que calcule el rea y el volumen de un hexaedro: rea <- (l*l) * 6 Volumen <- l^3
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 120
ACTIVIDAD 15 Calcular area y volumen de un Prisma Escribir un algoritmo que calcule el rea y el volumen de un prisma: rea <- (2 *(l1 * l2)) + (2 * (l1 * l3)) + (2*(l2 * l3)) Volumen <- l1 * l2 * l3
ACTIVIDAD 16 Calcular area y volumen de un Tetraedro Escribir un algoritmo que calcule el rea y el volumen de un tetraedro: Area <- Arista^2 * RazCuadrada(3) Volumen <- ((Arista^3)/12) * RazCuadrada(2)
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 121
ACTIVIDAD 17 Calcular area y volumen de un Cono Escribir un algoritmo que calcule el rea y el volumen de un cono rea = (PI * R * L)+ (PI * R^2) Volumen = (PI * R^2 * H) / 3
ACTIVIDAD 18 Calcular volumen de un Elipsoide Escribir un algoritmo que calcule el volumen de un elipsoide Volumen = (4/3) * PI * A * B * C
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 122
ACTIVIDAD 19 Calcular Hipotenusa de un Triangulo Rectangulo Escribir un algoritmo que calcule la hipotenusa de un tringulo rectngulo H <- RazCuadrada(Cateto1^2 + Cateto2^2)
ACTIVIDAD 20 Calcular Hipotenusa de un triangulo Escribir un algoritmo que calcule la hipotenusa de un tringulo rectngulo H <- RazCuadrada(Cateto1^2 + Cateto2^2)
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 123
ACTIVIDAD 21 Calcular numero de horas, minutos, segundos en X segundos Escribir un algoritmo que calcule el nmero de horas, minutos y segundos que hay en una X cantidad de segundos.
ACTIVIDAD 22 Calcular capital en un tiempo determinado Escribir un algoritmo que calcule el capital producido por un capital expresado en pesos, al cabo de un tiempo depositado a un inters de un X porciento.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 124
ACTIVIDAD 23 Calcular expresion trigonometrica Escribir un algoritmo que calcula la siguiente expresin trigonomtrica para un valor angular dado: (Sen X * Cos X)/(Tan X)
ACTIVIDAD 24 Convertir Pies en Metros Escribir un algoritmo que calcule el equivalente en pies de una longitud en metros. 1 metro - 39.27 pulgadas 12 pulgadas - 1 pie
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 125
ACTIVIDAD 25 Calcular area Rectangulo por coordenadas Escribir un programa en Pascal que calcule el rea de un rectngulo a partir de sus coordenadas.
** NOTA: Marcara error si usamos las variables Y1 y Y2, porque piensa que es un operador logico hay que cambiarlas por la letra Z
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 126
ACTIVIDAD 26 Calcular velocidad de un coche Un coche se mueve con una aceleracin constante de A m/s2. Escribir un proceso que calcule:
a) La velocidad instantnea al cabo de T segundos. b) La velocidad media durante los primeros T segundos del recorrido.
Velocidad instantnea <- Velocidad inicial + Aceleracin * Tiempo Velocidad media <- (Velocidad inicial + Velocidad final)/2
ACTIVIDAD 27 Calcular velocidad de un cohete Un cohete se lanza verticalmente con una velocidad de V0 m/s. calcular la velocidad al cabo de T segundos mediante un proceso.
ACTIVIDAD 28 Conocer valores de variables Escribir el algoritmo para conocer los valores finales de las variables contenidas en las siguientes expresiones:
A <- A / 3 B <- (B + 4) / A C <- A + B - C A <- A * C C <- C / (3 - B + 2)
ACTIVIDAD 29 Sumar cifras de un numero dado Escriba un algoritmo que lea un nmero y determine la suma de sus cifras. Asuma que el nmero es entero y que tiene 4 cifras.
Para obtener el cociente de una divisin entera simplemente aplicamos el operador cociente / puesto que el cociente de dos cantidades enteras es un valor entero (lo que en divisin entera se conoce simplemente como el cociente).
As: millares <- cociente de N % 1000 Se expresa como: millares <- N / 1000
Ya que tanto N como 1000 son valores enteros. Para calcular el residuo de una divisin entera usamos el operador porcentaje %.
As: Resto <- Residuo de N % 1000 Se expresa como: Resto <- N % 1000
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 128
ACTIVIDAD 30 Conocer valor de variables Escribir el algoritmo para conocer los valores finales de las variables contenidas en las siguientes expresiones:
A <- A + 3 B <- B + 4 - A C <- A + B + C A <- A + C C <- C + 3 - B + 2
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 129
ANEXO 3 PROBLEMAS DE CONDICIONALES
En este apartado se presentan diversos problemas que involucran Condicionales (Simples, Multiples y Anidadas). Asi como algunas funciones y operadores especiales (Modulo). Estos problemas estan pensados para el reforzamiento de los ejercicios y practicas vistos en clase y pueden aplicarse a los alumnos que tengan problemas de comprension en algun tema. Ya sea que se presenten como ejercicios resueltos o como practicas, el alumno reforzara su comprension del tema.
Tambien pueden presentarse como proyecto para evaluaciones parciales o finales.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 130
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 31 - Calculadora Escribir un algoritmo que permita realizar las operaciones de suma, resta, divisin o multiplicacin, dado dos operando introducidos por el usuario. Habilitar utilizar sintaxis flexible
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 32 Numeros en orden ascendente Escribir un algoritmo que detecte si el usuario ha introducido tres nmeros en orden ascendente.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 131
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 33 Multiplos de 5 Escribir un algoritmo que muestre un mensaje afirmativo si el nmero introducido es mltiplo de 5
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 34 Par o impar Escribir un algoritmo que determine si un nmero ledo desde el teclado es par o impar
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 132
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 35 Numeros menor o igual a 100 Escribir un algoritmo que detecte si un nmero ledo desde el teclado es mayor, menor o igual que 100
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 36 Dias de la semana Escribir un algoritmo que dado un nmero del 1 a 7 escriba el correspondiente nombre del da de la semana
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 133
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 37 Dias de la semana (Cond. Mult) Escribir un algoritmo que dado un nmero del 1 a 7 escriba el correspondiente nombre del da de la semana
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 38 Intercambio de valores Escribir un algoritmo que lea dos nmeros desde el teclado y si el primero es mayor que el segundo intercambie sus valores
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 134
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 39 Ingreso a espectaculo adulto Para ingresar a un cierto espectculo se requiere ser varn mayor de 18 aos. Escriba un algoritmo que decida si una persona puede o no ingresar al espectculo.
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 40 Descuentos por docena Una tienda ha puesto en oferta la venta al por mayor de cierto producto, ofreciendo un descuento del 15% por la compra de un mnimo de tres docenas. El costo del producto es de S/.25 por docena. Escriba un algoritmo que determine el importe de la compra, el importe del descuento y el importe a pagar por la compra de cierta cantidad de docenas del producto.
Objetivo Practicar condiciones SI..Entonces multiples [ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 135
ACTIVIDAD 41 Grupos de empleados Una empresa ha decidido clasificar a sus empleados en cuatro grupos
Grupo 1: Solteros con menos de 25 aos. Grupo 2: Solteros con 25 aos a mas. Grupo 3: Casados con menos de 34 aos. Grupo 4: Casados con 34 aos a mas.
Escriba un algoritmo que determine el grupo que le corresponde a un empleado.
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 42 Grupos de empleados (Operadores Logicos) Una empresa ha decidido clasificar a sus empleados en cuatro grupos
Grupo 1: Solteros con menos de 25 aos. Grupo 2: Solteros con 25 aos a mas. Grupo 3: Casados con menos de 34 aos. Grupo 4: Casados con 34 aos a mas.
Escriba un algoritmo que determine el grupo que le corresponde a un empleado.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 136
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 43 Renta de automoviles Una compaa dedicada al alquiler de automoviles cobra $30 hasta un mximo de 300 km de distancia recorrida. Para ms de 300 km y hasta 1000 km, cobra $30 ms un importe adicional de $0.15 por cada kilmetro en exceso sobre 300. Para ms de 1000 km cobra $30 ms un importe adicional de $ 0.10 por cada kilmetro en exceso sobre 1000. Los precios ya incluyen el 18% del impuesto general a las ventas, IGV.
Escriba un algoritmo que determine el importe a pagar por el alquiler de un vehculo y el importe includo del impuesto.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 137
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 44 Cobro en Estacionamiento En una playa de estacionamiento de vehculos se cobra S/. 2.5 por hora o fraccin. La medicin del tiempo se efecta anotando la hora de entrada y la hora de la salida, ambas en el formato HH:MM, segn un reloj de 24 horas.
Escriba un algoritmo para determinar el importe que debe pagar un cliente por el estacionamiento de su vehculo. Considere que tanto la hora de entrada como de salida corresponden al mismo da.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 138
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 45 Promedio de practicas alumno El promedio de prcticas de un curso se calcula en base a cuatro prcticas calificadas de las cuales se promedian las tres notas ms altas eliminndose la nota menor. Escriba un algoritmo que determine el promedio de prcticas de un estudiante y la nota de prctica eliminada.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 139
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 46 Determinar si es un triangulo Escriba un algoritmo que lea tres longitudes y determine si forman o no un tringulo. Si es un tringulo determine de que tipo de tringulo se trata entre: equiltero (si tiene tres lados iguales), issceles (si tiene dos lados iguales) o escaleno (si tiene tres lados desiguales). Considere que para formar un tringulo se requiere que: "el lado mayor sea Mayor que la suma de los otros dos".
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 140
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 47 Orden ascendente y descendente Escriba un algoritmo que lea tres nmeros diferentes entre s y los muestre ordenados en orden ascendente y en orden descendente. Si los nmeros no son diferentes entre s, imprima un mensaje de error.
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 48 Cuenta digitos de una cifra Escribir un algoritmo que lea un nmero entero menor o igual a mil y determinar cuntos dgitos tiene.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 141
Objetivo Practicar condiciones SI..Entonces multiples ACTIVIDAD 49 - Multiplos Escriba un algoritmo que lea dos nmeros enteros y determinar cul es mltiplo de cul.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 142
ANEXO 4 ESTRUCTURAS REPETITIVAS
En este apartado se presentan diversos problemas que involucran instrucciones repetitivas o ciclos. Estos problemas estan pensados para el reforzamiento de los ejercicios y practicas vistos en clase y pueden aplicarse a los alumnos que tengan problemas de comprension en algun tema. Ya sea que se presenten como ejercicios resueltos o como practicas, el alumno reforzara su comprension del tema.
Tambien pueden presentarse como proyecto para evaluaciones parciales o finales.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 143
ACTIVIDAD 50 - Divisiones Escribir un algoritmo que permita realizar divisiones hasta que el usuario desee terminar.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 144
ACTIVIDAD 51 Numeros del 1 al 10 Escribir un algoritmo que realice un bucle con "REPETIR" y muestre en pantalla los nmeros del 1 al 10.
ACTIVIDAD 52 Numeros pares entre 1 y 30 Escribir un algoritmo que visualice en pantalla los nmeros pares entre 1 y 30.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 145
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 146
ACTIVIDAD 53 Numeros pares entre 1 y 30 (Ciclo Repetir) Escribir un algoritmo que visualice en pantalla los nmeros pares entre 1 y 30.
ACTIVIDAD 54 Suma de numeros entre 1 y 10 Escribir un algoritmo que sume los nmeros comprendidos entre 1 y 10
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 147
ACTIVIDAD 55 Duplicar un capital den aos Escribir un algoritmo que calcule cuantos aos tarda en duplicarse un capital depositado al 2% de inters anual.
ACTIVIDAD 56 Suma de numeros Escribir un algoritmo que calcule la suma de los nmeros hasta un nmero dado.
ACTIVIDAD 57 Factorial de un numero Escribir un algoritmo que calcule el factorial de un nmero
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 148
ACTIVIDAD 58 Media de 5 numeros Escribir un algoritmo que calcule la media de 5 nmeros introducidos por el teclado.
ACTIVIDAD 59 Depreciacion de un objeto por metodo linea recta Escribir un algoritmo que calcule la depreciacin de un objeto segn el mtodo de la lnea recta. Calcular el nmero de aos que tarda en hacerse 0. En este mtodo el valor original del objeto se divide por su vida (nmero de aos). El cociente resultante ser la cantidad en la que el objeto se deprecia anualmente. Por ejemplo, si un objeto se deprecia 8000 dlares en diez aos, entonces la depreciacin anual ser 8000/10=800 dlares. Por tanto, el valor del objeto habr disminuido en 800 dlares cada ao. Ntese que la depreciacin anual es la misma cada ao cuando se utiliza este mtodo.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 149
ACTIVIDAD 60 Depreciacion objeto por metodo balance doblemente declinante Escribir un algoritmo que calcule la depreciacin de un objeto segn el mtodo del balance doblemente declinante. En este mtodo, el valor del objeto disminuye cada ao en un porcentaje constante. Por tanto, la verdadera cantidad depreciada, en pesos, variara de un ao al siguiente. Para obtener el factor de depreciacin, dividimos por dos la vida del objeto. Este factor se multiplica por el valor del objeto al comienzo de cada ao (y no el valor del original del objeto) para obtener la depreciacin anual. Supongamos, por ejemplo que deseamos depreciar un objeto de 8000 pesos por diez aos; el factor de depreciacin ser 2/10=0.2. Por tanto, la depreciacin el primer ao ser 0,2 X 8000 = 1600 pesos, la depreciacin del segundo ao ser 0,2 X 6400=1280 pesos; la depreciacin del tercer ao ser // 0,2 X 5120 = 1024 pesos, y as sucesivamente.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 150
ACTIVIDAD 61 Valores de temperatura Escribir un algoritmo que lea 5 valores de temperatura, y escriba el nmero de veces que estuvo bajo 0.
ACTIVIDAD 62 Tirada de dados Crear un juego de azar tirando los dados virtuales. Habra un jugador humano contra la computadora Se haran 4 tiradas en las cuales la suma de la tirada de los dados por cada jugador se almacenara. Al finalizar, el que haya sumado mas puntos de los dados sera el ganador del juego.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 151
ANEXO 5 MATRICES
En este apartado se presentan diversos problemas que involucran matrices y vectores. Estos problemas estan pensados para el reforzamiento de los ejercicios y practicas vistos en clase y pueden aplicarse a los alumnos que tengan problemas de comprension en algun tema. Ya sea que se presenten como ejercicios resueltos o como practicas, el alumno reforzara su comprension del tema.
Tambien pueden presentarse como proyecto para evaluaciones parciales o finales.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 152
ACTIVIDAD 63 Suma matrices bidimensionales Escribir un algoritmo que sume dos matrices bidimensionales. Las matrices para que puedan sumarse deben tener las mismas dimensiones.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 153
ACTIVIDAD 64 Transponer matrices Escribir un algoritmo que genera la matriz transpuesta de una matriz de 3 filas y 4 columnas. La matriz transpuesta de una matriz M(m,n) se obtiene intercambiando filas por columnas y viceversa; el resultado se tiene que almacenar en una nueva matriz TRANSPUESTA(n,m).
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 154
ACTIVIDAD 65 Matriz de numeros primos entre 1 y 100 (Base 0) Escribir un algoritmo que almacene en una matriz los nmeros primos comprendidos entre 1 y 100. Habilitar utilizar arreglos en base 0 y dimensiones variables
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 155
ACTIVIDAD 66 Notas de alumnos Escribir un algoritmo que pida las notas de N alumnos introducidos por el usuario, las cuales pueden ser nicamente enteras entre 0 y 10. Debe decirse cuantos 0, 5 y 10 han aparecido. Tambin deben decirse las notas introducidas que no sean 0, 5 o 10. Habilitar pefil Taller de informtica
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 156
ACTIVIDAD 67 Posicion del valor maximo en una matriz Escribir un algoritmo que determine la posicin en la que se encuentra el valor mximo de una matriz de 3x3.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 157
ACTIVIDAD 68 Notas alumnos ordenadas por metodo burbuja Escribir un algoritmo que almacene las notas de N estudiantes y permita ordenarlas de menor a mayor, usando el mtodo de la burbuja. Habilitar perfil Taller de informtica
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 158
ACTIVIDAD 69 Determinar aprobados y reprobados de alumnos Escribir un algoritmo que almacene la nota y el nombre de N estudiantes y permita determinar la cantidad de aprobados y desaprobados. Adems saber la nota de un estudiante dado su nombre. Las notas en base a 100, con menores de 60 estn desaprobados.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 159
ANEXO 6 CADENAS
En este apartado se presentan diversos problemas que involucran funciones de cadena. Estos problemas estan pensados para el reforzamiento de los ejercicios y practicas vistos en clase y pueden aplicarse a los alumnos que tengan problemas de comprension en algun tema. Ya sea que se presenten como ejercicios resueltos o como practicas, el alumno reforzara su comprension del tema.
Tambien pueden presentarse como proyecto para evaluaciones parciales o finales.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 160
ACTIVIDAD 70 Suma de 2 cadenas Escribir un algoritmo que sume dos Cadenas. Los datos vienen en el cuerpo del ejercicio.
ACTIVIDAD 71 Construir cadenas Escribir un algoritmo que a partir de un numero 711124 y una literal JAL, construya y visualce en la consola la cadena 711124-JAL.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 161
ACTIVIDAD 72 Extraccion de cadenas Escribir un algoritmo que extraiga la literal "MATICA" de la literal "INFORMATICA". Utilizar la funcin SUBCADENA(L,P,C), que devuelve una subcadena de L, de C caracteres, el primero de los cuales ocupa la posicin P de L.
ACTIVIDAD 73 Tamao de cadenas Escribir un algoritmo para obtener la longitud de una cadena utilizando la funcin LONGITUD(L), que devuelve la longitud de la Cadena L.
ACTIVIDAD 74 Mayusculas y Minusculas Escribir un algoritmo para transformar la literal "PSeInt" en la literal "PSEINT" y "pseint. Utilizar las funciones MAYUSCULAS(Cadenas) y MINUSCULAS(Cadenas)
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 162
ANEXO 7 MODULOS o SUBPROCESOS
En este apartado se presentan diversos problemas que involucran modulos o subprogramas. Estos problemas estan pensados para el reforzamiento de los ejercicios y practicas vistos en clase y pueden aplicarse a los alumnos que tengan problemas de comprension en algun tema. Ya sea que se presenten como ejercicios resueltos o como practicas, el alumno reforzara su comprension del tema.
Tambien pueden presentarse como proyecto para evaluaciones parciales o finales.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 163
ACTIVIDAD 75 Calcular Factorial de un numero
ACTIVIDAD 76 Parametros por valor
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 164
ACTIVIDAD 77 Parametros por referencia
ACTIVIDAD 78 Intercambio de variables con parametros por referencia
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 165
RETOS
Los siguientes problemas son retos para que el alumno los elabore conforme lo aprendido en clase, con un limite de tiempo que asigne el profesor para su entrega. La dificultad es alta para algunos de ellos y contienen elementos mezclados de todos los temas: operadores, tipos de datos, definiciones, instrucciones, condicionales, ciclos, matrices, estructuras, modulos, cadenas.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 166
RETO 1 Calcular edad exacta Calcular la edad exacta de 1 persona
RETO 2 Conocer signo del Zodiaco Saber el signo de Zodiaco de 1 persona
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 167
RETO 3 Juego del Gato o 3 en Raya Juego del Gato o 3 en Raya.
[ESTRUCTURA DE DATOS] IDSYSTEMS 2014
Cuaderno de Trabajo - Alumno Pgina 168
RETO 4 Juego del Ahorcado Juego del Ahorcado
RETO 5 Convertir un numero Binario a Decimal y viceversa Convertir un numero binario a decimal y de decimal a binario