Ir a Emagister Encuentra tu formación ideal
¡Mailxmail y emagister se unen para que tengas toda la formación a tu alcance!
12.170 cursos gratis
8.183.076 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Algoritmos y lenguaje C

Autor: Abraham Sopla Maslucán
Curso:
9,21/10 (15 opiniones) |36357 alumnos|Fecha publicación: 13/01/2006
Envía un mensaje al autor

Capítulo 7:

 Estructuras secuenciales

Como ya lo mencionamos anteriormente, los algoritmos que necesitan de estructuras secuenciales para su solución son los mas difíciles de comprender y mas sencillos de identificar los procesos que realizará el programa que nos llevarán a la solución del mismo.

En algunos algoritmos se omite la declaración de variables, en casos que el algoritmo no es complicado.

Ejercicio 1

Hacer el rastreo manual para:

 a = 2

 a = a + 1

 b = a * 2

 b = b - 1

 c = a + 2 * b

Presentar "c".

RASTREO: Para el rastreo hay que asignarle a cada línea un número, de la siguiente manera, de antemano ya nos habremos fijado que el valor de salida es el de la variable c, el problema sería saber el valor de esta variable c que se mostrará finalmente.

1) a = 2

2) a = a + 1

3) b = a * 2

4) b = b - 1

5) c = a + 2 * b

6) Presentar "c".

Línea 1: a=2

Línea 2: a=2+1=3

Línea 3: b=3*2=6

Línea 4: b=6-1=5

Línea 5: c=3+2*5=13

Línea 6: Se presenta 13

El valor de la variable c será 13.

Ejercicio 2

Hacer el algoritmo para escribir un programa que evalúe la expresión  

Solución: observe que los valores de ingreso serán para las variables x, w.

Algoritmo

Inicio

Declare Resultado, x, w

Leer x,w

 Resultado (x+w)/(2*w)

 Mostrar Resultado

Fin

Variables

resultado: valor de la expresión luego de ser evaluada.

x : guarda un valor numérico ingresado.

w : guarda un valor numérico ingresado.

Programa

#include<stdio.h>

main(void)

{float resultado,x,w;

//se escriben dos valores separados por la barra espaciadora

printf("ingrese el valor de x , también de w \n"); 

//se leen o capturan dos valores escritos en las variables x y w.

scanf("%f %f",&x,&w);

//Se evalúa la expresión y el resultado es asignado a la variable resultado.

resultado=(x+w)/(2*w);

//se imprime el valor de la variable resultado.

printf("%f",resultado);

}

COMETARIO:

Printf: Permite escribir en pantalla un mensaje o escribir un resultado producto de un proceso.

Scanf: Permite capturar los valores de los datos ingresados escritos a través de un printf.

// Evita la ejecución de esta línea, se usa para escribir comentarios, como aclaraciones, recomendaciones, explicaciones, etc.

/*  */ Si necesita escribir un comentario extenso, es decir de varias líneas, puede usarlo de la siguiente manera.

/*...

...Comentario...

... */

\n Permite escribir datos en la línea siguiente (salta una línea). Si se escribe \n\n\n saltaremos 3 líneas, \n\n\n\n saltaremos hasta la cuarta línea siguiente para imprimir o escribir el siguiente dato.

FORMATOS DE LECTURA O IMPRESIÓN

%d  Si el dato que se imprimirá o leerá será un número entero

%f  Si el dato que se imprimirá o leerá será un número real

%c  Si el dato que se imprimirá o leerá será un carácter.

%s  Si el dato que se imprimirá o leerá será una cadena

EXPLICACIÓN:

Estas dos líneas de código:

printf("ingrese el valor de x , también de w \n");

scanf("%f %f",&x,&w);

Pueden ser escritas en cuatro líneas de la siguiente manera, con la diferencia de que la forma de capturar de los datos cambia. Quedando de la siguiente manera.

printf("ingrese el valor de x \n");

scanf("%f ",&x);

printf("ingrese el valor de w \n");

scanf("%f ",&w);

Ejercicio 3

Hacer el algoritmo para escribir un programa que evalúe la expresión  

Estructuras secuenciales

Algoritmo

Inicio

Declare x, y, Resultado

Leer x,y

 Resultado raizcuadrada(3*x*x+4*y*y)

Mostrar resultado

Fin

Variables

x  : guarda un valor numérico ingresado.

y  : guarda un valor numérico ingresado.

resultado : guarda el valor resultado de la expresión.

Programa

#include<stdio.h>

#include<math.h>

main(void)

{int x,y;

float resultado;

printf("ingrese el valor de x, también y \n");

scanf("%d %d",&x,&y);

resultado=sqrt(3*x*x+4*y*y);

printf("%f",resultado);

}

COMENTARIO

resultado=sqrt(3*x*x+4*y*y);

printf("%f",resultado);

Lo anterior puede reemplazarse por una sola línea de código como:

 printf("%f", sqrt(3*x*x+4*y*y));

Cuando menos líneas tenga el código, el programa  es mejor.

Y el programa quedaría con una línea de menos.

#include<stdio.h>

#include<math.h>

main(void)

{int x,y;

float resultado;

printf("ingrese el valor de x, también y \n");

scanf("%d %d",&x,&y);

printf("%f", sqrt(3*x*x+4*y*y));

}

Ejercicio 4

Hacer el algoritmo para escribir un programa que imprima el subtotal y el IGV de una transacción comercial, siendo el IGV el 19% del total. El dato de ingreso será el total.

Algoritmo

Inicio.

Declare total, subtotal, igv

Leer total

Igv 0.19*total

Subtotal total-igv

Mostrar subtotal, igv

Fin

Variables

total : guarda el valor del total ingresado

subtotal: guarda el valor del subtotal calculado

igv : guarda el valor del total ingresado

Programa

#include<stdio.h>

main()

{float total,subtotal,igv;

printf("ingrese el total a pagar");

scanf("%f",&total);

igv=0.19*total;

subtotal=total-igv;

printf("total: %f, subtotal: %f, igv: %f",total,subtotal,igv);

}

Capítulo siguiente - Estructuras selectivas
Capítulo anterior - Funciones y procedimientos

Nuestras novedades en tu e-mail

Escribe tu e-mail:

Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Cursos similares a Algoritmos y lenguaje C


  • Vídeo
  • Alumnos
  • Valoración
  • Cursos
1. Algoritmos en QBASIC. Manual
Este manual de QBASIC es una colección linkografica y bibliográfica sobre el uso... [26/10/09]
12.730  
2. Introducción al lenguaje Pascal
Pascal es un lenguaje de alto nivel y de propósito general (es aplicable a un gran... [01/03/06]
40.127  
3. Introducción al lenguaje HTML
¿Te interesa entrar al mundo de la programación web ? ¡Entonces este curso de... [14/04/11]
739
Curso con video

El blog de mailxmail|¿Qué es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail


¿Te interesa? ¡Te enviamos gratis las novedades de Programación!