estructura secuencial en lenguaje c

38
UNIDAD II ESTRUCTURA SECUENCIAL Como se mencionó anteriormente, este tipo de estructura se realiza en forma secuencial (de arriba hacia abajo, instrucción por instrucción); es decir, sin la interrupción en ningún momento del flujo empleado para la construcción de programas. Constituye la estructura más simple y permite el diseño de programas sencillos. A continuación se desarrollarán una serie de programas con cada uno de los pasos especificados para su construcción. Ejercicio No.1 CALCULE EL ÁREA DE UN RECTÁNGULO, INGRESANDO SUS DATOS POR TECLADO. IMPRIMA EL ÁREA Análisis: El área de un rectángulo se obtiene mediante la fórmula siguiente: AR = 2 * Largo + 2 * Ancho Largo=8.5 Ancho=4 AR= 2 * 8.5 + 2 * 4.0 AR= 17.0 + 8.0 AR=25.0 De la fórmula, se deduce que se necesitan tres variables: Dos variables que se ingresan por teclado, pues están luego del signo igual: Largo y Ancho (incógnitas); que son las variables cuyos datos necesitamos conocerlos previamente para poder aplicar una fórmula; y, una tercera variable que es calculada, pues se encuentra antes del signo igual y sirve para almacenar el resultado final: AR. Las variables deben almacenar datos de tipo real o decimal, pues en un rectángulo, el Largo por ejemplo puede medir 5,34 el ancho 0,009, etc. Si se declara las variables anteriores como enteras, el programa queda limitado, ya que no se ajusta a los requerimientos de la realidad, por no admitirse datos decimales. Por el contrario, al declarar una variable como flotante se pueden admitir valores como 12.0, en caso de requerir valores enteros. Del ejemplo anterior se puede deducir, que las variables que están antes del signo igual son variables calculadas, es decir que van a ser utilizadas para almacenar un determinado proceso. Mientras que las variables que están luego del signo igual son variables cuyos datos necesitan ser ingresados previamente por teclado (incógnitas). Diagrama de Flujo: Variables Ingresadas por teclado Variable Calculadas

Upload: julio-cabrera

Post on 02-Apr-2016

224 views

Category:

Documents


0 download

DESCRIPTION

Ejercicios referentes a estructura secuencial en Lenguaje C.

TRANSCRIPT

Page 1: Estructura Secuencial en Lenguaje C

UNIDAD II ESTRUCTURA SECUENCIAL

Como se mencionó anteriormente, este tipo de estructura se realiza en forma secuencial (de arriba hacia abajo, instrucción por instrucción); es decir, sin la interrupción en ningún momento del flujo empleado para la construcción de programas.

Constituye la estructura más simple y permite el diseño de programas sencillos. A continuación se desarrollarán una serie de programas con cada uno de los pasos especificados para su construcción.

Ejercicio No.1

CALCULE EL ÁREA DE UN RECTÁNGULO, INGRESANDO SUS DATOS POR TECLADO. IMPRIMA EL ÁREA

Análisis:

El área de un rectángulo se obtiene mediante la fórmula siguiente:

AR = 2 * Largo + 2 * AnchoLargo=8.5Ancho=4AR= 2 * 8.5 + 2 * 4.0AR= 17.0 + 8.0AR=25.0

De la fórmula, se deduce que se necesitan tres variables: Dos variables que se ingresan por teclado, pues están luego del signo igual: Largo y Ancho (incógnitas); que son las variables cuyos datos necesitamos conocerlos previamente para poder aplicar una fórmula; y, una tercera variable que es calculada, pues se encuentra antes del signo igual y sirve para almacenar el resultado final: AR. Las variables deben almacenar datos de tipo real o decimal, pues en un rectángulo, el Largo por ejemplo puede medir 5,34 el ancho 0,009, etc.

Si se declara las variables anteriores como enteras, el programa queda limitado, ya que no se ajusta a los requerimientos de la realidad, por no admitirse datos decimales. Por el contrario, al declarar una variable como flotante se pueden admitir valores como 12.0, en caso de requerir valores enteros.

Del ejemplo anterior se puede deducir, que las variables que están antes del signo igual son variables calculadas, es decir que van a ser utilizadas para almacenar un determinado proceso. Mientras que las variables que están luego del signo igual son variables cuyos datos necesitan ser ingresados previamente por teclado (incógnitas).

Diagrama de Flujo:

Variables Ingresadas por teclado

VariableCalculadas

Page 2: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:Programa Area_rectángulo; Variables Largo,Ancho,AR: Real;Inicio

Escribir(‘Ingrese el Largo: ’); Mensaje de Referencia Leer(Largo); Ingreso por teclado del valor de la variable LargoEscribir(‘Ingrese el Ancho:’); Mensaje de ReferenciaLeer(Ancho); Ingreso por teclado del valor de la variable Ancho

AR = Largo * Ancho; Cálculo: contenido de la variable Largo multiplicado por contenido de la variable Ancho y recibe el resultado la variable AR

Escribir (‘El Área Es: ’,AR); Se imprime un mensaje y el contenido de la variable AR.

Fin. Fin del programa.

Codificación:

#include <stdio.h>#include <conio.h>void main(void) { float Largo,Ancho,AR; clrscr(); printf("Ingrese el Largo: "); scanf("%f",&Largo); printf("Ingrese el Ancho: "); scanf("%f",&Ancho); AR=Largo*Ancho; printf("El Area Es: %.4f ",AR); getche(); }

Nota: Si se emplea la versión 5.5 para Windows hay que reemplazar la función getche por system(“pause”) y adicionalmente abrir la librería stdlib.h, como se demuestra a continuación:.

#include <stdio.h>#include <conio.h>

#include <stdlib.h>void main(void) { float Largo,Ancho,AR; clrscr(); printf("Ingrese el Largo: "); scanf("%f",&Largo); printf("Ingrese el Ancho: "); scanf("%f",&Ancho); AR=Largo*Ancho; printf("El Area Es: %.4f\n",AR); system("pause");}

La salida de este programa puede ser la siguiente:

UNIDAD II Pág. 16

Page 3: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

EDICIÓN Y EJECUCIÓN DE PROGRAMAS EN LENGUAJE C

Lenguaje C, tiene muchas versiones, disponibles para los diferentes sistemas operativos como Linux, DOS, Windows. A continuación se describe algunas características de alguno de ellos, que son los que se emplearán para editar, compilar y ejecutar los diferentes ejercicios desarrollados en este curso.

Lenguaje C versión para DOS:

Esta versión se denomina Borland C++ versión 3.0. Lenguaje C, tiene su editor que hace posible digitar los programas y posteriormente ejecutarlos, previo un proceso de compilación.

Cabe señalar que se pueden digitar los programas en otros editores de texto como por ejemplo WordPad, para luego trasladarlo al editor de C.

El lenguaje C, generalmente se encuentra en una carpeta que se denomina TC. En esta carpeta existe varias subcarpetas, debiendo abrirse la carpeta BIN y a su interior ejecutar el archivo TC.EXE

Ejecutado el archivo TC.EXE, se visualizará el editor, cuya pantalla de presentación es la siguiente:

UNIDAD II Pág. 17

Page 4: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Para digitar un programa, seleccione con el ratón o con la tecla de función F10 la opción de menú File, y luego la sub opción New.

En la pantalla anterior, se ha digitado un programa, respetando la sintaxis que nos impone lenguaje C, posteriormente se realiza el proceso de compilado (Alt+F9), generando errores (Undefined symbol ‘N’) como se puede apreciar. Para ejecutar el programa hay que corregir los errores y proceder a una nueva compilación.

Lenguaje C versión para Windows:

Las diferentes versiones que existen de Lenguaje C para Windows, se han desarrollado para aprovechar las características de este sistema operativo.

Un ejemplo de esta versión es Borland C++ Versión 5.5. Existen computadoras cuyo procesador no son compatibles con ciertos programas que se ejecutan bajo DOS, entonces ahí es recomendable el uso de esta versión.

Para poder ingresar a esta versión, hay que abrir el directorio Borland, luego ingresar al directorio BCC55, dentro de éste abrir el directorio Bin y finalmente ejecutar el archivo asociado al ícono:

Un atajo, será ingresar al programa mediante el siguiente ícono:

UNIDAD II Pág. 18

Page 5: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Sea cual fuese la forma de ingreso, aparece de inmediato la siguiente ventana, en la cual podemos editar, grabar y compilar el programa:

Una vez digitado el programa y antes del proceso de compilación, debemos grabar el programa (Opción File - Save As…. ), y mediante la opción Tools Compile:

UNIDAD II Pág. 19

Page 6: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Compilado el programa, y si no se registran errores, se crean entre otros , un programa ejecutable que debe ser “corrido” para observar los resultados que proporciona el programa:

UNIDAD II Pág. 20

Page 7: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

ACTIVIDADES:

Qué errores encontró al digitar un programa?. Cómo solucionó esos errores? Cómo grabó su programa? Cómo abandonó lenguaje C? Cómo se realiza la compilación de un programa en lenguaje C? Como se ejecuta un programa?

Ejercicio No.2

ELABORAR UN PROGRAMA QUE CALCULE LA LONGITUD DE UNA CIRCUNFERENCIA

Análisis:

La fórmula a emplearse para el cálculo de la longitud de una circunferencia es la siguiente:

L= 2 R

Al lado derecho del signo igual existe una sola variable que es R(radio), su tipo es real. Las constantes Pi () y 2 son valores conocidos por lo que no se debe ingresar.

La variable L(longitud), también de tipo real, es una variable calculada, pues está colocada al lado izquierdo del signo igual.

Diagrama de Flujo:

UNIDAD II Pág. 21

Page 8: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:

Programa Longitud_Circunferencia; Variables L,R: Real;Inicio

Escribir(‘Ingrese el Radio: ’); Mensaje de Referencia Leer(R); Ingreso por teclado del valor de la variable R

L = 2*3.141516 * R; Cálculo: El valor de Pi multiplicado por dos y por el contenido de la variable R.

Escribir (‘La Longitud de la Circunferencia’, L); Se imprime un mensaje y el contenido de la variable L.

Fin. Fin del programa.

Codificación:

#include <stdio.h>#include <conio.h>void main(void) { float L,R; clrscr(); printf("Ingrese el Radio: "); scanf("%f",&R); L=2*3.141516*R; printf("La Longitud de la Circunferencia Es:%.4f ",L); getche(); }

Nota: En la codificación anterior, al imprimir la longitud de la circunferencia, se establece 4 dígitos decimales para visualizar este resultado: %.4fEjercicio No.3

CALCULE LA SUPERFICIE DE UN TRAPECIO CUYA FÓRMULA SE DESCRIBE A CONTINUACIÓN

S= B+b2

∗h

Análisis:

Para el cálculo de la superficie de esta figura, se emplean tres variables (incógnitas) que son leídas o ingresadas por teclado ya que se encuentran a la derecha del signo igual: una representa a la base mayor (B1); otra, que representa a la base menor (B2) una tercera para la altura (h); y por último una cuarta variable que es calculada S (se encuentra antes del signo igual). Las variables serán de tipo real. Por último existe una constante que es 2 cuyo valor se puede establecer de antemano o colocarlo directo en la fórmula. Una vez introducidos los valores, se necesita obtener el promedio de las bases (sumarlas y dividirlas para dos) y posteriormente, multiplicar este valor por la altura.

Diagrama de Flujo:

UNIDAD II Pág. 22

Page 9: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:Programa Superficie_Tra; Variables B1,B2,h,S: Real;Inicio Escribir(‘Ingrese Base Mayor: ’); Mensaje de Referencia Leer(B1); Ingreso por teclado del valor variable B1 Escribir(‘Ingrese Base Menor: ’); Mensaje de Referencia Leer(B2); Ingreso por teclado del valor variable B2 S = (B1+B2)/2*h; Cálculo: Obtención de la Superficie. Escribir (‘La Superficie Es: ’,S); Impresión: Mensaje y el contenido de la variable S. Fin. Fin del programa.

Codificación:

# include <stdio.h>#include <conio.h>void main(void){ float B1,B2,S; clrscr(); printf("Ingrese Base Mayor: "); scanf("%f",&B1); printf("Ingrese Base Menor: "); scanf("%f",&B2); S=(B1+B2)/2*h; printf("La Superficie Es: %f",S); getche(); }

Ejercicio No.4

INGRESE POR TECLADO CUATRO NÚMEROS ENTEROS, OBTENGA LA SUMATORIA DE LOS TRES PRIMEROS, EL PROMEDIO DE LOS TRES ÚLTIMOS.

Análisis:

El Ingreso de datos se hará en cuatro variables: A,B,C,D (Ingresadas por teclado). El tipo de dato que almacenan estas variables es de tipo entero.

Para el cálculo de la sumatoria de los tres primeros números se necesita de una quinta variable calculada S de tipo entero, que alojará dicha suma.

S=A+B+C

UNIDAD II Pág. 23

Page 10: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

En la fórmula anterior, las variables A,B,C que están a la derecha del signo igual debe ser ingresadas por teclado, pero como anteriormente ya se realizó este proceso, no es necesario hacerlo una segunda vez.

En el promedio se requiere de una sexta variable llamada P, que aloja el promedio de los tres últimos datos. El tipo de dato que almacena es flotante.

Para la mayoría de los lenguajes de programación, se considera que una división es de tipo flotante; sin embargo, para lenguaje C la división entre dos valores enteros da como resultado la parte entera de la división.

Por ejemplo si la variable A contiene el valor de 7 y la variable B el valor de 2. Al realizar la división en otros lenguajes el resultado será 3.5. Para lenguaje C, el resultado será la parte entera de la división, es decir 3.

P= (B+C+D)/3

En la fórmula anterior, al igual que en el caso del cálculo de la sumatoria de las tres primeras notas; las variables a la derecha del signo igual, se deben ingresar, pero como ya se hizo esta operación anteriormente, ya no es necesario volver a repetirlo.

Diagrama de Flujo:

UNIDAD II Pág. 24

Page 11: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:

Programa Suma_Promedio; Variables P: Real; A,B,C,D,S: Entero;Inicio Escribir(‘Ingrese un Número : ’); Mensaje de Referencia Leer(A); Ingreso por teclado del valor variable A Escribir(‘Ingrese Otro Número: ’); Mensaje de Referencia Leer(B); Ingreso por teclado del valor variable B Escribir(‘Ingrese un Tercer Número: ’); Mensaje de Referencia Leer(C); Ingreso por teclado del valor variable C Escribir(‘Ingrese un Cuarto Número: ’); Mensaje de Referencia Leer(D); Ingreso por teclado del valor variable D S = A+B+C; Cálculo: Obtención de la Sumatoria. P=(B+C+D)/3; Cálculo: Obtención del Promedio. Escribir (‘La Suma de los tres Primeros Números Es: ’,S); Impresión: Mensaje y

contenido de la variable S. Escribir (‘El Promedio de los Tres últimos Números Es: ’,P); Impresión: Mensaje

contenido de la variable P.Fin. Fin del Programa.

Codificación:# include <stdio.h>#include <conio.h>void main(void){

int A,B,C,D; float P; clrscr(); printf("Ingrese un Número: "); scanf("%df",&A);

printf("Ingrese Otro Número: "); scanf("%df",&B);

printf("Ingrese un Tercer Número: "); scanf("%df",&C);

printf("Ingrese un Cuarto Número: "); scanf("%df",&D); S=A+B+C;

P=(B+C+D)/3.0; printf("La Suma de los tres primeros números es Es: %d",S); printf("El Promedio de los tres últimos números es Es: %f",P); getche(); }

Nota: Al obtener el promedio, obsérvese que en la división, el divisor es 3.0 y no 3, esto permite obtener como resultado un valor flotante o decimal; ya que de dividirse para 3 únicamente, el resultado sería un entero. Ejercicio No.5

INGRESE POR TECLADO UN NÚMERO, OBTENGA SU RAÍZ CUADRADA.

UNIDAD II Pág. 25

Page 12: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Análisis:La Raíz Cuadrada de un número, se la obtiene mediante la función sqrt, que está incluida en la librería math.h. En el diagrama de flujo y en pseudocódigo se la hace mediante la palabra “Raíz”.En este programa se necesitan dos variables: una que permita ingresar un número por teclado N y otra para almacenar el resultado de la raíz R. Las dos variables son de tipo flotante. La fórmula se expresa de la siguiente manera:

R=sqrt(N);

Obtiene la raíz cuadrada de N, y este resultado asigne a la variable R.

Diagrama de Flujo:

Pseudocódigo:

Programa Raíz_Cuadrada; Variables N,R: Real; Inicio Escribir(‘Ingrese un Número : ’); Mensaje de Referencia Leer(N); Ingreso por teclado del valor variable N R = Raíz (N); Cálculo: Obtención de la Raíz Cuadrada. Escribir (‘Raíz Cuadrada: ’,R); Impresión: Mensaje y contenido de la variable R Fin. Fin del Programa.

Codificación:

# include <stdio.h># include <conio.h># include <math.h>void main (void) { float N,R; clrscr(); printf ("Ingrese un Número: "); scanf ("%f",&N); R=sqrt(N);

UNIDAD II Pág. 26

Page 13: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

printf ("Raíz Cuadrada %f",R); getche();}

Ejercicio No.6

ELABORAR UN PROGRAMA QUE CALCULE EL TIEMPO DE OSCILACIÓN, EMPLEANDO LA SIGUIENTE FÓRMULA:

T=π √ LOgT = Tiempo de oscilaciónLO = Longitud del péndulog = aceleración gravitacional = constante PI ( 3.1415)

Análisis:

La fórmula contiene dos valores conocidos: el valor de (3.1415) y el valor de la aceleración gravitacional g (9.8); por lo tanto éstos no deben ser ingresados por teclado puesto que ya se los identifica plenamente. Se lo puede declarar como constantes o se puede digitar sus valores directamente en la fórmula. El único valor o incógnita es LO, cuyo valor debe ser ingresado por teclado, se trata entonces de una variable leída, que admite datos de tipo real. La Variable T, alojará la respuesta del ejercicio, es una variable calculada que almacena un dato de tipo real o decimal.

Diagrama de Flujo:

Pseudocódigo:

Programa Péndulo; Variables LO,T: Real;Inicio

Escribir(‘Ingrese la Longitud del Péndulo: ’); Mensaje de Referencia Leer(LO); Ingreso por teclado del valor de la variable LO

T=3.1415*Raíz(LO/9.8); Cálculo: el contenido de la variable LO, se divide para el valor de la constante 9.8.De ese resultado se extrae laRaíz cuadrada y se multiplica Por el valor de la constante 3.1415.

UNIDAD II Pág. 27

Page 14: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Escribir (‘El Tiempo Es: ’,T); Se imprime un mensaje y el contenido de la variable T.

Fin. Fin del programa.

Codificación:#include<math.h>#include <stdio.h>#include<conio.h>void main(void){ float LO,T; clrscr(); printf("Ingrese la Longitud del Péndulo: "); scanf("%f",&LO); T=3.1415*sqrt(LO/9.8); printf("El tiempo es: %f",T); getche();}

Ejercicio No.7

INGRESE POR TECLADO UN NÚMERO ENTERO, IMPRÍMALO Y OBTENGA SU VALOR ABSOLUTO. Análisis:

Obtener el valor absoluto de un número entero significa que el número será siempre positivo. Por ejemplo, el valor absoluto +3 será 3: y el valor absoluto de -3 será 3.

Para este propósito, en lenguaje C se utiliza la función abs, que viene almacenada en la librería math.h

Para el diagrama de flujo y pseudocódigo se emplea la palabra Absoluto

Se emplean dos variables para realizar este programa. Una variable para ingresar el número del cual se quiere obtener su valor absoluto N y, una segunda variable A, calculada para almacenar el valor absoluto de N. Estas variables serán de tipo entero.

A=abs(N);

Diagrama de Flujo:

UNIDAD II Pág. 28

Page 15: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:

Programa Valor_Absoluto; Variables N,A: Entero;Inicio Escribir(‘Ingrese un Número: ’); Mensaje de Referencia Leer(N); Ingreso por teclado del valor variable N A = Absoluto(N); Cálculo: Obtención del valor Absoluto. Escribir (‘La Superficie Es: ’,A); Impresión: Mensaje y el contenido de la variable A. Fin. Fin del programa.

Codificación:# include <stdio.h># include <conio.h># include <math.h>void main (void) { int N,A; clrscr(); printf ("Ingrese un Número: "); scanf ("%d",&N); A=abs(N); printf ("Valor Absoluto %d",A); getche();}

Ejercicio No.8

INGRESE POR TECLADO UN NÚMERO Y CALCULE LAS FUNCIONES TRIGONOMÉTRICAS PRINCIPALES, EXPRESDA EN GRADOS Y EN RADIANES.

UNIDAD II Pág. 29

Page 16: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Análisis:

Lenguaje C, incorpora dentro de la librería math.h, las funciones que permiten calcular las funciones trigonométricas principales: sin, para el cálculo del seno; cos, para el cálculo del coseno y tan para el cálculo de la tangente de un ángulo. A partir de estas funciones es fácil obtener las demás funciones: cosecante, secante y cotangente. Para obtener los resultados solicitados, se aplican las siguientes fórmulas:

FunciónTrigonométrica (3.14159*VALOR/180);

Aplicando esta fórmula, el valor estará expresado en grados; pero si el valor se lo quiere ver expresado en radianes, habrá de emplearse:

FunciónTrigonométrica (VALOR);

Las funciones trigonométricas para Pseudocódigo y Diagrama de Flujo son:

Seno(), Coseno(), Tangente()

Las fórmulas a emplearse para desarrollar el programa por lo tanto, quedan expresadas así:

Gs=Seno( 3 . 141592∗v180 )

A la derecha del signo igual se encuentra la variable v, que debe ser ingresada por teclado, de tipo flotante ya que es el valor del cual se va a calcular las funciones trigonométricas. A la izquierda del signo igual está la variable calculada Gs (Grados seno) que recibe el valor del seno en grados; también, es de tipo flotante.

Rs=Seno (v )De la fórmula, se deduce que la variable v, deber ser ingresada por teclado, ya que está ubicada a la derecha del signo igual. Pero como su ingreso ya se lo realizó, ya no es necesario repetir este proceso. La variable Rs (Radianes Seno), de tipo flotante, es calculada y recibe el valor del seno en radianes.

Se procede de igual manera, para el cálculo del coseno:

Gc=Coseno(3. 141592∗v180 )

En la fórmula, la variable v, por estar ubicada a la derecha del signo igual, hay que ingresarla, pero como ya se hizo el ingreso en la primera fórmula esto ya no se lo realiza. La variable Gc (Grados Coseno) es calculada. Su valor de tipo real.

El proceso para obtener el coseno en radianes de v es idéntico al del seno; lógicamente emplearemos ahora la función Coseno.

Rc=Coseno(v )

Para calcular la tangente tanto en grados como en radianes se emplean las fórmulas:

Gt=GsGc

Rt= RsRc

En este caso, no se utilizó directamente la función tangente. En su lugar se obtiene partiendo de que la tangente es igual al seno sobre el coseno.

Los valores de Gs, Gc, Rs, Rc, por estar a la derecha del signo igual habrían de ingresarse, pero como se conoce sus valores, pues ya se obtuvieron en las fórmulas anteriores, ya no se hace el ingreso. Gt, Rt, son variables calculadas de tipo flotante.

Diagrama de Flujo:

UNIDAD II Pág. 30

Page 17: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:

Programa Valor_Absoluto; Variables N,A: Entero;Inicio Escribir(‘Ingrese el Valor: ’); Mensaje de Referencia Leer(v); Ingreso por teclado del valor variable v Gs = Seno(3.141592*v/180); Cálculo: Obtención del seno en grados. Rs = Seno(v); Cálculo: Obtención del seno en radianes. Gc = Coseno(3.141592*v/180); Cálculo: Obtención del coseno en grados. Rc= Coseno(v); Cálculo: Obtención del coseno en radianes. Gt = Gs/Gc Cálculo: Obtención Tangente en grados Rt = Rs/Rt Cálculo: Obtención Tangente en radianes. Escribir (‘El Valor del Seno en Grados Es: ’,Gs); Impresión: Mensaje y el contenido de la variable Gs. Escribir (‘El Valor del Seno en Radianes Es: ’,Rs); Impresión: Mensaje y el contenido de la variable Rs. Escribir (‘El Valor del Coseno en Grados Es: ’,Gc); Impresión: Mensaje y el contenido de la variable Gc. Escribir (‘El Valor del Coseno en Radianes Es: ’,Rc); Impresión: Mensaje y el contenido de la variable Rc. Escribir (‘El Valor de la Tangente en Grados Es: ’,Gt); Impresión: Mensaje y el contenido de la variable Gt. Escribir (‘El Valor de la Tangente en Radianes Es: ’,Rt); Impresión: Mensaje y el contenido de la variable Rt.

UNIDAD II Pág. 31

Page 18: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Fin. Fin del programa.

Codificación:

# include <stdio.h># include <conio.h># include <math.h>void main (void) { float v,Gs,Rs,Gc,Rc,Gt,Rt; clrscr(); printf ("Ingrese el Valor: "); scanf ("%f",&v); Gs=sin(3.141592*v/180); Rs=sin(v); Gc=cos(3.141592*v/180); Rc=cos(v); Gt=Gs/Gc; Rt=Rs/Rc; Printf ("El Valor del Seno en Grados Es: %f\n",Gs); printf ("El Valor del Seno en Radianes Es: %f\n",Rs); printf ("El Valor del Coseno en Grados Es: %f\n",Gc); printf ("El Valor del Coseno en Radianes Es: %f\n",Rc); printf ("El Valor de la Tangente en Grados Es: %f\n",Gt); printf ("El Valor de la Tangente en Radianes Es: %f\n",Rt); getche();}

Ejercicio No.9

INGRESE UNA CANTIDAD EN METROS E IMPRIMA SU EQUIVALENTE EN CENTÍMETROS.

Análisis:

Este programa solicita ingresar una cantidad en metros (variable Mt). El valor es un flotante. Para transformar esta cantidad a centímetros, es necesario multiplicarla por 100:

cm = Mt * 100

En la fórmula establecida, la variable Mt, es ingresada por teclado. La variable calculada cm recibe la transformación a centímetros, siendo una variable calculada. Las dos variables utilizadas son de tipo real.

Diagrama de Flujo:

UNIDAD II Pág. 32

Page 19: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:

Programa Metros_Centímetros; Variables Mt,cm: Real;Inicio Escribir(‘Ingrese Una Cantidad en Metros: ’); Mensaje de Referencia Leer(Mt); Ingreso por teclado del valor variable Mt (Metros) cm = Mt*100; Cálculo: Transformación a centímetros. Escribir (‘La Cantidad expresada en centímetros es: ’,cm); Impresión: Mensaje y contenido de la variable cm. Fin. Fin del programa.

Codificación:

# include <stdio.h># include <conio.h>void main (void) { float Mt,cm; clrscr(); printf ("Ingrese Una Cantidad en Metros: "); scanf ("%f",&Mt); cm = Mt * 100; printf ("La Cantidad expresada en centímetros es %f",cm); getche();}

Ejercicio No.10

UNIDAD II Pág. 33

Page 20: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

CALCULE EL ÁREA DE UN RECTÁNGULO Y EL PERÍMETRO DE UN CÍRCULO, ASÍ COMO LA SUMA Y EL PROMEDIO DE LAS DOS FIGURAS.

Análisis:

La fórmula para el cálculo del perímetro del círculo es:

PC=2*π*r

Para el cálculo del área del rectángulo:

AR=LAR*ANC

De las fórmulas establecidas debe ingresarse: Para el perímetro del círculo, el valor del radio (r) de tipo flotante. Para el área del rectángulo: el Largo (LAR) y el Ancho (ANC), de tipo flotante.

Las variables PC y AR, son calculadas y sirve para almacenar el perímetro del círculo y el área del rectángulo respectivamente. Son de igual manera de tipo flotante.

Además de estas variables, se necesita implementar dos adicionales: La primera, sirve para almacenar la suma de los dos cálculos anteriores SU (SU=PC+AR), de tipo flotante y; una segunda para almacenar el promedio PR de tipo flotante también (PR=SU/2).

Nótese, que para obtener la suma de las figuras, las variables PC y AR, deberían ser ingresadas por teclado, por estar situadas al lado derecho del signo igual, pero como sus valores ya se obtuvieron anteriormente, no hace falta de este ingreso.

Igual situación acontece con el cálculo del promedio. La variable Su, debería ser ingresada por encontrase ala derecha del signo igual, mas no se lo hace, porque su valor ya so obtuvo con anterioridad.

Diagrama de Flujo:

UNIDAD II Pág. 34

Page 21: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:Programa Áreas_Sumas_Promedios; Variables r, LAR, ANC, SU, PR: Real;Inicio Escribir(‘Ingrese El Radio: ’); Mensaje de Referencia Leer(r); Ingreso por teclado del valor de la variable r PC = 2*3,1415*R; Cálculo del perímetro, recibe el resultado variable PC Escribir(‘Ingrese El Largo: ’); Mensaje de Referencia Leer(LAR); Ingreso por teclado del valor variable LAR Escribir(‘Ingrese El Ancho: ’); Mensaje de Referencia Leer(ANC); Ingreso por teclado del valor variable ANC AR = LAR*ANC; Cálculo del área del rectángulo, recibe la variable AR. SU=PC+AR; Cálculo de la suma del perímetro y área, recibe la variable SU

las variables PC y AR, no se ingresan por teclado, ya que conocemos sus valores de antemano.

PR=SU/2; Cálculo del promedio: Variable SU se divide para dos. Recibe el resultadola variable PR

EscribirySaltar (‘El Perímetro del círculo Es ’,PC); Impresión:Mensaje y contenido de la variable PC EscribirySaltar (‘El Área del Rectángulo Es: ’,AR) Impresión:Mensaje y contenido de la variable AR EscribirySaltar (‘La suma de las Figuras Es: ’,SU); Impresión:Mensaje y contenido de la variable SU EscribirySaltar (‘El Promedio de las Figuras Es: ’,PR); Impresión:Mensaje y contenido de la variable PC Fin. Fin del programa.

UNIDAD II Pág. 35

Page 22: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Codificación:# include <stdio.h># include <conio.h>void main (void) { float r,LAR,ANC,SU,PR; clrscr(); printf ("Ingrese el Radio: "); scanf ("%f",&r); PC = 2*3.1415*R; printf ("Ingrese el Largo: "); scanf ("%f",&LAR); printf ("Ingrese el Ancho: "); scanf ("%f",&ANC); AR = LAR*ANC; SU=PC+AR; PR=SU/2; printf ("El Perímetro del Círculo Es: %f",PC); printf ("El Área del Rectángulo Es: %f",AR); getche();}

Ejercicio No.11INGRESADO UN NÚMERO POR TECLADO, OBTENGA E IMPRIMA SU DECENA SUPERIOR

Análisis:

En este programa, no existe una fórmula establecida para obtener la decena superior de un número como en el caso por ejemplo del cálculo del área de una figura geométrica, en donde conocemos de antemano que fórmula vamos a utilizar; por lo tanto, hay que establecer una fórmula que permita cumplir este objetivo.

Primero debemos ingresar por teclado, empleando una variable que es la incógnita del problema N. Obtenemos luego, la parte entera de N dividido para diez (en Pseudocódigo y en el Diagrama de Flujo se emplea la palabra reservada ENTERO), le agregamos una unidad a este valor y multiplicamos por diez, asignamos este valor a la variable DS (variable calculada). Ejemplo:

N=57DS= (Entero (N/10)+1)*10DS=(5+1)*10DS=6*10DS=60En DS, se almacenará el resultado referente a la decena superior.

Diagrama de Flujo

UNIDAD II Pág. 36

Page 23: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:

Programa Decena_Superior; Variables N:Entero; DS: Real;Inicio

Escribir(‘Ingrese un Número: ’); Mensaje de Referencia Leer(N); Ingreso por teclado del valor de la variable NDS = (ENTERO(N/10+1))*10; Cálculo: Obtención de la Decena Superior. Escribir (‘La Decena Superior Es: ’,DS); Se imprime un mensaje y el contenido de la variable DS.

Fin. Fin del programa.

Codificación:

#include <stdio.h>#include <conio.h>void main(void){ int N,DS; clrscr(); printf("Ingrese un Número: "); scanf("%d",&N); DS=(N/10+1)*10; printf("La Decena Superior Es: %d",DS); getche();}

Nota: En Lenguaje C, no es necesario utilizar una función que tome la parte entera de una división, ya que considera que la división entre dos números enteros es otro entero. Por ejemplo si dividimos: 8/3, el resultado será 2.

Ejercicio No.12

REALICE UN PROGRAMA QUE REDONDEE A DÉCIMAS UN NÚMERO FLOTANTE INGRESADO POR TECLADO.

Análisis:

Para este programa se ingresa el número decimal o flotante en la variable de tipo float nu; a continuación se debe aproximar este número a una sola posición decimal (décimas).

Por ejemplo si ingresamos el número 23,562 debe imprimir 23,6. Si se ingresa 23,34 el resultado debe ser 23,3

El procedimiento a seguir es:

1) Al número ingresado: 23,562 (variable nu flotante)2) Sumarle 0,05 : 23,562+0.05 =23,612 (variable flotante s)23.El último resultado multiplicar por 10 : 23.612 * 10 = 236,12 (variable flotante m)4) Tomar la parte entera de este resultado 236 (variable D, de tipoentero) 5) Dividirlo este valor para 10 236/10 = 23,6 (variable re, de tipoflotante) 6) Este último valor esla solución del ejercicio 23,6, pues contiene tan solo un valor decimal.

UNIDAD II Pág. 37

Page 24: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Diagrama de Flujo:

Pseudocódigo:

Programa Aproximación; Variables D:Entero; nu,s,re,m: Real;Inicio

Escribir(‘Ingrese un Número Decimal: ’); Mensaje de Referencia Leer(nu); Ingreso por teclado del valor de la variable nus = nu + 0.05; Cálculo: Sumarle 0.05 a la variable nu. El resultado colocar en sm = s*10; Cálculo: Multiplicar s*10. El resultado almacenar en mD = ENTERO(m); Cálculo: Tomar la parte entera de m, colocando el resultado en D. re = D/10; Cálculo: Dividir a D para 10. Colocar el rsultado en reEscribir (‘Valor Redondeado a Décimas: ’,re); Se imprime un mensaje y el contenido de la variable re.

Fin. Fin del programa.

UNIDAD II Pág. 38

Page 25: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Codificación:#include<stdlib.h>#include<conio.h>#include<stdio.h>void main (void){ float nu,s,m,re; int D; clrscr(); printf("Ingrese un N\243mero: "); scanf("%f",&nu); s=nu+0.05; m=s*10; D=m; re=D/10.0; printf("N\243mero N\18Redondeado a Decimas: %.4f\n",re); system("pause");}

Ejercicio No.13

REALICE UN PROGRAMA QUE REDONDEE A DÉCIMAS UN NÚMERO FLOTANTE INGRESADO POR TECLADO (FORMA DIRECTA)

Análisis:

UNIDAD II Pág. 39

Page 26: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Pseudocódigo:

Programa Aproximación; Variables N:Entero; DS: Real;Inicio

Escribir(‘Ingrese un Número: ’); Mensaje de Referencia Leer(N); Ingreso por teclado del valor de la variable NDS = (ENTERO(N/10+1))*10; Cálculo: Obtención de la Decena Superior. Escribir (‘La Decena Superior Es: ’,DS); Se imprime un mensaje y el contenido de la variable DS.

Fin. Fin del programa.

Codificación:

#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <math.h>void main(void){ float nu; int re; clrscr(); printf("Ingrese un N\243mero: "); scanf("%f",&nu); re=floor(nu+0.5); printf("Respuesta: %d\n",re); system("PAUSE");}

Ejercicio No.14

INGRESE POR TECLADO UN NÚMERO E IMPRIMA EL TÉRMINO DE LA SERIE DE FIBONACCI AL QUE CORRESPONDE.

Análisis:

La serie de Fibonnaci lleva su nombre en honor a su descubridor el italiano Leonardo de Pissa (también llamado Fibonacci) . Cada término es la suma de sus dos inmediatos predecesores. Algunos de sus términos son: 1,1,2,3,5,8,13,21…………

Esta serie se la estudiará como puede ser generada en los capítulos siguientes. La fórmula para calcular un término determinado es:

Fib (n )=¿

El único dato que se necesita como entrada es ingresar el número del término a calcular; para ello se utiliza la variable de tipo entero n. Si en n, se ingresa por ejemplo el valor de 7 el programa debe imprimir el séptimo término que es 13.

Phi, es una constante cuyo valor es: 1.6180339

Esta fórmula puede ser desarrollada en una sola expresión o se la puede ir dividiendo por partes.

En la siguiente tabla se desarrolla la fórmula en varias expresiones, cada una de ellas asignada a una variable diferente hasta llegar a obtener la fórmula final.

UNIDAD II Pág. 40

Page 27: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Parte FórmulasDiagrama de flujo y

Pseudocódigo Lenguaje C

PrimeraA=¿

A=(-1^n/Phi^n) A=(pow(-1,n)/pow(Phi,n))

Segunda B={Phin } B=Phi^n B=(pow(Phi,n))

Tercera C={5−1/2 } C=5^-0.5 C=pow(5,-0.5)

Fórmula Final F=(B-A)*CF=(B-A)*C F=(B-A)*C

Cuatro han sido las variables empleadas: A,B,C,F, todas de tipo flotante. El valor final obtenido en la variable F, debe ser redondeado, y este proceso se lo hace en una variable de tipo entero res, que es finalmente la variable que imprime el resultado final.

Diagrama de Flujo:

#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <math.h>void main(void){ float A,B,C,F,Phi=1.6180339; int n,res; clrscr(); printf("Ingrese el T\202rmino: "); scanf("%d",&n); A=pow(-1,n)/pow(Phi,n); B=(pow(Phi,n)); C=pow(5,-0.5); F=(B-A)*C; res=floor(F+0.5); printf("T\202rmino %d Es: %d\n",n,res); system("PAUSE");}

La fórmula expresada a través de una sola variable:

Parte FórmulasDiagrama de flujo y

Pseudocódigo Lenguaje C

Primera

F=¿F=(Phi^n-(-1^n/Phi^n))*5^-0.5 F=(pow(Phi,n)-(pow(-1,n)/

pow(Phi,n)))*(pow(5,-0.5));

En cualquiera de las dos alternativas que se utilice lo que restaría es simplemente redondear el resultado a la decena superior.

Diagrama de Flujo:

UNIDAD II Pág. 41

Page 28: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Diagrama de Flujo

#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <math.h>void main(void){ float F,Phi=1.6180339; int n,res; clrscr(); printf("Ingrese el T\202rmino: "); scanf("%d",&n); F=(pow(Phi,n)-(pow(-1,n)/pow(Phi,n)))*(pow(5,-0.5)); res=floor(F+0.5); printf("T\202rmino %d Es: %d\n",n,res); system("PAUSE");}

UNIDAD II Pág. 42

Page 29: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

UNIDAD II Pág. 43

Page 30: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

ACTIVIDADES

1. Calcule el Área de un rombo, cuya fórmula es:AR=D∗d

2D=Diagonal Mayor d= Diagonal Menor AR=Área del Rombo

2. Ingrese por teclado tres números, multiplique los dos últimos números e imprima el resultado.

3. Obtenga el promedio de tres números ingresados por teclado

4. Ingrese un número por teclado y elévelo al cubo.

5. Calcule la superficie de un anillo cuya fórmula es la siguienteSA=4 π2Rr SA=Superficie del AnilloR=Radio Mayor r=Radio Menor=Constante PI6. Ingrese tres números por teclado. Sume los dos primeros números y obtenga

el promedio de los dos últimos.7. Calcule la hipotenusa de un triángulo rectángulo.

c=√a2+b2

c=Hipotenusaa,b= longitus de catetos

8. Calcule la superficie de un triángulo, mediante la fórmula de Herón:S=√ p ( p−a ) (p−b ) ( p−c )

p=a+b+c2

S= Superficiea,b,c= Longitudes de los ladosp= Semiperímetro

9. Ingrese una cantidad por teclado expresada en pies e imprima su equivalente en centímetros.

10. Ingrese por teclado el valor de um ángulo, calcule la tangente expresada en radianes, empleando la siguiente fórmula:

tag∝= sen∝cos∝

11. Ingrese un número negativo y expréselo en valor absoluto.12. Calcule el promedio del volumen de un cono y el volumen de una esfera

V= π .r2 . h

3V=Volumen conor= radioh=altura

UNIDAD II Pág. 44

Page 31: Estructura Secuencial en Lenguaje C

ESTRUCTURA SECUENCIAL Ing. Julio Cabrera López

Ve=4 π r3

3

Ve=Volumen de la Esferar=Radio

13. Ingrese una cantidad en libras através del teclado, imprima su equivalente en onzas.

14. Ingrese dos números por teclado. Eleve cada número al cubo, y el resultado final elévelo al cuadrado.

UNIDAD II Pág. 45