AnteriorPosterior

Tema 3 - Estructuras de control básicas

  Curso: C++ para gente que conoce C

3. Estructuras de control básicas

Si has programado un poco usando el lenguaje C, conocerás las estructuras básicas para controlar el flujo de un programa:

  • Con "if" se indica cómo debe comportarse el programa en caso de que se cumpla una condición.
  • Con "switch" se puede indicar qué hacer cuando una variable toma diferentes valores.
  • Cuando lo que se pretende es asignar un valor u otro a una variable, dependiendo de si se cumple o no una condición, se puede usar el operador condicional, "?".
  • Para repetir una serie de pasos mientras se cumpla una condición, se usa "while".
  • Si esos pasos que se repiten han de hacerlo al menos una vez, es más razonable usar un "do...while".
  • La orden "for" es muy similar a "while", pero es frecuente usarla cuando sabemos cuántas veces queremos que se repita (desde que una variable valga 10 hasta que valga 20, por ejemplo).
En C++ todo esto es básicamente lo mismo, salvo por un par de detalles:
  • Se puede declarar una variable casi en cualquier punto de un programa. Esto permite que podamos incluso declarar una variable "i" que va a controlar un bucle "for"... justo en el momento en que comienza ese "for" (tienes un ejemplo un poco más abajo).
  • Para comprobar condiciones, no es necesario eso de "0=falso; otra cosa=verdadero", porque existe un tipo de variable "bool" (abreviatura de "booleana") que puede tomar los valores "true" (verdadero) o "false" (falso), lo que puede ayudar a hacer programas más legibles.
Un pequeño programa para probar algunas de esas características podría ser:

#include <iostream>
#include <string>
 

using namespace std;
 
int main() {
    int x, y;
    bool esMayorX;

 
    cout << "Introduce un numero: ";
    cin >> x;
 
    cout << "Introduce otro numero: ";
    cin >> y;

 
    esMayorX = x > y;
 
    if (y > x)

        cout << "El segundo es mayor" << endl;
 
    // Condicion usando "bool"
    if (esMayorX)

        cout << "El primero es mayor" << endl;
 
    // Declarar antes de usar
    for (int i=0; i<x; i++)

        cout << i;
    cout << endl;
 
    // Operador condicional y bucles con bool
    int minimo = x>y? y : x;

 
    bool terminado = false;
    while (!terminado) {

        minimo++;
        cout << ".";
        if ((minimo == x) || (minimo == y))

            terminado = true;
    }
    cout << endl;
}
 

Actualizado el: 09-12-2009 23:42

AnteriorPosterior