UNIVERSIDAD TECNOLÓGICA DE LOS ANDES INGENIERÍA DE SISTEMAS E INFORMÁTICA FUNDAMENTOS DE PROGRAMACIÓN DOCENTES: Ing. Ronald Rentería Ayquipa Ejemplo Nº 01: Diseñar el algoritmo correspondiente a un programa que tras introducir una medida expresada en centímetros la convierta en pulgadas. 1. Análisis: Para convertir una medida en centímetros a pulgadas se utiliza la siguiente fórmula: 1 𝑐𝑒𝑛𝑡𝑖𝑚𝑒𝑡𝑟𝑜 1 𝑝𝑢𝑙𝑔𝑎𝑑𝑎 = 2.54 2. Determinación de variables: Variables de entrada: centimetros : real Variables de salida: pulgadas : real 3. Pseudocódigo: Algoritmo Inicio {Convertir centímetros a pulgadas} {Leer las variables} Leer centimetros {Convertir a pulgadas} pulgadas centímetros/2.54 {Escribir las pulgadas} Escribir pulgadas Fin Diagrama de Flujo de Datos Universal Inicio Leer centimetros pulgadas←centimetros/2.54 Escribir pulgadas Fin Universidad Tecnológica de los Andes Fundamentos de Programación 1/9 Ingeniería de Sistemas e Informática Ing. Ronald Rentería A. Diagrama N – S (NASSI - SCHNEIDERMAN) Leer centímetros Calcular pulgadas centímetros/2.54 Escribir pulgadas 4. Prueba de escritorio: Datos centimetros 560 19875 resultados pulgadas 220.47 7824.80 5. DFD (Programa DFD) Universidad Tecnológica de los Andes Fundamentos de Programación 2/9 Ingeniería de Sistemas e Informática Ing. Ronald Rentería A. 6. Codificacion en Lenguaje C++ #include<iostream.h> #include<conio.h> main () { float centimetros,pulgadas; cout<<"Ingrese el valor en centimetros:"; cin>>centimetros; pulgadas=centimetros/2.54; cout<<"\nEl equivalente en pulgadas es : "<<pulgadas; getch(); } Ejemplo Nº 02: Diseñar un algoritmo para leer las longitudes de los tres lados de un triángulo (L1, L2, L3) y calcular el área del mismo de acuerdo con la siguiente fórmula: 𝒂𝒓𝒆𝒂 = 𝑺𝑷(𝑺𝑷 − 𝑳𝟏)(𝑺𝑷 − 𝑳𝟐)(𝑺𝑷 − 𝑳𝟑) donde: 𝑺𝑷 = 𝑳𝟏+𝑳𝟐+𝑳𝟑 𝟐 1. Análisis: Para calcular el área del triángulo primero se tiene que calcular el valor de SP según la fórmula anterior y luego aplicar la fórmula para el área 2. Determinación de variables: Variables de entrada: L1,L2,L3 {Lados del triángulo}: entero Variables auxiliares: SP {semiperimetro}: real Variables de salida: area {area del triangulo}: real 3. Pseudocódigo: Algoritmo INICIO ESCRIBIR “Introduzca la longitud de lado 1 del triángulo: ” LEER L1 ESCRIBIR “Introduzca la longitud de lado 2 del triángulo: ” LEER L2 ESCRIBIR “Introduzca la longitud de lado 3 del triángulo: ” LEER L3 SP (L1 + L2 + L3) / 2 {Suponemos que disponemos de una función matemática llamada raiz que realiza la raíz cuadrada de un valor} area raiz(SP * (SP-L1) * (SP-L2) * (SP-L3)) ESCRIBIR “El área del triángulo es: ”, area FIN Universidad Tecnológica de los Andes Fundamentos de Programación 3/9 Ingeniería de Sistemas e Informática Ing. Ronald Rentería A. Diagrama de Flujo de Datos Universal Inicio Leer L1,L2,L3 SP (L1 + L2 + L3) / 2 area raiz(SP *(SP-L1) * (SP-L2) * (SP-L3)) Escribir area Fin Diagrama N – S (NASSI - SCHNEIDERMAN) Leer L1,L2,L3 Calcular SP (L1 + L2 + L3) / 2 area raiz(SP *(SP-L1) * (SP-L2) * (SP-L3)) Escribir area 4. Prueba de escritorio: Datos(lados del triángulo) L1 9 10 L2 12 15 L3 15 8 Universidad Tecnológica de los Andes resultados area 54 36.98 Fundamentos de Programación 4/9 Ingeniería de Sistemas e Informática Ing. Ronald Rentería A. 5. DFD (Programa DFD) 6. Codificacion en Lenguaje C++ #include<iostream.h> #include<conio.h> #include<math.h> main () { int L1,L2,L3; float SP,area; cout<<"Ingrese lado 1: "; cin>>L1; cout<<"Ingrese lado 2: "; cin>>L2; cout<<"Ingrese lado 3: "; cin>>L3; // CALCULO DEL AREA SEGUN LA FORMULA SP=(L1+L2+L3)/2.0; area=sqrt(SP*(SP-L1)*(SP-L2)*(SP-L3)); // ESCRIBIR EL RESULTADO DEL AREA CALCULADA cout<<"\n El area del triangulo es : "<<area; getch(); } Universidad Tecnológica de los Andes Fundamentos de Programación 5/9 Ingeniería de Sistemas e Informática Ing. Ronald Rentería A. Ejemplo Nº 03: Diseñar el algoritmo correspondiente a un programa que tras introducir un número de tres cifras calcule e imprima las centenas, decenas y unidades. 1. Análisis: Si tenemos el número de 3 dígitos, entonces podemos calcular la unidad, la decena y centena de dicho número de la siguiente forma: centena numero div 100 resto numero mod 100 decena resto div 10 Unidad resto mod 10 2. Determinación de variables: Variables de entrada: numero {Numero de 3 dígitos}: entero Variables auxiliares: resto : entero Variables de salida: unidad {unidad del número}: entero decena {decena del número}: entero centena {centena del número}: entero 3. Pseudocódigo: Algoritmo Inicio {Calcular el área total y el volumen de un cilindro} {leer las variables} Leer numero {Calcular las unidades, decenas y centenas } centena numero div 100 resto numero mod 100 decena resto div 10 unidad resto mod 10 {Escribir los valores calculados} Escribir centena Escribir decena Escribir unidad Fin Universidad Tecnológica de los Andes Fundamentos de Programación 6/9 Ingeniería de Sistemas e Informática Ing. Ronald Rentería A. Diagrama de Flujo de Datos Universal Inicio Leer numero centena numero div 100 resto numero mod 100 decena resto div 10 unidad resto mod 10 Escribir centena,decena,unidad Fin Diagrama N – S (NASSI - SCHNEIDERMAN) Inicio Leer numero Calcular centena numero div 100 resto numero mod 100 decena resto div 10 unidad resto mod 10 Escribir centena,decena,unidad Fin 4. Prueba de escritorio: numero 356 892 100 centena 3 8 1 Universidad Tecnológica de los Andes decena 5 9 0 unidad 6 2 0 Fundamentos de Programación 7/9 Ingeniería de Sistemas e Informática Ing. Ronald Rentería A. 5. DFD (Programa DFD) 6. Codificación en Lenguaje C++ #include<iostream.h> #include<conio.h> #include<math.h> main () { int numero,unidad,decena,centena,resto; cout << "Calculo de unidades, decenas y centenas" << endl; cout << "=======================================" << endl; cout<<"Ingrese numero de 3 cifras: "; cin>>numero; // CALCULO DE LAS CIFRAS DEL NUMERO centena=numero/100; resto=numero % 100; decena=resto/10; unidad=resto % 10; // ESCRIBIR LAS UNIDADES, DECENAS Y CENTENAS cout<<"\n Centenas : "<<centena; cout<<"\n Decenas : "<<decena; cout<<"\n Unidades : "<<unidad; getch(); } Universidad Tecnológica de los Andes Fundamentos de Programación 8/9 Ingeniería de Sistemas e Informática Ing. Ronald Rentería A. Ejemplo Nº 04: Modifique el programa anterior para que además realice: La suma de los dígitos del numero ingresado Imprima el número en forma inversa. Universidad Tecnológica de los Andes Fundamentos de Programación 9/9