UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA Curso 301304 – INTRODUCCIÓN A LA PROGRAMACIÓN
Ejercicio 1:
Problema: Hallar el área de un trapecio, teniendo en cuenta la siguiente información, su base mayor mide 10 cm, su base menor mide 4 cm y tiene una altura de 5 cm . Análisis: Datos de entrada: valor de la base mayor del trapecio (baseMayor), valor de base menor del trapecio (baseMenor), valor de la altura del trapecio (altura). Datos de proceso: para calcular el área de un trapecio (área) se aplica la fórmula ((B + b) x h) / 2 Datos de salida: área del trapecio (área)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA Curso 301304 – INTRODUCCIÓN A LA PROGRAMACIÓN
Procesos necesarios: Almacenar en 3 variables (baseMayor, baseMenor y altura) los valores de base mayor, base menor y altura. Aplicar la fórmula para calcular el área del trapecio y almacenar el resultado en una variable (area) Imprimir el resultado con un mensaje indicando el valor del área del trapecio.
Diseño de solución: se puede realizar mediante diagrama de flujo ó pseudocódigo (para el caso se realizará de las 2 formas) Diagrama de flujo inicio
baseMayor, baseMenor, altura
area = ( (baseMayor + baseMenor) * altura ) / 2
area
fin
Pseudocódigo Programa: Área trapecio INICIO LEER baseMayor LEER baseMenor LEER altura CALCULAR area = ( (baseMayor + baseMenor) * altura ) / 2 IMPRIMIR área FIN
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA Curso 301304 – INTRODUCCIÓN A LA PROGRAMACIÓN
Prueba de escritorio Ejecución 1 2
baseMayor 10 5
baseMenor 6 3
Altura 3 3
area 24 12
Pantalla 24 12
Codificación en lenguaje C++ (IDE FALCON) //Autor: Mirian Benavides - UNAD #include
//Biblioteca estándar de entrada y salida, para utilizar cout y cin #include<stdlib.h>/*Biblioteca para utilizar system("cls") limpieza de pantalla y system("pause") que detiene la ejecución del programa hasta que el digite una tecla */ usingnamespacestd; /*Indica al compilador que utilizará el espacio de nombres estandar para no incluirlos cada vez que se utilice cout y cin */ intmain() //función principal { intarea, baseMayor, baseMenor, altura; //Declaración de variables cout<<"CALCULO DEL AREA DE UN TRAPECIO"<<endl<<endl; //Imprimir texto y hacer 2 saltos de línea cout<<"Digite el valor de la Base Mayor : "; //Imprimir mensaje cin>>baseMayor; //Almacenar valor en variable cout<<endl<<"Digite el valor de la Base Menor : "; //Hacer un salto de línea y escribir mensaje cin>>baseMenor; //Almacenar valor en variable cout<<endl<<"Digite el valor de la altura : "; //Hacer un salto de línea y escribir mensaje cin>>altura; //Almacenar valor en variable area = ((baseMayor+baseMenor) * altura)/2; //Realizar el cálculo del area cout<<endl<<endl; //Hacer 2 saltos de línea system("pause"); //Detiene la ejecución del programa hasta que el digite una tecla system("cls"); //Realiza limpieza de pantalla cout<<"RESULTADO DEL AREA DE UN TRAPECIO"<<endl<<endl; //Imprimir texto y hacer 2 saltos de línea cout<<area<<endl<<endl; //Imprimir el contenido de una variable y hacer 2 saltos de linea system("pause"); //Detiene la ejecución del programa hasta que el digite una tecla return 0; }
Error al compilar el codigo fuente del ejercicio 1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA Curso 301304 – INTRODUCCIÓN A LA PROGRAMACIÓN
Modificado se genero un codigo mas sensillo #include <stdio.h> int main () { float bmy, bmn, h, area; printf ("\nIntroduce la base mayor: "); scanf ("%f", &bmy); printf ("\nIntroduce labase menor: "); scanf ("%f", &bmn); printf ("\nIntroduce la altura: "); scanf ("%f", &h);
printf ("\el area es: %f", ((bmy+bmn)*h)/2);
return 1; }
Evidencia
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA Curso 301304 – INTRODUCCIÓN A LA PROGRAMACIÓN
Ejercicio 2:
Problema: Calcular la nota definitiva de cada uno de 3 estudiantes, teniendo en cuenta que a cada estudiante se le asignaron 4 notas.
Análisis: Datos de entrada: notas de cada estudiante (nota) Datos de proceso: para calcular promedio se requiere sumar las 4 notas utilizando un acumulador acumNotas = acumNotas + nota y calcular el promedio con promedio = acumNotas / 4 (el promedio se realiza para cada uno de los 3 estudiantes)
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA Curso 301304 – INTRODUCCIÓN A LA PROGRAMACIÓN
Datos de salida: promedio estudiante 1 (promE1), promedio estudiante 2 (promE2), promedio estudiante 3 (promE3) Procesos necesarios: Almacenar en nota el valor de cada una de las notas Calcular la suma de notas de cada estudiante y almacenarlo en acumNotas Calcular el promedio de notas por cada estudiante Imprimir la nota promedio de cada estudiante promE1, promE2, promE3
Diseño de solución: se puede realizar mediante diagrama de flujo ó pseudocódigo (para el caso se realizará de las 2 formas) Diagrama de flujo inicio
numEst=1; numEst<=3; numEst++
acumNotas = 0
numNota=1; numNota<=4; numNota++
nota
acumNotas = acumNotas + nota
numEst = 1
promE1 = acumNotas /4
numEst = 2
promE2 = acumNotas /4
promE3 = acumNotas /4
promE1, promE2, promE3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA Curso 301304 – INTRODUCCIÓN A LA PROGRAMACIÓN
fin
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA Curso 301304 – INTRODUCCIÓN A LA PROGRAMACIÓN
Pseudocódigo Programa: Promedio notas INICIO PARA numEst = 1 hasta numEst<=3 hacer numEst++ INICIALIZAR acumNotas = 0 PARA numNota=1 hasta numNota<=4 hacer numNota++ LEER nota; CALCULAR acumNotas = acumNotas + nota FIN PARA SI (numEst = 1) ENTONCES promE1 = acumNotas / 4 SI NO SI (numEst = 2) ENTONCES promE2 = acumNotas / 4 SI NO promE3 = acumNotas / 4 FIN SI FIN SI FIN PARA ESCRIBIR promE1 ESCRIBIR promE2 ESCRIBIR promE3
FIN
Prueba de escritorio
Iteración Ciclo numEst 1
2
3
numEst
acumNotas
1
0 2.5 5.5 10.5 15.5 0 3 6 9 12 0 4.2 7.2 9.9 14.9
2
3
Iteración ciclo numNota
numNota
nota
promE1
1 2 3 4
1 2 3 4
2.5 3 5 5
3.875
1 2 3 4
1 2 3 4
3 3 3 3
1 2 3 4
1 2 3 4
4.2 3 2.7 5
promE2
promE3
Pantalla
3
3.725 3.875 3 3.725
Codificación en lenguaje C++ (IDE FALCON) //Autor: Mirian Benavides - UNAD #include
//Biblioteca estándar de entrada y salida, para utilizar cout y cin #include<stdlib.h>/*Biblioteca para utilizar system("cls") limpieza de pantalla y system("pause") que detiene la ejecución del programa hasta que el digite una tecla */ usingnamespacestd; /*Indica al compilador que utilizará el espacio de nombres estandar para no incluirlos cada vez que se utilice cout y cin */ intmain() //Función principal { float nota, acumNotas, promE1, promE2, promE3; intnumEst, numNota; cout<<" PROMEDIO DE NOTAS"<<endl<<endl; for (numEst=1; numEst<=3; numEst++) { acumNotas = 0; for (numNota=1; numNota<=4; numNota++) { cout<<endl<<"Digite Nota "<
<<" del estudiante "<
<<": "; cin>>nota; acumNotas=acumNotas+ nota; } if(numEst==1) promE1=acumNotas/4; else if(numEst==2) promE2=acumNotas/4; else promE3=acumNotas/4; } system("pause"); //Detiene la ejecución del programa hasta que el digite una tecla system("cls"); //Realiza limpieza de pantalla cout<<" RESULTADOS PROMEDIO NOTAS"<<endl<<endl; cout<<"Estudiante 1 : "<<promE1<<endl; cout<<"Estudiante 2 : "<<promE2<<endl; cout<<"Estudiante 3 : "<<promE3<<endl; system("pause"); //Detiene la ejecución del programa hasta que el digite una tecla return 0; }
evidencia
Codigo modificado y mejorado para un mayor número de estudiantes
#include <stdio.h> float promedio(int valores[], int cantidad) { int i; float suma = 0.0; for (i = 0; i < cantidad; ++i) suma += valores[i]; return suma / (float) cantidad; }
int main() { int notas[10]; char nombre[20]; char opcion[3]; int n, i; do { printf("Ingrese nombre del alumno: "); scanf("%s", nombre); printf("Cuantas notas tiene %s? ", nombre); scanf("%d", &n);
for (i = 0; i < n; ++i) { printf(" Nota %d: ", i + 1); scanf("%d", ¬as[i]); } printf("El promedio de %s es %.1f\n", nombre, promedio(notas, n)); printf("Desea calcular mas promedios (si/no)? "); scanf("%s", opcion); } while (opcion[0] == 's' || opcion[0] == 'S'); return 0; }
evidencia
5. A continuación encontrará 5 problemas, cada estudiante debe elegir uno de ellos y desarrollar: análisis, diseño de solución (diagrama de flujo y pseudocódigo), prueba de escritorio y codificación en lenguaje C++ (IDE FALCON).
B. Solicitar 2 números al , e imprimir el resultado de la suma, resta, multiplicación y división. Tener en cuenta que es un error la división entre 0. Codigo fuente
#include <stdio.h> int main () { float x, y; printf ("\nIntroduce el primer numero: "); scanf ("%f", &x); printf ("\nIntroduce el segundo numero: "); scanf ("%f", &y); printf ("\nLa suma es: %f", x+y); printf ("\nLa resta es: %f", x-y); printf ("\nLa multiplicacion es: %f", x*y); printf ("\nLa division es: %f", x/y); return 1; } Evidencia