Laboratorio 02: Ejercicios de programación en C

Documentos relacionados
Ejercicios 01: Diagramas de flujo y pseudocódigo

Ejercicios: Programación en C

Laboratorio 04: Anidamiento de estructuras iterativas y selectivas

Laboratorio 03: Ejercicios de Programación con la estructura para (for)

Repaso 01: Algoritmos y estructuras de control

Practica 01: Evaluación de expresiones infijas

Practica 03: Eliminación Gaussiana

Tema 02: Algoritmia y pseudocódigo

Tema 06: Estructuras y sentencias de control en C

Análisis de algoritmos

Practica 04: Soluciones Recursivas

Programación Estructurada

Tema 14: Arreglos estáticos en C

Practica 05: El problema de las N-Reinas

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE HIDALGO

Estructuras de Datos. Practica 06: Codificación de Huffman

Practica 02: Simulaciones con el TAD Cola

ASECOMPU. PORTAL DE REFUERZO ACADEMICO EN PROGRAMACIÓN LISTA DE EJERCICIOS. CICLOS REPETITIVOS Fecha de impresión:

19. En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se reparte conforme a la sig.

Análisis de algoritmos

GUIA DE EJERCICICIOS. 1.- Escribir un algoritmo que lea cuatro números e indique cual es el mayor

LENGUAJE DE PROGRAMACION UNO.

COMPUTACIÓN Ingenieria Eléctrica/Electrónica FACENA-UNNE 1

Repaso 02: Apuntadores y manejo de memoria dinámica

Escribe un programa en java que pida la edad al usuario para que este indique si es mayor de edad o no

Hoja de Ruta para el curso ALGORITMO

1 Énfasis en sistemas. Módulo FUNDAMENTOS DE PROGRAMACION ESTRUCTURAS CONDICIONALES COMPUESTAS ( If anidados)

UNIVERSIDAD LUTERANA SALVADOREÑA. Docente: ANA LISSETTE GIRÓN

Análisis de algoritmos

Cuando se necesita repetir un proceso un numero determinado de veces es posible utilizar la instrucción for (PARA).

Diseñar el algoritmo correspondiente a los siguientes planteamientos:

BOLETÍN 5: Algoritmos II

Profesor(a): Ing. Miriam Cerón Brito

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

Elabore el análisis, diseño orientado a objetos e implementación de una aplicación de consola que resuelva las siguientes situaciones:

Practica 03: Uso de expresiones regulares en Python

Programación Estructurada. Ejercicios Prácticos Adicionales

BOLETÍN DE EJERCICIOS: PROGRAMACIÓN EN C++ Ejercicio 1.- escribir un programa que calcule el factorial de un número:

Practica 03: Diccionario con hashing abierto

MATEMÁTICA APLICADA ADMINISTRACIÓN Y FINANZAS LÓGICA MATEMÁTICA APLICACIONES DE LAS OPERACIONES LÓGICAS Manizales, 03 de Noviembre de 2010

Universidad Autónoma del Estado de México Facultad de Medicina

1. Escribir un algoritmo que resuelva A-B*((B+C) / (C-C 2 ). Considerar que no es posible la división por 0, detectar este caso y salvar el error.

Trabajo Práctico 5 Estructura Repetitiva

GUIA DE EJERCICIOS Nº 02 Estructuras Selectivas

EJEMPLOS Y EJERCICIOS

Estructuras de Control Selección o Decisión

Tema: Entorno a C# y Estructuras Secuenciales.

Practica 07: Maquina de Turing

Ahora responde a las siguientes cuestiones: Supongamos que el usuario introduce 3 en A, 4 en B y 5 en C

Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación Área de Programación

Introducción a PSeInt

LENGUAJES DE PROGRAMACIÓN. Trabajo Práctico - Junio de 2015

EJERCICIOS ALGORITMOS

EJEMPLOS: 1.- Pedir dos números y presentar la suma: Diagrama de flujo: INICIO INT N1, N2, RES CUAL ES EL NUMERO N 1 CUAL ES EL NUMERO N 2

ALGORITMO, ESTRUCTURAS Y PROGRAMACIÓN I. Prof.

Programación Estructurada

Tema 3. Estructuras de Datos

Análisis de algoritmos

Ejercicios de programación Luis Francisco García Martínez Ingeniería de Sistemas Programa de Ingeniería de Sistemas

Prácticas de JavaScript

Análisis de algoritmos

GENERALIDADES DEL LENGUAJE C

Tema 07: Programación estructurada en C

Práctica 03 Ejercicios con Lex

FUNDAMENTOS DE PROGRAMACIÓN TALLER No. 1 Profesor: Alvaro Ospina Sanjuan

Practica 01:Prefijos, sufijos, subcadenasy operaciones con cadenas

Actividad colaborativa Ejercicios de programación Programación básica C++

ESTRUCTURAS CICLICAS

Tema: Entorno a C# y Estructuras Secuenciales.

Fundamentos de Programación Tema 3. Relación I. 3. Escribir las siguientes expresiones aritméticas como expresiones de computadora: La

PROGRAMACIÓN PRÁCTICA AUTOR: JUAN LUIS ARELLANO ESCAMILLA

ASECOMPU. PORTAL DE REFUERZO ACADEMICO EN PROGRAMACIÓN LISTA DE EJERCICIOS. ESTRUCTURAS SECUENCIALES Fecha de impresión:

[A] Programas sólo con "Estructura Secuencia"

Tema 01: Algoritmia y diagramas de flujo. Estructuras de datos (Prof. Edgardo A. Franco)

Elabore el análisis, diseño orientado a objetos e implementación de una aplicación de consola que resuelva cada una de las siguientes situaciones:

CONTENIDO 1 Diagrama de flujo 2 Pseudocodigo 3 Diagrama estructurado (nassi-schneiderman)

El diseño de un programa Jhon Jairo Padilla Aguilar, PhD.

Tema 05: Elementos de un programa en C

UNIDAD V: ESTRUCTURAS REPETITIVAS

Ejercicios de programación en C. ET1032 Informática Industrial

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Arreglos (vectores y matrices)

Estructuras de Repetición

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

Unan LEON Departamento de Computación UNAN León

5. ESTRUCTURAS DE REPETICIÓN

Transcripción:

olicitado: Ejercicios 02: Soluciones estructuradas en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1

Contenido Problema 01 Planteamiento Diagrama de flujo Problema 02 Planteamiento Diagrama de flujo Problema 03 Planteamiento Pseudocódigo Problema 04 Planteamiento Pseudocódigo Simulando el tiempo Ejercicios 02: Soluciones estructuradas en C 2

Problema 01 Se necesita realizar un programa que calcule el sueldo neto de un trabajador, el programa recibirá el sueldo base del empleado y le descontará el impuesto sobre la renta según la siguiente tabla: Rangos del sueldo base Descuento de impuesto $0.00 - $1000.00 5% del sueldo base $1001.00 - $5000.00 15% del sueldo base >$5000.00 30% del sueldo base 3

Problema 01 (Diagrama de flujo) Diagrama de flujo que da solución al problema 01 4

Problema 02 Dados tres números enteros de entrada a, b y c, mostrarlos a la salida ordenados de forma descendente. E.g. si la entrada es: a=6, b=5, y c=90; La salida será: 90, 6, 5. E.g. si la entrada es: a=60, b=50, y c=9; La salida será: 60, 50, 9. 5

Diagrama de flujo que da solución al problema 02 6

Problema 03 Realizar un programa que calcule el cubo de una serie de números positivos introducidos uno a uno, si se introduce un número negativo se deberá terminar el programa. 7

Problema 03 (Pseudocódigo) procedimiento Cubo numero Entrada() mientras numero>=0 hacer cubo=numero*numero*numero Salida() cubo numero Entrada() fin mientras fin procedimiento Pseudocódigo que da solución al problema 03 8

Problema 04 Realizar un programa que muestre la serie de Fibonacci hasta el termino n, el cual es recibido al inicio y debe ser mayor a 2. Al mostrar la serie se deberá mostrar termino a termino a la salida con un retraso de 0.5 segundos. Recordar que los dos primeros números de la serie son 0 y 1. El resto se calcula como la suma de los dos números inmediatos que le preceden. E.g. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 9

Problema 04 (Pseudocódigo) procedimiento Fibonacci repetir n Entrada() hasta que (n>2) primero 0 Salida() primero EsperarMedioSegundo() segundo 1 Salida() segundo EsperarMedioSegundo() elemento 3 repetir siguiente primero+segundo Salida() siguiente EsperarMedioSegundo() primero segundo segundo siguiente elemento elemento+1 hasta que(elemento>n) fin procedimiento Pseudocódigo que da solución al problema 04 10

Simulando el tiempo El lenguaje ANSI C no incluye librerías estándar con funciones para retrasos de tiempo. El compilador MinGW actualmente usado, incluye una librería no estándar llamada <windows.h>, esta incluye a la función Sleep, la cual recibe como parámetro el número de milisegundos que el programa duerme antes de continuar su ejecución. Si se desea obtener los mismo resultados en Linux se deberá de utilizar la función sleep(), sin la librería <windows.h>. 11

Simulando el tiempo El siguiente código solo funciona bajo Windows y compilando con MinGW. <windows.h> no pertenece a la biblioteca estándar de C. #include<stdio.h> #include<windows.h> int main(void) { short i=0; while(i<100) { printf("\n%d",i); Sleep(500); //Esperar 500 milisegundos i++; } } 12

Ejercicios 02: Soluciones estructuradas en C Problema 01: Escribir un programa que determine si un año es bisiesto. Una año es bisiesto si el múltiplo de 4. (E.g. 1984. Los años múltiplos de 100 no son bisiestos, salvo si ellos son también múltiplos de 400 (2000 es bisiesto, 1800 no lo es). Problema 02: Realizar un programa que convierta una cantidad de metros dada en su equivalente en Pies, Yardas y Millas. Problema 03: Realizar un programa, que calcule la máxima área de un terreno rectangular de lados 100-2x y x respectivamente, para valores de x entre 10 y 300. Problema 04: Realizar un programa que reciba un número de segundos mayor a 30 y menor a 120, durante el número de segundos dado el programa estará mostrando la palabra "hola" cada 2 segundos, mostrando la palabra "soñando" cada 3 segundos y mostrando los segundos restantes cada 5 segundos. 13

Problema 05: Realizar un temporizador capaz de recibir al inicio minutos, segundos y centésimas de segundo, una vez dados estos valores deberá de mostrarse en pantalla su valor hasta llegar a cero. Al llegar a cero deberá mostrar el mensaje fin del tiempo así como sonar una alarma que indique que se a acabado el tiempo y posteriormente terminará su ejecución. Problema 06: Realizar un programa que convierta un número dado de segundos en el equivalente de minutos y segundos. Problema 07: Realizar un programa para calcular la longitud de la circunferencia y el área de un círculo, para un radio introducido. Problema 08: Realizar un programa que obtenga 100 términos de una serie numérica de dos en dos a partir de un número dado; deberá de haber un tiempo de retraso de 1 segundo entre cada numero de la serie a la salida. Problema 09: Realizar un programa que imprima la suma de los 100 primeros números a partir de un número dado. 14

Problema 10: Realizar un programa que reciba un número entero mayor a 0 y menor a 10. El número recibido, será el número de minutos que se deberá contar en forma regresiva hasta llegar a 0 segundos, se debe mostrar en todo momento los minutos y segundos faltantes para llegar a cero. Finalmente cuando el contador regresivo llegue a cero segundos, se debe mostrar el mensaje Se terminó el tiempo. Problema 11: Realizar un programa que calcule el factorial de un número dado. Problema 12 Realizar un programa para calcular la suma de los números primos menores o iguales a un numero dado. Problema 13: Realizar un programa para calcular los grados F y R a partir de un número de C dado. Problema 14: Realizar un programa capaz de saludar al usuario un número de veces dado. Problema 15: Realizar un programa capaz de mostrar la serie 1, 1, 2, 4, 7, 11, 18, 36, 65,..., hasta un elemento n dado. 15 Los dos primeros términos son arbitrarios (el segundo impar). A partir del tercero, si el término anterior es impar, se obtiene sumando los dos términos anteriores; si es par, sumando los tres términos anteriores.

Problema 16: Realizar un programa que reciba un número x a partir del cual calcula: σ x+10 i=x i 2. Problema 17: Realizar un programa que al recibir un número decimal obtenga su representación en hexadecimal. Problema 18: Realizar un programa que al recibir un número decimal obtenga su representación en binario. Problema 19: Realizar un programa capaz de recibir un número y determinar si este es primo no. Problema 20: Realizar un programa capaz de recibir las horas trabajadas de un empleado y la paga por hora para calcular el sueldo semanal de un empleado. Cuando la horas de trabajo exceden de 40 se consideran horas extra; las primeras 8 se pagan al doble; si las horas extra exceden de 8 se pagan las primeras 8 al doble de lo que se pagan las horas normales y el resto al triple. Problema 21: Realizar un programa capaz de leer una lista de calificaciones (0.00-10.00) y calcular el promedio, el número de aprobados y el número de reprobados; el final de la lista de calificaciones será si se introduce un número menor a cero.os términos son arbitrarios (el segundo impar). A partir del tercero, si el término anterior es impar, se obtiene sumando los dos términos anteriores; si es par, sumando los tres términos anteriores. 16

Problema 22: Realizar un programa que muestre la multiplicación de los dos números mayores de una serie de números positivos, suponiendo que los datos se leen uno a uno. Un valor de cero como entrada indicará que se ha alcanzado el final de la serie de números positivos. Problema 23: Realizar un programa que calcule la distancia entre dos puntos de un plano 2D. Problema 24: Realizar un programa que calcule la distancia entre dos puntos de un plano 3D. Problema 25: Se necesita crear un programa que le permita a una máquina expendedora devolver el cambio con las 3 denominaciones de monedas posibles con las que cuenta. Al inicio del programa se deberán las cantidades de monedas que tiene de $10, $5, $2 y $1. Posteriormente el programa estará recibiendo el cambio a devolver hasta que se llegue a un Error. Si el cambio a devolver no se puede completar se deberá de mostrar como salida Error y el programa termina. Los dos primeros términos son arbitrarios (el segundo impar). A partir del tercero, si el término anterior es impar, se obtiene sumando los dos términos anteriores; si es par, sumando los tres términos anteriores. 17

Ejercicios 02: Soluciones estructuradas en C Realizar para cada uno de los problemas anteriores una solución estructurada, construyendo su diagrama de flujo y pseudocódigo, finalmente codifique su solución en un programa debidamente documentado en lenguaje C. Observaciones 1. Reportar el texto del ejercicio, su algoritmo en diagrama de flujo y pseudocódigo, el código en C (con colores) y las pruebas de sus programas. 2. Incluir al reporte las capturas de pantalla y explicaciones de funcionamiento de cada programa construido. 3. El reporte es individual y tiene portada, índice y encabezados de pagina con número de pagina, titulo y nombre del alumno. 4. Enviar vía Web en un archivo comprimido (ZIP, RAR o TAR), reporte y códigos de C de cada problema. *Se entregará antes del día Miércoles 30 de Marzo de 2016 (23:59:59 hora limite). Grupo Contraseña 1CV8 algoritmia1cv8 18