Google
WWW Recursos de Programación

Antología sin comentar de Programando con Java

Grupo Disciplinario

Seminario de Tesis

Programas

Lab. de Programación Visual para Ingeniería

Programa Sintéticos y analíticos Programa Sintético Experiencia1 Experiencia2

Laboratorio de Programación

  • Programas Sinteticos y Analiticos
Sintetico Laboratorio de Programación
Analitico Laboratorio de Programación-Experiencia 1
Analitico Laboratorio de Programación-Experiencia 2
Analitico Laboratorio de Programación-Experiencia 3
Analitico Laboratorio de Programación-Experiencia 4

Técnicas de Programación

  • Programas Sinteticos y Analiticos

Sintetico Técnicas de Programación

Analitico Técnicas de Programación-Experiencia 1

Analitico Técnicas de Programación-Experiencia 2

Analitico Técnicas de Programación-Experiencia 3

Estructura de Datos

  • Programas Sinteticos y Analiticos
Sintetico Estructura de Datos
Analitico Estructura de Datos-Experiencia 1
Analitico Estructura de Datos-Experiencia 2
Analitico Estructura de Datos-Experiencia 3
Analitico Estructura de Datos-Experiencia 4

Apuntes Varios

-Apuntes Varios

Apuntes de Algoritmos
Analisis y Diseño de Solucion a un Problema
Resolucion de Problemas
INSTITUTO NACIONAL DE ESTADISTICA E INFORMATICA
Técnicas de Programación

UNIVERSIDAD DE CONCEPCION - Manejo de archivos en C

Antologias

-Antologias

Laboratorio Programacion
Antologia 1 - Laboratorio de Programación
Antologia 2 - Laboratorio de Programación

Manuales de Practicas

-Manuales de Practicas
Manual de Tecnicas de Programación
Manual de Laboratorio de Programación
Manual de Estructura de Datos

Cuadernos de Trabajo

-Cuadernos de Trabajo(Ejercicios)

Cuaderno de Técnicas de Programación

Cuaderno de Estructura de Datos

Aplicacion de Registros

1.Hacer un algoritmo que registre alumno[x], nota1[x], nota2[x], nota3[x], nota4[x]donde va de 1 a 100. Se desea saber:
·Cual alumno tiene el mejor promedio
·Cuales son los 5 alumnos que tienen mejor nota2[x]
·Cuales son los 4 alumnos que tienen peor nota4[x]

2.Escribir un tipo registro para almacenar información referente a :
-Cartas de una baraja; la carta está formada por un número y un palo. Emplear tipos auxiliares para ambos.
-Tiempo medido en horas, minutos y segundos
-Descripción de un libro en el catálogo de una biblioteca (autor, editorial, título...)
-Un punto del plano. Las coordenadas se considerarán enteras.
-Un número complejo
-Información sobre una persona: nombre, fecha de nacimiento, edad, sexo, número de seguridad social, estado civil y cónyuge en caso de estar casado.
-Estadísticas meteorológicas: fecha; ciudad, provincia, país; hora del día; temperatura; condiciones meteorológicas (cielo despejado, parcialmente nuboso, nuboso, tempestuoso); si el cielo no está despejado: nivel de nubosidad y tipo de nubes; si está parcialmente nuboso: tanto por ciento del cielo que se encuentra cubierto; si está tempestuoso: grosor de la capa de nieve (en caso de que este nevando), litros de lluvia por metro cuadrado ( en caso de que esté lloviendo) o tamaño del granizo (en caso de que esté granizando)

3.Escribir un algoritmo que lea dos números complejos, y un símbolo correspondiente a la suma, resta, multiplicación y división y muestre por pantalla el resultado de la operación. Debe emplearse un registro para almacenar los números complejos, y un procedimiento diferente para realizar cada una de las operaciones.

4.Dada las horas trabajadas de 20 personas y la tarifa de pago calcular el salario.

5.Una agencia de vehículos distribuye 15 modelos diferentes y tiene en su plantilla a 10 vendedores. Se desea un algoritmo que escriba un informe mensual de las ventas por vendedor y modelo; así como el No. De automóviles vendidos por cada vendedor y el No. Total de cada modelo vendido por todos los vendedores. Asimismo, se necesita saber cual es el vendedor que más coches ha vendido.

6.Buscar en el directorio telefónico, el número de:
a.José González Pérez
b.Pedro Gómez Bernal.
c.Escribir un algoritmo que sirva para buscar a cualquier persona.

7.Dada una lista de 100 personas se pide una relación con el nombre y edad de las personas mayores de 35 años.

8.Realizar el diseño de un algoritmo que me permita ingresar los siguientes datos para un trabajador:
·Código del trabajador
·Numero de horas trabajadas
·Costo de la hora
Calcular e imprimir el sueldo bruto y neto semanal (sueldo neto: sueldo bruto menos el descuento del seguro de pensiones 11%).

9.Se desea saber de los alumnos, Nombre[x], examen parcial[x], examen final[x]:
¿Cuáles de los alumnos tiene los mejores promedios?
¿Cuales fueron los 5 peores alumnos del examen parcial?
¿Cuales fueron los 3 peores del examen final?

10.En una empresa: se debe visualizar en una lista FICHA donde se encuentra nombre categoría, edad y sueldo además el algoritmo debe visualizar un mensaje “existen trabajadores mayores de 65 años en un numero de ...” Y el numero de trabajadores mayores de 65 años.

11.Dado la tarifa de pago por horas de un trabajador, y sus horas trabajadas calcular cuantos trabajadores reciben un salario mayor o igual a S/.500 y calcular además el promedio de los salarios de todos los trabajadores

12.Calcular el promedio de cada alumno en un grupo de 25 alumnos en el que cada alumno tendrá 4 calificaciones. Registrar matricula, nombre completo y sexo del alumno.

13.Escriba un algoritmo que controle las listas de pasajeros en una línea aérea el registro para cada pasajero contendrá:
-Nombre
-No. de vuelo
-No. de asiento

14.Hacer un algoritmo para vender pasajes en una línea aérea. Para ello se necesita un registro con la capacidad de cada vuelo y el número de plazas libres de cada vuelo. Así como el número de reservas que quedan en lista de espera. Supongamos que la línea aérea tiene un vuelo a 8 ciudades distintas.

15.Calcule el salario bruto y salario neto para un empleado, teniendo como datos el pago por hora, número de horas trabajadas y cantidad deducida en impuestos.

16.Teniendo el balance del banco de su cuenta de cheques del mes pasado y todas las transacciones para el mes corriente, escriba un algoritmo que calcule e imprima el balance de su cuenta de cheques al final del mes en curso. Puede suponerse que el número de transacciones del mes en curso se conoce antes de tiempo.

17.Se tienen los siguientes datos de un empleado: apellido y nombre, categoría a la que pertenece, fecha de ingreso a la empresa, cantidad de horas trabajadas en el mes y cantidad de horas extras trabajadas.
·La categoría puede ser: administrativo, técnico, profesional u operario.
·El valor de la hora trabajada por categoría es: $5, $7, $12 y $3 respectivamente.
·Las horas extras tienen un valor superior en un 50%.
·El sueldo a cobrar se compone de: sueldo base (cantidad de horas * valor hora) + monto por horas extras + porcentaje por años de antigüedad - un descuento del 3% por obra social - un descuento del 10% por jubilación.
·Los porcentajes se calculan sobre el sueldo base.
·La antigüedad se calcula según: 5% entre 1 y 3 años, 10% entre 4 y 6 años, 20% entre 7 y 10 años, 50% entre 11 y 15 años, 100% mas de 16 años (años cumplidos). La fecha de procesamiento se ingresa una única vez.
·Informar el apellido, el nombre, el sueldo base, el monto por horas extras si existe, el monto por antigüedad, el monto de cada descuento y el sueldo a cobrar.
·Realizar la impresión en un formato típico de liquidación de sueldo.

18.Se tienen los siguientes datos de los n inscriptos a una carrera: apellido-nombre, edad y tiempo obtenido, describir la estructura necesaria para procesar esta información.

19.En un algoritmo de simulación se desea tener actualizada la hora del día, después de un intervalo de tiempo (duración de un experimento) expresado en segundos. Diseñar un procedimiento que lea como dato de entrada dicho intervalo de tiempo y la hora antigua expresada en horas, minutos y segundos y que devuelva la nueva hora. Ejemplo:
Hora antigua: 3 hr. 19 min. 30 seg.
Intervalo: 3500 seg.
Nueva hora: 3h 19 min. 30 seg. + 3500 seg.

20.En una compañía con 10 empleados que trabajan tiempo extra (más de 40 horas)cada semana, desean un algoritmo para elaborar nóminas de pagos que lea los registros de tiempos semanales (conteniendo nombre del empleado, (s)salario por hora de trabajo y (h)horas trabajadas por cada empleado) y que calcule el salario bruto y el salario neto como sigue:
Sal. Bruto = h * s (si h<=40)
1.5 * s (h – 40) + 40 * s (si h>40)
sal. Neto = b (si sal. Bruto <=65)
b – (15 + 0.45 * b) (si sal. Burto >65)

21.El algoritmo debe imprimir tres columnas En la primera el Nombre del empleado, en la 2ª su salario y en la 3ª el número de horas trabajadas.

22.Escriba un algoritmo que lea 2 polinomios, los almacene como lista encadenada, los sume e imprima el resultado como un polinomio. Ejemplo de polinomio:


23.Leer dos puntos P1 y P2 representados como registros, calcular la longitud del segmento que los une y la pendiente de la recta que pasa por dichos puntos.


24.Realizar un algoritmo que procese un conjunto de transacciones de una cuenta de cheques (depósitos y retiros). El algoritmo comenzará pidiendo el balance anterior de la cuenta y después procesará cada transacción, calculando el nuevo balance. La salida debe aparecer en 3 columnas.
Depósitos Retiros Saldo

25.Realizar un algoritmo de control de libros en biblioteca. Cada registro contiene la siguiente información:
·título
·autor(es)
a) No.de autores
b) Nombres (cadena larga)
·editor (Nombre, fecha, lugar)
·No. catálogo
·Hacer un sistema que realice las siguientes operaciones:
·listar los libros publicados en un año dado
·listar los libros ordenados según su número de catálogo
·listar los libros escritos por un autor determinado

26.Hacer un algoritmo que calcule el pago mensual y el pago total para un préstamo bancario teniendo. Cantidad prestada, duración del préstamo en meses y tasa de interés para el préstamo.

27.El algoritmo deberá leer un registro a la vez (c/u tiene el valor del préstamo, delos meses y de la tasa de interés). Ejecutar los cálculos requeridos e imprimir los valores del préstamo, los meses, la tasa de interés, el pago mensual y el pago total.
Probar con los siguientes datos:


28.Cada semana en una compañía. Las tarjetas de control de tiempo, contiene la siguiente información:
a)No. de identificación (entero de 5 dígitos).
b)Salario que se le paga por hora trabajada (No. fraccionario).
c)El tiempo trabajado en lunes, martes, miércoles, jueves y viernes (c/u es un entero de 4 dígitos de la forma HHMM, donde HH son las horas y MM son los minutos).

29.Se tienen los siguientes datos de los n inscriptos a una carrera: apellido-nombre, edad y tiempo obtenido. Los participantes se clasifican según su edad en: veterano (edad > 30 años), mayor (21 < edad < 30) juvenil (18 < edad < 21) y cadete (12 < edad < 18). Se pide:
·Informar un listado con el apellido-nombre, categoría y tiempo de cada competidor;
·Informar la cantidad de competidores por categoría y el tiempo promedio de la prueba.
El listado de entrada no tiene ningún orden particular.

30.Suponer que el listado de entrada del problema anterior está ordenado por categoría de veterano a cadete. Se pide el mismo listado de salida pero indicando la cantidad de competidores por categoría y el tiempo promedio por categoría inmediatamente después de listar el último competidor de cada categoría. De la siguiente forma con todas las categorías:
Juan Pérez (veterano) 2’
Pedro Ramos (veterano) 3’
Cantidad de competidores Veteranos: 2
Promedio Veteranos: 2.5’

31.Realizar un programa que permita imprimir facturas en formato típico, ingresando como datos el apellido-nombre del cliente y por cada artículo, el código, la descripción, la cantidad de unidades y el precio por unidad. El número de factura se genera automáticamente a partir del ingreso del número de la primer factura del día. Realizar un descuento del 10% por cada artículo comprado en 10 ó mas unidades.

32.Se tiene un listado de alumnos de un curso con el apellido-nombre, código y una cantidad variable de notas obtenidas ( 2 como mínimo y 4 como máximo ). Las notas corresponden a primer parcial, segundo parcial, recuperación de primer parcial y recuperación de segundo parcial, exámenes que se suceden en ese orden en el tiempo. La aprobación de cada parcial requiere un promedio mayor o igual que 4 considerando la primera y/o segunda oportunidad. La ausencia se ingresa como un 0 y se computa como tal solo en la segunda oportunidad (es decir, un alumno que no se presenta en la primera oportunidad y obtiene 4 ó mas en la segunda oportunidad del correspondiente parcial tiene como promedio la nota de esta segunda oportunidad). Informar el listado en el mismo orden de entrada con apellido-nombre, código, promedio por parcial y la leyenda " a examen final " ó " recursa " en caso de aprobación de los dos parciales o no respectivamente.

33.En una carrera de automóviles se inscriben n participantes de los cuales se registra el apellido y nombre, y la marca que representa, a medida que se inscriben se les asigna un número de competidor. El día de la prueba se completan los siguientes datos: cantidad de vueltas realizadas y tiempo obtenido. No todos los inscriptos se presentan a la prueba. La cantidad máxima de vueltas es 50 y el tiempo máximo de la prueba es 2 horas. Si un competidor abandona la prueba se le asigna un tiempo mayor a 2 horas. La prueba es ganada por aquel competidor que complete las 50 vueltas en el menor tiempo, dentro de las 2 horas, o bien el que mas vueltas haya realizado al alcanzarse las 2 horas desde la largada. Se pide informar todos los datos del ganador, si es único, en caso contrario informar las mejores condiciones alcanzadas y la cantidad de participantes que las obtuvieron.

34.Una agencia de automóviles tiene 4 vendedores, los cuales se identifican con los números enteros entre 1 y 4. Por cada venta realizada durante un mes, se tiene un listado con el número de vendedor que la realizó y el monto de la venta. La comisión de cada vendedor es del 20% del monto total de venta que haya acumulado en el mes. Se pide informar:
·El monto total de venta de la agencia, el monto total de venta de cada vendedor junto con la comisión correspondiente y el porcentaje respecto al total de la agencia
·La cantidad total de unidades vendidas de la agencia, la cantidad total de cada vendedor y el porcentaje que esta última cantidad representa con respecto a la primera.

35.Se tiene un listado de alumnos que consiste en apellido, nombre y 4 notas por alumno. Informar el mayor y el menor promedio registrado junto con el nombre y apellido del alumno, suponiendo que ambos son únicos.

36.Dados los datos del problema anterior, informar el menor promedio registrado y la cantidad de alumnos que lo obtuvieron, suponiendo que puede existir más de un alumno en esa condición. ¿Se puede informar quiénes son estos alumnos?. Justificar la respuesta.

37.Escriba un sistema que lea estos datos y que calcule para cada empleado las horas trabajadas en horas y minutos y el salario bruto. Suponer que las horas extras se pagan a razón de 1½ veces que el salario normal y que se calculan en base semanal (únicamente sobre las horas totales trabajadas por encima de las 40 horas), en lugar de calcularlas en base diaria.

37.Los resultados de un examen de tipo cierto o falso aplicado a un grupo de computación se ha codificado para introducirlos a un algoritmo. La información de cada estudiante consiste de el número de identificación del estudiante y las respuestas del estudiante a las 10 preguntas. Los datos disponibles son como sigue:


38.Escriba un algoritmo que lea las respuestas correctas, los registros de datos uno a la vez y que compare y almacene el número de respuestas correctas para cada estudiante en un arreglo. Determine la mejor calificación. Después imprimir una tabla con el número de identificación del estudiante, la calificación y la clasificación del estudiante. La clasificación será como sigue:
Mejor a mejor-1: A
Mejor-2 a mejor-3: B
En otro caso: F

39.Un número expresado en notación científica se representa por su mantisa (una fracción) y su exponente. Escriba un algoritmo que lea 2 cadenas que representan números en notación científica y que almacene cada número en un registro con 2 campos. Imprimir la suma y el contenido de cada registro como un valor real.

40.Escribir un algoritmo que genere la equivalencia en código morse de una oración. El código morse para cada carácter se debe almacenar en un arreglo de registros con 2 campos. Uno para la letra y el otro el código correspondiente para esa letra.

41.Un número racional es cualquier número que puede expresarse como el cociente de 2 enteros, 1/2 , 3/4 , 2(2/1) son racionales; sqr (2) y π no lo son.
Aproximación decimal.
Estructura para números racionales:
- Numerado (entero)
- Denominador (entero)

42. Solicitar en préstamo algún libro de una biblioteca.

43. Se tiene un listado de alumnos que consiste en apellido, nombre y 4 notas por alumno. La condición de aprobación es un promedio mayor o igual que 70. Informar un listado en el mismo orden de entrada con el apellido, el nombre, el promedio y una leyenda (aprobado o desaprobado) por alumno. No se conoce la cantidad total de alumnos a procesar. El listado puede estar vacío.

44. Repetir el problema anterior, suponiendo que se conoce la cantidad de alumnos a procesar.

APLICACIÓN DE CADENAS DE CARACTERES

1.Realizar un algoritmo que permita ingresar una frase y la descomponga esta en sus palabras imprimiendo cada palabra al revés. Ejemplo:
i. CIUDAD CHICLAYO
ii. DADUIC OYALCIHC

2.Escribir un algoritmo que lea una cadena de caracteres que finalizan con el % e ignore cualquier carácter que no sea dígito, visualizar el número formado por los dígitos que forman la cadena.

3.Implementar un algoritmo que cuente el número de palabras de una cadena de entrada que termina en ‘.’. La cadena está formada exclusivamente por caracteres alfabéticos (‘a’ – ‘z’ y ‘A’ – ‘Z’) y blancos.

4.Escribir un algoritmo que lea una colección de cadenas de longitud arbitraria. Por cada cadena leída, su algoritmo hará lo siguiente: (Ej. 13, pag. 409, L.J.A)
Imprimir la longitud de la cadena.
Contar el número de ocurrencias de palabras de 4 letras.
Sustituir cada palabra de 4 letras por una cadena de *.

5.Contar el número de veces que se produce en una línea de texto cada letra de la A a la Z.

6.Diseñar funciones para: A) copiar una cadena de caracteres en otra. B) Indicar si un carácter esta en una cadena.

7.Escriba una función que reciba 2 cadenas de caracteres y determine si una es anagrama de la otra, esto es, si una cadena puede obtenerse a partir de la otra permutando sus letras. Ejemplo ALBA es anagrama de BALA, SIMA de MISA.

8.Escriba un algoritmo que lea y evalué expresiones como: + 20 – 4 – 3 + 169; con números enteros, c/u precedido de un signo, la expresión termina con ; dar resultado.

9.Escribir una función que reciba una cadena y que la visualice en forma inversa. Hola = aloH.

10.Realizar un algoritmo que compare dos cadenas.

11.Escribir un algoritmo que lea la hora en notación de 24 hrs. Y de la salida en 12hrs. El algoritmo pedirá exactamente 5 caracteres a las 9 en punto serán 09:00.

12.Escribir un algoritmo que acepte fechas en modo usual y las visualice como 3 números.
Ejemplo:
Entrada: 10, febrero, 2003
Salida: 10/02/2003

13.Hacer un algoritmo que lea una cadena de caracteres y determine si es número fraccionario, entero o no numérico.

14.Realizar un algoritmo que separe la parte entera y la parte fraccionaria de un número fraccionario.

15.Escribir un algoritmo que lea un número fraccionario positivo y que determine el número de dígitos a la izquierda del punto decimal.

16.Realizar un algoritmo que imprima la frecuencia con que aparece cada letra del alfabeto en una oración dada.

17.Realizar un algoritmo que codifique una oración dada.

18.Realizar un algoritmo que pida una cadena y diga si es palíndromo o no (un palíndromo es una cadena que se puede leer igual al derecho y al revés).

19.Desarrollar un algoritmo que elimine todos los espacios finales en una cadena de texto determinada. Por ejemplo, la hilera ‘El origen del universo ’ deberá transformarse en ‘El origen del universo’.

20.Formular un algoritmo cuya entrada sea una hilera S y un factor de multiplicación N, cuya función sea generar la hilera dada N veces. Por ejemplo, los resultados correspondientes a la entrada ‘FI’, 3 deberán ser ‘FIFIFI’.

21.Escriba un algoritmo que lea el cuerpo de un texto y que encuentre la frecuencia con que se presentan palabras de diferentes longitudes, así como la frecuencia con que se presentan todas las letras en el texto. Genere gráficas de salida (histogramas) para ambos conjuntos de resultados.