Академический Документы
Профессиональный Документы
Культура Документы
CUADERNO DE TRABAJO
v2014 - Alumno
Cuaderno de Ejercicios Estructura de Datos se encuentra bajo una Licencia Creative Commons Atribucin-No ComercialLicenciamiento Recproco 3.0 Unported. IDSystems Octubre 2011 - 2014
Pgina 1
IDSystems., 2010
2 edicion - 2011
3 edicin 2013
4 edicin 2014
ISBN:
Impreso en Mexico / Printed in Mexico
Impreso por Bubok
Pgina 2
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
Cuaderno de Trabajo - Alumno
Pgina 3
Pgina 4
Pgina 5
Pgina 6
Pgina 7
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.
Pgina 8
Cantidad
23
40
36
78
5
182
Agradecimientos
Este Cuaderno no hubiera sido posible sin la invaluable aportacion del PLI Carlos Augusto Flores Valerio quien
creo uno de los mejores manuales de algoritmos que haya visto con ejercicios muy didacticos y explicativos. Asi como a
los miembros del foro de PseInt y algunos otros sitios.
Pgina 9
PARTE I
ENTORNO DEL ESTUDIANTE
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.
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
Cuaderno de Trabajo - Alumno
Pgina 10
Tipo Herramienta
Sistemas Operativos
Navegadores
Acceso a la informacion
Redes Sociales
Correo Electrnico
Redes Sociales
Redes Sociales
Mensajeria
Acceso a la informacin
Redes Sociales
Redes Sociales
Acceso a la informacin
Acceso a la informacin
Acceso a la informacin
Buscadores
Foros
Blogs
Canal de noticias
Sitios de consulta
Almacenamiento
datos
Almacenamiento de
imagenes
Almacenamiento de
Slideshare, Scribd, Prezi, Zoho, Google Docs
contenido
Almacenamiento
Youtube, Vimeo
video/audio
Galeria de imgenes /
conos
Aplicaciones Web 2.0
Redes sociales
Redes Sociales
Redes Sociales
Cocina de contenidos
Cocina de contenidos
Aplicacion
Windows, Mac, Linux, Android
Internet Explorer, Firefox, Google Chrome, Opera,
Safari
Outlook (Hotmail), Yahoo, Gmail
Facebook, Google+, LinkedIn, Pinterest, Instagram,
Twitter
Facebook Chat, MSN Messenger, Yahoo Messenger,
Skype, ICQ
Google, Metacrawler
PortalFox, laWebdelprogramador, UniversalThread
Blogger, Wordpress
El Universal, LaWebDelProgramador, Genbeta
Wikipedia, MediaWiki
de Box, DropBox, OneDrive, Google Drive, Mediafire,
Mega
Flirck, Imageshack, Picasa, Imagevenue
Pgina 11
PROBLEMA 1
(Asignacion)
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:
Pgina 12
Pgina 13
Pgina 14
Pgina 15
Pgina 16
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
Diagramas de flujo, pseudocodigo, asignacion de variables, tipos de datos sencillos, operaciones
sencillas, condicionales (sientonces)
Cuaderno y lapiz
Plantilla de diagrama de flujo
DFD
PSeint
Pgina 17
IDENTIFICADORES
Objetivo
Ejercicio
Calcular
Edad
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
Pgina 18
Objetivo
Ejercicio
Inversin
Banco
Variables y operaciones
01_EJERCICIOS VARIABLES
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
Pgina 19
SENTENCIAS BASICAS
Objetivo
PRACTICA
Comision
Vendedor
Variables y Operaciones
01_PRACTICAS VARIABLES
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.
Pgina 20
Objetivo
PRACTICA 2
Descuento
Tienda
Variables y Operaciones
01_PRACTICAS VARIABLES
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
Pgina 21
Objetivo
PRACTICA 3
Calificacion
Variables y Operaciones
01_PRACTICAS VARIABLES
Un alumno desea saber cual sera su calificacion final en la materia de Algoritmos. Dicha
calificacion se compone de tres examenes parciales
Pgina 22
Objetivo
PRACTICA 4
Porcentaje
HombresMujeres
Variables y Operaciones
01_PRACTICA VARIABLES
Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un
grupo de estudiantes.
Pgina 23
Objetivo
PRACTICA
Cambio
Divisas
Variables y Operaciones
01_PRACTICA VARIABLES
Dada una cantidad en pesos, obtener la equivalencia en dolares, asumiendo que la unidad
cambiaria es un dato desconocido
Pgina 24
PRACTICA 6
Incremento
Salario
Variables y Operaciones
01_PRACTICAS VARIABLES
Calcular el nuevo salario de un obrero si obtuvo un incremento del 25% sobre su salario
anterior.
Pgina 25
CONDICIONALES
Objetivo
Ejercicio
3
Descuento
Supermercado
Variables y Operaciones
02_EJERCICIOS CONDICIONALES SIMPLES
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.
Pgina 26
Pgina 27
Objetivo
Ejercicio
4
Promedio
Calificaciones
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;
Cuaderno de Trabajo - Alumno
Pgina 28
Pgina 29
Objetivo
Ejercicio
5
Varios
Descuentos
Proceso ejercicio05
// Se necesita un programa para un supermercado, en el cual si el monto
// de la compra del cliente es mayor de 5000 se la hara un descuento
// del 30%, si es menor o igual a 5000 pero mayor que 3000 sera del
// 20%, si no rebasa los 3000 pero si los 1000 la rebaja efectiva es
// del 10% y en caso de que no rebase los $1000 no tendra beneficio
total <-0;
subtotal <-0;
Cuaderno de Trabajo - Alumno
Pgina 30
Pgina 31
Objetivo
Ejercicio
6
Promedios
USA
Proceso ejercicio06
// Se necesita un sistema que le muestre a un alumno su calificacion
// en letra y su promedio, el promedio se sca en base a 3 parciales
Cuaderno de Trabajo - Alumno
Pgina 32
FinProceso
Pgina 33
Objetivo
PRACTICA 11
Joven Viejo
Pgina 34
PRACTICA 12
Alto
Chaparro
Pgina 35
PRACTICA 13
Contrasea
Pgina 36
PRACTICA 14
Ordernar 2
numeros
Pgina 37
Objetivo
PRACTICA 15
Operaciones
Numeros
Pgina 38
Objetivo
PRACTICA 16
Encontrar
Numero
Mayor
Pgina 39
Pgina 40
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
Diagramas de flujo, pseudocodigo, asignacion de variables, tipos de datos sencillos, operaciones
sencillas, condicionales (sientonces)
Cuaderno y lapiz
Plantilla de diagrama de flujo
DFD
PSint
Pgina 41
Objetivo
PROBLEMA
2
(Mientras..Hacer,
Si..Entonces)
Pgina 42
Objetivo
PROBLEMA 3
(Asignacion)
Pgina 43
Objetivo
PROBLEMA 4
(SiEntonces)
01_EJERCICIOS
BASICOS
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.
Practicar el uso de sentencias condicionales SIENTONCES
Pgina 44
PROBLEMA 5
(Si..Entonces
anidadas)
01_EJERCICIOS
BASICOS
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.
Trabajar con las sentencias SIENTONCES anidadas
Pgina 45
PROBLEMA 6
(Si..Entonces,
operadores
logicos)
Pgina 46
Objetivo
PROBLEMA 7
(SiEntonces)
Pgina 47
PROBLEMA 8
(Si..Entonces)
Objetivo
PROBLEMA 9
(Asignacion)
01_EJERCICIOS
BASICOS
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
Practica con sentencias condicionales SIENTONCES
01_EJERCICIOS BASICOS
Problema simple de asignacion, lectura e impresin.
Disear un algoritmo que me permita ingresar un valor inicial y luego un valor final, para
luego calcular el valor central de los nmeros.
Pgina 48
EJERCICIOS DE COMPRENSION
CONDICIONALES MULTIPLES
Objetivo
Ejercicio 07
Calculo Areas
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
Pgina 49
Pgina 50
Objetivo
Ejercicio
Premios
Compra
08
Proceso ejercicio08_PremiosCompra
// Un supermercado realiza una tombola solo con aquellos clientes que realizan una compra
// superior a $ 500, en la cual tienen que sacar de una canasta una bolita la cual tiene
// un numero grabado, los premios se dan bajo la siguiente tabla:
//
# BOLITA
PREMIO
//
1
1 shampoo CAPRICE
//
2
1 paquete(3) de jabones ROSA VENUS
//
3
1 pasta de dientes COLGATE
//
4
1 bolsa de detergente MAS COLOR
//
5
1 caja de cereal ZUCARITAS
compra <- 0;
bolita <- 0;
Escribir "Cual fue el total de la compra del cliente: ";
Leer compra;
si compra > 500 Entonces
Escribir "Cual fue el numero de la bolita que saco de la canasta?";
Leer bolita;
segun bolita Hacer
1:
Escribir "Te ganaste 1 shampoo CAPRICE";
2:
Cuaderno de Trabajo - Alumno
Pgina 51
Objetivo
PRACTICA 21
Premios
Compra
x
Genero
Pgina 52
PRACTICA 22
Color Auto
Pgina 53
CICLOS
Objetivo
Ejercicio 09
Calificaciones
Pgina 54
Pgina 55
Ejercicio
10
Supermercado
Descuento
Pgina 56
Pgina 57
PRACTICA 25
Contrasea
Pgina 58
PRACTICA 26
Perimetros
Areas
Pgina 59
Objetivo
Ejercicio 11
Cuadrado
Numeros
Proceso ejercicio11_CuadradoNumeros
// Se necesita un programa que muestre el cuadrado de los numeros que introduce el
// usuario
respuesta <- "s"
numero <- 0;
Cuaderno de Trabajo - Alumno
Pgina 60
Pgina 61
Objetivo
Ejercicio 12
Salarios
Mensuales
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.
Pgina 62
Objetivo
PRACTICA 27
Suma
Numeros
Pgina 63
Objetivo
PRACTICA 28
Calculo
Salario
Semanal
Pgina 64
Objetivo
Ejercicio 13
Tabla
Multiplicar
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
Cuaderno de Trabajo - Alumno
Pgina 65
FinProceso
Objetivo
Ejercicio 14
Tablas
de
Multiplicar
Ciclo HACERPARA
06_EJERCICIOS CICLOS HACER PARA
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;
Cuaderno de Trabajo - Alumno
Pgina 66
Objetivo
Ciclo HACERPARA
06_PRACTICAS CICLOS
Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Estructura de Datos
PRACTICA 29
Calif Alumno
Pgina 67
PRACTICA 30
Promedios
Alumnos
Ciclo HACERPARA
06_PRACTICAS CICLOS
Calcular el promedio de 10 alumnos los cuales tienen 7 calificaciones cada uno en la materia de
Estructura de Datos.
Pgina 68
PRACTICA 31
Simulacion
Reloj
Ciclo HACERPARA
06_PRACTICAS CICLOS
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
Pgina 69
ARREGLOS
Objetivo
Ejercicio 15
Promedios
Arrays
07_EJERCICIOS ARREGLOS
Se necesita un programa que utilice un arreglo de seis posiciones para almacenar los 5 parciales
de un alumno y sacar su promedio, el cual se guardara en la ultima localidad. Mostras todas las
calificaciones y el promedio
Proceso ejercicio15_Promedio
// Se necesita un programa que utilice un arreglo de seis posiciones para almacenar
// los 5 parciales de un alumno y sacar su promedio, el cual se guardara en la ultima
// localidad. Mostras todas las calificaciones y el promedio
// Inicializar los arreglos
Dimension calif[6];
// Inicializar variables
subindice <- 0;
acum_calif <- 0;
Escribir "Captura las calificaciones."
Para subindice<-1 hasta 6 hacer
si subindice <> 6 entonces
Escribir "Dame Calificacion Parcial ", subindice, ":"
Leer calif[subindice];
acum_calif <- acum_calif + calif[subindice]
Sino
calif[subindice] <- acum_calif /5
FinSi
FinPara
Escribir "======================================="
Escribir "Ahora imprime las calificaciones"
Para subindice<-1 hasta 6 hacer
si subindice = 6 entonces
Escribir "Promedio: ", calif[subindice]
Sino
Escribir "Parcial ", subindice, ":", calif[subindice]
FinSi
FinPara
Cuaderno de Trabajo - Alumno
Pgina 70
FinProceso
Objetivo
Ejercicio 16
Promedio
Grupo
Arrays
07_EJERCICIOS ARREGLOS
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
Pgina 71
Ejercicio
17
Promedio Grupo
con
Bidimensionales
Arrays
07_EJERCICIOS ARREGLOS
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
Ejercicio
Matriz
Alumnos
18
Arrays
07_EJERCICIOS ARREGLOS
Se necesita un programa que utiliza una matriz de 10 renglones y 3 columnas. En las dos primeras
columnas se colocan los promedios de los 10 alumnos de dos grupos (A y B) y en la tercera
columna se almacenara el promedio mas alto de cada posicion.
Proceso ejercicio18_MatrizAlumnos
// Se necesita un programa que utiliza una matriz de 10 renglones y 3 columnas.
// En las dos primeras columnas se colocan los promedios de los 10 alumnos de
// dos grupos (A y B) y en la tercera columna se almacenara el promedio mas alto
// de cada posicion.
Dimension grupos[10,3];
alumno <- 0;
Cuaderno de Trabajo - Alumno
Pgina 72
Objetivo
PRACTICA 32
Supermercado
Objetivo
PRACTICA 33
Pares
Impares
Matriz
Objetivo
PRACTICA 34
Cuadrado
Cubo
Arrays
07_PRACTICAS ARRAYS
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)
Arrays
07_PRACTICAS ARRAYS
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
Arrays
07_PRACTICAS ARRAYS
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.
Pgina 73
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
Pseudocodigo, asignacion de variables, tipos de datos sencillos, operaciones sencillas, condicionales
(sientonces), condicionales multiples (En CASO DE), ciclos (MIENTRAS, HASTA, PARA)
Cuaderno y lapiz
PSint
Pgina 74
Objetivo
PROBLEMA
10
(Si..Entonces
anidadas)
del 20%
del 10%
Pgina 75
Objetivo
PROBLEMA
11
(Si..Entonces
anidadas)
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
Pgina 76
PROBLEMA
12
(Si..Entonces
anidadas)
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
Pgina 77
PROBLEMA 13
(Condiciones
multiples)
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
Cuaderno de Trabajo - Alumno
Pgina 78
Pgina 79
Objetivo
PROBLEMA
14
(Si..Entonces
multiples,
anidadas,
oper.
Logicos)
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
Pgina 80
Objetivo
PROBLEMA 15
(Ciclo
Repetir..hasta,
Si..Entonces)
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
PROBLEMA
16
(Si..Entonces,
Bisiesto)
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
Cuaderno de Trabajo - Alumno
Pgina 81
Objetivo
PROBLEMA
17
(Si..Entonces
multiples)
02_EJERCICIOS INTERMEDIOS
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
Pgina 82
PROBLEMA
18 (En caso
de..,
Si..Entonces)
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
Primera
2. Roja
Primera
3. Verde
Segunda
4. Rosa
Segunda
5. Gris
Tercera
Azul
Roja
Verde
Rosa
Gris
Listado de habitaciones:
habitaciones:
1.
2.
3.
4.
5.
Azul
Roja
Verde
Rosa
Gris
Pgina 83
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.
Pgina 84
ESTRUCTURAS
Objetivo
Ejercicio
Alumnos
LPP
19
08_EJERCICIOS ESTRUCTURAS
ESTRUCTURAS
Se necesita un programa que capture el nombre, numero de control, calificacion del primero,
segundo y tercer parcial y promedio final de 2 alumnos
/* 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]
Cuaderno de Trabajo - Alumno
Pgina 85
fin
/* 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
Pgina 86
Pgina 87
Ejercicio 20
Captura
Productos
LPP
08_EJERCICIOS ESTRUCTURAS
ESTRUCTURAS
Se necesita un programa que almacene la clave, descripcion, precio de compra, precio de
menudeo y preco de mayoreo de 10 productos
/* 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]
Escriba "=============================="
Llamar Nueva_linea
SLE
Fin para
Fin
/* Ejercicio20_CapturaProductos
Se necesita un programa que almacene la clave, descripcion, precio de compra, precio de
menudeo y preco de mayoreo de 10 productos */
Cuaderno de Trabajo - Alumno
Pgina 88
var
indice : numerico
producto : vector [10] registro
{
clave : numerico
descripcion : cadena
precios : vector[3] numerico
}
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
PRACTICA 35
Captura
Alumnos
08_PRACTICAS ESTRUCTURAS
ESTRUCTURAS
Hacer un programa para una escuela, el cual almacene el nombre, direccion, telefono, semestre,
grupo y matricula de 100 alumnos
LPP
SLE
Pgina 89
MODULOS o SUBPROCESOS
Objetivo
09_EJERCICIOS MODULOS
MODULOS
Crear un programa que despliegue el cuadrado de un numero dado por el usuario
Ejercicio 21
Cuadrado
Numero
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")
PSEINT
fin
Proceso Ejercicio21_CuadradoNumero
// Este ejercicio basado en SLE.
// Crear un programa que despliegue el cuadrado de un numero dado por el usuario
Borrar Pantalla
Cuaderno de Trabajo - Alumno
Pgina 90
Objetivo
Ejercicio 22
Calcular Area
SLE
09_EJERCICIOS MODULOS
MODULOS
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
/* 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
Pgina 91
PSEINT
retorna (resultado)
fin
//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
Pgina 92
Ejercicio 23
Precio Neto
SLE
09_EJERCICIOS MODULOS
MODULOS
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.
/* 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
/* Modulo Precio Neto */
subrutina Precio_Neto( precio, descuento:numerico) retorna numerico
var
nuevo_precio: numerico
inicio
nuevo_precio = precio - (precio * descuento)
imprimir ("Resultado: ",nuevo_precio,"\n\n")
PSEINT
retorna (nuevo_precio)
fin
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.
Pgina 93
Objetivo
PRACTICA 42
Fecha Larga
09_PRACTICAS MODULOS
MODULOS
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
PRACTICA 43
Calculo
Salario
09_PRACTICAS MODULOS
MODULOS
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
Pgina 94
PRACTICA 44
Calificaciones
Letra
09_PRACTICAS MODULOS
MODULOS
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
Pgina 95
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.
Herramientas
El alumno debera generar el algoritmo en diagrama de flujo y pseudocodigo. Queda a criterio del
profesor el uso de DFD, Psint o SLE
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
Cuaderno y lapiz
SLE 2.0
PseInt 2014
LPP
Pgina 96
PROBLEMA
19
(Mientras..
Hacer)
Algoritmo
INICIO
Caja=371
Egreso=0
mientras egreso <> -1 Hacer:
Caja= Caja - Egreso
Leer Egreso
Fin_mientras
Escribir Caja
FIN
SLE
Objetivo
PROBLEMA
20 (Arreglos,
Mientras..
Hacer)
Algoritmo
muestre
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
Pgina 97
PROBLEMA
21
(Mientras..
Hacer,
Si..
Entonces,
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
Pgina 98
PROBLEMA
22
(Desde..Hasta,
Si..Entonces,
Maximos,
Minimos)
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
PROBLEMA 23
(Mientras..
Hacer,
Si..
Entonces,
contadores,
arreglos)
Algoritmo
Inicio
SW <- 0
mientras SW = 0 hacer
Leer FICHA (NOMBRE CATEGORA, EDAD, SUELDO)
Pgina 99
Objetivo
PROBLEMA 24
(Arreglos,
cadenas,ciclos,
condiciones)
Algoritmo
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.
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.
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
Pgina 100
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
Calcular el nmero mayor de una lista de nmeros.
PROBLEMA 25
(Desde.. hasta,
Si.. Entonces)
Algoritmo
SLE
Objetivo
PROBLEMA 26
(Arreglos,
Ciclos
Mientras)
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
Pgina 101
SLE
Objetivo
PROBLEMA 27
(Arreglos,
Mientras..
hacer,
Si..
Entonces)
Algoritmo
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.
Elaborar un algoritmo, que permita el ingreso de 100 nmeros enteros.
El programa debe sumar todos los nmeros que sean mltiplos de 3.
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
Pgina 102
FUNCIONES CADENA
Objetivo
PROBLEMA 28
(Cadenas,
Strlen, Substr,
Desde..hasta)
Algoritmo
Manejo de cadenas, conocer como se genera una contrasea o password, uso de funciones de
cadena y contadores
Realizar un algoritmo que permita ingresar una frase y la descomponga esta en sus palabras
imprimindolas al revs. Ejem.
CIUDAD CHICLAYO
DADUIC OYALCIHC
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
Pgina 103
PROBLEMA 29
(Subrutinas..
procedimientos,
arreglos..
registro, ciclos,
condiciones)
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
Pgina 104
ORDENACION
Objetivo
PROBLEMA 30
(Ordenacion,
subrutina,
arreglos, ciclos,
condiciones)
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
Pgina 105
SLE
Objetivo
PROBLEMA
31
(Ordenacion,
vectores,
constantes,
ciclos
anidados,
cond
multiples)
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]
Pgina 106
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
Dada una lista de 100 personas se pide una relacin de las personas mayores de 35 aos.
PROBLEMA
32 (Archivos
externos
lectura,
arreglos,
ciclos,
condicion)
Algoritmo
Inicio
Dimensionar Nombre[150], Edad[150]
X <- 1
mientras X <= 150 hacer
leer Nombre[X], Edad[X]
Pgina 107
SLE
Objetivo
PROBLEMA
33 (Examen
1)
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
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
PROBLEMA
34
(Constantes,
Matriz,
Subrutinas,
funciones,
tipos datos)
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.
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
Pgina 108
Objetivo
PROBLEMA
35
(Subrutinas,
variables
globales,
condicion
multiple)
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.
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
PROBLEMA
36 (Ejemplo
completo de
Sistema
ABC,
Archivos
externos)
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
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
Pgina 109
Pgina 110
DIAGRAMA 1
Hacer el diagrama de flujo para sumar dos numeros leidos por el teclado y escribir el
resultado
Modificar el anterior pero para sumar 100 numeros leidos por el teclado
DIAGRAMA 2
DIAGRAMA 3
Modificar el anterior para que permita sumar N numeros. El valor de N se debe leer
previamente por teclado
Hacer un diagrama de flujo que permita escribir los 100 primeros pares
DIAGRAMA 4
PROBLEMA 5
Pgina 111
Pgina 112
ACTIVIDAD 1
Suma
de
2
numeros
ACTIVIDAD 2
Suma 2 numeros
introducidos por
usuario
Pgina 113
ACTIVIDAD 3
Operaciones con
Enteros (+,-,*,/)
Escribir un algoritmo que sume, reste, multiplique y divida dos nmeros REALES
ACTIVIDAD 4
Operaciones con
Reales (+,-,*,/)
Pgina 114
ACTIVIDAD 5
Calcular area de
un rectangulo
ACTIVIDAD 6
Calcular area de
un triangulo
Pgina 115
ACTIVIDAD 7
Calcular
area
circunferencia
ACTIVIDAD 8
Calcular
velocidad de un
proyectil
Pgina 116
ACTIVIDAD 9
Calcular
volumen de una
esfera
ACTIVIDAD 10
Evaluar
expresion
matematica
Pgina 117
ACTIVIDAD 11
Evaluar
expresion
matematica
ACTIVIDAD 12
Evaluar
Ecuacion de 2.
Grado
Pgina 118
ACTIVIDAD 13
Calcular area y
volumen de un
cilindro
ACTIVIDAD 14
Calcular area y
volumen de un
Hexaedro
Pgina 119
ACTIVIDAD 15
Calcular area y
volumen de un
Prisma
ACTIVIDAD 16
Calcular area y
volumen de un
Tetraedro
Pgina 120
ACTIVIDAD 17
Calcular area y
volumen de un
Cono
ACTIVIDAD 18
Calcular
volumen de un
Elipsoide
Pgina 121
ACTIVIDAD 19
Calcular
Hipotenusa de
un
Triangulo
Rectangulo
ACTIVIDAD 20
Calcular
Hipotenusa de
un triangulo
Pgina 122
ACTIVIDAD 21
Calcular numero
de
horas,
minutos,
segundos en X
segundos
ACTIVIDAD 22
Calcular capital
en un tiempo
determinado
Escribir un algoritmo que calcule el nmero de horas, minutos y segundos que hay en una X
cantidad de segundos.
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.
Pgina 123
ACTIVIDAD 23
Calcular
expresion
trigonometrica
ACTIVIDAD 24
Convertir Pies en
Metros
Escribir un algoritmo que calcula la siguiente expresin trigonomtrica para un valor angular
dado: (Sen X * Cos X)/(Tan X)
Pgina 124
ACTIVIDAD 25
Calcular
area
Rectangulo por
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
Pgina 125
ACTIVIDAD 26
Calcular
velocidad de un
coche
ACTIVIDAD 27
Calcular
velocidad de un
cohete
Pgina 126
ACTIVIDAD 28
Conocer valores
de variables
ACTIVIDAD 29
Sumar cifras de
un numero dado
Pgina 127
ACTIVIDAD 30
Conocer valor de
variables
Pgina 128
Pgina 129
Objetivo
ACTIVIDAD
31 Calculadora
Objetivo
ACTIVIDAD
32 Numeros
en orden
ascendente
Pgina 130
ACTIVIDAD
33
Multiplos de
5
Objetivo
ACTIVIDAD
34 Par o
impar
Pgina 131
ACTIVIDAD
35 Numeros
menor o
igual a 100
Objetivo
ACTIVIDAD
36 Dias de
la semana
Pgina 132
ACTIVIDAD
37 Dias de
la semana
(Cond. Mult)
Objetivo
ACTIVIDAD
38
Intercambio
de valores
Pgina 133
ACTIVIDAD
39 Ingreso
a espectaculo
adulto
Objetivo
ACTIVIDAD
40
Descuentos
por docena
Objetivo
Pgina 134
ACTIVIDAD
41 Grupos
de empleados
Grupo
Grupo
Grupo
Grupo
1:
2:
3:
4:
Objetivo
ACTIVIDAD
42 Grupos
de empleados
(Operadores
Logicos)
Grupo
Grupo
Grupo
Grupo
1:
2:
3:
4:
Pgina 135
ACTIVIDAD
43 Renta de
automoviles
Pgina 136
ACTIVIDAD 44
Cobro en
Estacionamiento
Pgina 137
Objetivo
ACTIVIDAD
45
Promedio de
practicas
alumno
Pgina 138
ACTIVIDAD
46
Determinar
si es un
triangulo
Pgina 139
ACTIVIDAD
47 Orden
ascendente y
descendente
Objetivo
ACTIVIDAD
48 Cuenta
digitos
de
una cifra
Pgina 140
Objetivo
ACTIVIDAD
49 - Multiplos
Pgina 141
Pgina 142
Escribir un algoritmo que permita realizar divisiones hasta que el usuario desee terminar.
ACTIVIDAD 50 Divisiones
Pgina 143
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.
Escribir un algoritmo que visualice en pantalla los nmeros pares entre 1 y 30.
ACTIVIDAD 52
Numeros pares
entre 1 y 30
Cuaderno de Trabajo - Alumno
Pgina 144
Pgina 145
ACTIVIDAD 53
Numeros pares
entre 1 y 30
(Ciclo Repetir)
ACTIVIDAD 54
Suma
de
numeros entre 1
y 10
Pgina 146
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.
Escribir un algoritmo que calcule la suma de los nmeros hasta un nmero dado.
ACTIVIDAD 56
Suma de
numeros
ACTIVIDAD 57
Factorial de un
numero
Pgina 147
ACTIVIDAD 58
Media
de
5
numeros
ACTIVIDAD 59
Depreciacion de
un objeto por
metodo
linea
recta
Pgina 148
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.
Pgina 149
ACTIVIDAD 61
Valores
de
temperatura
ACTIVIDAD 62
Tirada de dados
Escribir un algoritmo que lea 5 valores de temperatura, y escriba el nmero de veces que
estuvo bajo 0.
Pgina 150
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.
Pgina 151
ACTIVIDAD 63
Suma matrices
bidimensionales
Escribir un algoritmo que sume dos matrices bidimensionales. Las matrices para que puedan
sumarse deben tener las mismas dimensiones.
Pgina 152
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).
Pgina 153
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
Pgina 154
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
Pgina 155
ACTIVIDAD 67
Posicion
del
valor maximo en
una matriz
Pgina 156
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
Pgina 157
ACTIVIDAD 69
Determinar
aprobados
y
reprobados de
alumnos
Pgina 158
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.
Pgina 159
Escribir un algoritmo que sume dos Cadenas. Los datos vienen en el cuerpo del ejercicio.
ACTIVIDAD 70
Suma
de
2
cadenas
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.
Pgina 160
ACTIVIDAD 72
Extraccion
de
cadenas
ACTIVIDAD 73
Tamao
de
cadenas
ACTIVIDAD 74
Mayusculas
y
Minusculas
Pgina 161
Pgina 162
ACTIVIDAD 75
Calcular
Factorial de un
numero
ACTIVIDAD 76
Parametros por
valor
Pgina 163
ACTIVIDAD 77
Parametros por
referencia
ACTIVIDAD 78
Intercambio de
variables
con
parametros por
referencia
Pgina 164
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.
Pgina 165
RETO
1
Calcular
edad
exacta
RETO
2
Conocer
signo
del Zodiaco
Pgina 166
RETO 3 Juego
del Gato o 3 en
Raya
Pgina 167
RETO 4 Juego
del Ahorcado
RETO
5
Convertir
un
numero Binario
a Decimal y
viceversa
Pgina 168