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
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);
}
|
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 |
|
|||