Cuando se quiere realizar una operación de forma reiterativa se utilizan los bucles de programación. Si somos capaces de compilar este tipo de estructura tendremos los principios básicos para crear cualquier programa.
Tomemos como ejemplos la posibilidad de sumar 20 números que se han introducido mediante el teclado.
¿Cómo diseñaríamos el diagrama de flujo?
¿Cómo sería el diagrama de flujo capaz de escribir los 20 primeros múltiplos de 3?
1.- LOS CONDICIONALES
Cuando en un programa lineal se incluye una condición, deja de serlo, para convertirse en un programa ramificado mucho más interactivo.
Recordemos que el símbolo es el rombo que tiene 4 posibles conexiones
La entrada
La salida por el Si
La salida por el NO
y aún nos queda otra libre.
ACTIVIDADES
1.- Diseñe un organigrama que corresponda a un programa, que al introducir 3 números sea capaz de ordenarles de mayor a menor.
2.- Diseñe un diagrama de flujo para un programa que al introducir un número nos de como resultado el mes al que corresponde. Intente depurar al máximo
Recordemos que el símbolo es el rombo que tiene 4 posibles conexiones
La entrada
La salida por el Si
La salida por el NO
y aún nos queda otra libre.
ACTIVIDADES
1.- Diseñe un organigrama que corresponda a un programa, que al introducir 3 números sea capaz de ordenarles de mayor a menor.
2.- Diseñe un diagrama de flujo para un programa que al introducir un número nos de como resultado el mes al que corresponde. Intente depurar al máximo
3.- LOS BUCLES CON C
Los bucles son estructuras típicas de programación capaces de realizar una misma operación un determinado número de veces o mientras que se cumpla una determinada condición. La compilación de bucles con C se puede realizar utilizando 3 tipos de comandos diferentes con una sintáxis determinada.
1.- COMANDO WHILE( CONDICIÓN){
SENTENCIAS
.........................}
ACCIÓN.
EJEMPLO: SUMAR 20 NÚMEROS INTRODUCIDOS MEDIANTE TECLADO
#include "stdio.h"
main(){
int n,suma,contador;
n=0;
suma=0;
contador=0;
while(contador<20) {
printf("\t Introduce el primer numero ", n);
scanf("%d", &n);
suma=suma+n;
contador=contador+1;
}
printf("\n La suma de los 20 número es %d", suma);
scanf("%d",&suma);
}
2.- COMANDO do {
SENTENCIAS
......................} WHILE(CONDICIÓN)
ACCIÓN.
EJEMPLO: SUMAR 20 NÚMEROS INTRODUCIDOS MEDIANTE TECLADO
#include <stdio.h>
main(){
float num, s;
int contador;
s=0;
contador=1;
do{
printf("Introduce la cifra %f", num);
scanf("%f", &num);
s=s+num;
contador=contador+1;
}
while(contador<10)
printf("La suma es %f", s);
scanf("%f",&s);
}
3.- for (contador, condición, paso){
SENTENCIAS
.........................
continue/break}
EJEMPLO: ESCRIBIR LOS MULTIPLOS DE 13 QUE HAY ENTRE O Y 100
#include "iostream"
using namespace std;
int main()
{
int contador = 0; //Iniciamos el contador en cero
for(int i = 0; i < 100; i++)
{//Notemos que escribir i++ es similar a escribir i = i + 1
if(i%13 == 0) //Si el residuo es cero es múltiplo de 13
{
contador++; //Si es múltiplo aumentamos el contador en 1
printf("\t %d",i);
continue;
}
}
}
7.- USANDO LIBRE OFFICE COMO BASE DE DATOS.
la versión libre de Access, aunque mucho menos potente, también permite hacer las operaciones básicas de la base de datos.
1.- Podremos crear tablas tanto con asistente como en vista de diseño
2.- Con las que podremos realizar operaciones sencillas
Ordenar registros en orden alfabético
Crear filtros
3.- Es posible hacer consultas de selección enlazando los diferentes criterios con el operador O, o utilizando funciones en determinados campos. Cuando nuestras consultas son complejas es importante crear relaciones entre las diferentes tablas.
4.- Se pueden hacer formularios tanto con asistente como en vista de diseño
5.- También se pueden crear informes tanto con asistente como en vista de diseño.
1.- Podremos crear tablas tanto con asistente como en vista de diseño
2.- Con las que podremos realizar operaciones sencillas
Ordenar registros en orden alfabético
Crear filtros
3.- Es posible hacer consultas de selección enlazando los diferentes criterios con el operador O, o utilizando funciones en determinados campos. Cuando nuestras consultas son complejas es importante crear relaciones entre las diferentes tablas.
4.- Se pueden hacer formularios tanto con asistente como en vista de diseño
5.- También se pueden crear informes tanto con asistente como en vista de diseño.
En el siguiente enlace hay mucha más información sobre el uso y aprovechamiento de la base de datos de Libre Office.
En este enlace os dejo algunos ejemplos con los que poder practicar.
4.- EL COMANDO SWICHT
¿Os acordaís del programa que hicimos con VB? Era el que consistía en introducir un número del 1 al 12 y nos decía el mes al que correspondía. También se puede hacer con días de la semana. El equivalente a SLECT CASE en C es SWICT. Su sintaxis es la siguiente
switch(variable) {
case "1"
sentencia
case "2"
sentencia
.....
...break;
default:
sentencias
break;
...
}
EJERCICIO 1 REPETIR EL PROGRAMA DE LOS MESES DEL AÑO CON C
EJERCICIO 2 USAR EL COMANDO SWICHT PARA REALIZAR LAS 4 OPERACIONES BÁSICAS
#include <stdio.h>
main(){
float n1,n2;
float suma, resta, multiplicacion, division;
char option;
printf("\n Introduce el primer numero: ");
scanf("%f", &n1);
printf("\n Introduce el segundo numero: ");
scanf("%f", &n2);
printf("\n opcion 1 suma, 2 resta, 3 multiplicacion, 4 division ");
scanf("%d", &option);
switch (option){
case 1:
suma=n1+n2;
printf ("\n La suma es %f: ", suma);
scanf("%f", &suma);
break;
case 2:
resta=n1-n2;
printf ("\n La resta es %f: ", resta);
scanf("%f", &resta);
break;
case 3:
multiplicacion=n1*n2;
printf ("\n La multiplicacion es %f: ", multiplicacion);
scanf("%f", &multiplicacion);
break;
case 4:
division=n1/n2;
printf ("\n La division es %f: ", division);
scanf("%f", &division);
break;
default:
printf ("\n Error opcion incorrecta");
break;
}
}
switch(variable) {
case "1"
sentencia
case "2"
sentencia
.....
...break;
default:
sentencias
break;
...
}
EJERCICIO 1 REPETIR EL PROGRAMA DE LOS MESES DEL AÑO CON C
EJERCICIO 2 USAR EL COMANDO SWICHT PARA REALIZAR LAS 4 OPERACIONES BÁSICAS
#include <stdio.h>
main(){
float n1,n2;
float suma, resta, multiplicacion, division;
char option;
printf("\n Introduce el primer numero: ");
scanf("%f", &n1);
printf("\n Introduce el segundo numero: ");
scanf("%f", &n2);
printf("\n opcion 1 suma, 2 resta, 3 multiplicacion, 4 division ");
scanf("%d", &option);
switch (option){
case 1:
suma=n1+n2;
printf ("\n La suma es %f: ", suma);
scanf("%f", &suma);
break;
case 2:
resta=n1-n2;
printf ("\n La resta es %f: ", resta);
scanf("%f", &resta);
break;
case 3:
multiplicacion=n1*n2;
printf ("\n La multiplicacion es %f: ", multiplicacion);
scanf("%f", &multiplicacion);
break;
case 4:
division=n1/n2;
printf ("\n La division es %f: ", division);
scanf("%f", &division);
break;
default:
printf ("\n Error opcion incorrecta");
break;
}
}
3.- CONDICIONALES CON C
Introducir un condicional en cualquier programa se añade una ramificación al mismo. Para compilarle se utiliza el siguiente comando.
If (expresión){
sentencias Cuando se cumple la expresión se realiza lo que está entre llaves
}
else{
sentencias En caso contrario se ejecuta lo que está entre llaves
}
EJEMPLO 1
#include <stdio.h>
main(){
float n,millas,km;
int option;
printf("Escoge la opcion:");
printf("\n 1: Kilometros a millas ");
printf("\n 2: Millas a kilometros ");
scanf("%d",&option);
if (option==1){
printf("Introduce los kilometros: ");
scanf("%f",&n);
millas=n/1.609;
printf("Las millas son: %f",millas);
}
else {
printf("Introduce las millas: ");
scanf("%f",&n);
km=n*1.609;
printf("Los km son: %f",km);
}
}
a) Escriba el diagrama de flujo del ejemplo anterior
b) Compile y ejecute el programa.
c) ¿Cuál es el objetivo del mismo?
c) ¿Cuál es la diferencia entre el programa anterior y si le añade la siguiente línea
scanf("%f",&km);
EJERCICIO 1: Diseñe un programa anidando condicionales, capaz de comparar 3 números y decir cual es el mayor. No olvide la utilidad de los diagramas de flujo en la etapa de diseño.
EJERCICIO 2: ¿Cómo se podría depurar el siguiente código?
#include <stdio.h>
main(){
int n1,n2,n3;
printf("Introduce el primer numero ");
scanf("%d",&n1);
printf("Introduce el segundo numero ");
scanf("%d",&n2);
printf("Introduce el tercer numero ");
scanf("%d",&n3);
if(n1>n2){
if(n1>n3){
printf("El numero %d es el mayor",n1);
scanf("%d", &n1);
}
}
if(n2>n1){
if(n2>n3){
printf("El numero %d es el mayor",n2);
scanf("%d", &n2);
}
}
if(n3>n1){
if(n3>n2){
printf("El numero %d es el mayor",n3);
scanf("%d", &n3);
}
}
}
If (expresión){
sentencias Cuando se cumple la expresión se realiza lo que está entre llaves
}
else{
sentencias En caso contrario se ejecuta lo que está entre llaves
}
EJEMPLO 1
#include <stdio.h>
main(){
float n,millas,km;
int option;
printf("Escoge la opcion:");
printf("\n 1: Kilometros a millas ");
printf("\n 2: Millas a kilometros ");
scanf("%d",&option);
if (option==1){
printf("Introduce los kilometros: ");
scanf("%f",&n);
millas=n/1.609;
printf("Las millas son: %f",millas);
}
else {
printf("Introduce las millas: ");
scanf("%f",&n);
km=n*1.609;
printf("Los km son: %f",km);
}
}
a) Escriba el diagrama de flujo del ejemplo anterior
b) Compile y ejecute el programa.
c) ¿Cuál es el objetivo del mismo?
c) ¿Cuál es la diferencia entre el programa anterior y si le añade la siguiente línea
scanf("%f",&km);
EJERCICIO 1: Diseñe un programa anidando condicionales, capaz de comparar 3 números y decir cual es el mayor. No olvide la utilidad de los diagramas de flujo en la etapa de diseño.
EJERCICIO 2: ¿Cómo se podría depurar el siguiente código?
#include <stdio.h>
main(){
int n1,n2,n3;
printf("Introduce el primer numero ");
scanf("%d",&n1);
printf("Introduce el segundo numero ");
scanf("%d",&n2);
printf("Introduce el tercer numero ");
scanf("%d",&n3);
if(n1>n2){
if(n1>n3){
printf("El numero %d es el mayor",n1);
scanf("%d", &n1);
}
}
if(n2>n1){
if(n2>n3){
printf("El numero %d es el mayor",n2);
scanf("%d", &n2);
}
}
if(n3>n1){
if(n3>n2){
printf("El numero %d es el mayor",n3);
scanf("%d", &n3);
}
}
}
7.- CREAR TUTORIALES CON CAMSTUDIO
CAMSTUDIO ES UN SERVICIO OFRECIDO POR INTERNET QUE NOS PERMITE HACER TUTORIALES. EN EL SIGUIENTE VIDEO SE EXPLICA CÓMO:
ACTIVIDADES
CREE UN TUTORIAL SOBRE EL USO DE PAINT. GUÁRDELO EN SU CARPETA DE DRIVE.
ACTIVIDADES
CREE UN TUTORIAL SOBRE EL USO DE PAINT. GUÁRDELO EN SU CARPETA DE DRIVE.
Suscribirse a:
Entradas (Atom)