Descargar

Estructura básica de un programa en C/C++

Enviado por Pablo Turmero


    edu.red

    Estructura básica de un programa en C/C++ Ejemplo de un programa básico en C/C++ #include

    using namespace std;

    int main() { cout << “Hola mundo!” << endl; return 0; }

    edu.red

    Estructura básica de un programa en C/C++ Ejemplo de un programa básico en C/C++ #include

    using namespace std;

    int main() { cout << “Hola mundo!” << endl; return 0; } Inclusión de archivos de encabezado

    edu.red

    Estructura básica de un programa en C/C++ Ejemplo de un programa básico en C/C++ #include

    using namespace std;

    int main() { cout << “Hola mundo!” << endl; return 0; } Uso global de las librerías estándard

    edu.red

    Estructura básica de un programa en C/C++ Ejemplo de un programa básico en C/C++ #include

    using namespace std;

    int main() { cout << “Hola mundo!” << endl; return 0; } Declaración de la función principal

    edu.red

    Estructura básica de un programa en C/C++ Ejemplo de un programa básico en C/C++ #include

    using namespace std;

    int main() { cout << “Hola mundo!” << endl; return 0; } Código a ejecutar por la función principal

    edu.red

    Compilación y ejecución Antes de poder ejecutar el programa que escribimos, es necesario compilarlo.

    En DevC++ o CodeBlocks podemos usar los siguientes atajos: F9: Compilar y ejecutar CTRL+F9: Compilar (sin ejecutar) CTRL+F10: Ejecutar (sin recompilar)

    edu.red

    Práctica #1 Escriba y ejecute un programa que escriba su nombre completo en la pantalla dentro de un marco formado por asteriscos.

    Ejemplo de salida:

    **************************** * Me llamo Chamo * ****************************

    edu.red

    Variables y asignación Para declarar variables en C/C++ se escribe primero el tipo de variable, seguido del nombre de una o más variables (separados por comas).

    Ejemplos: int a; int i, j, k; float x, y;

    edu.red

    Asignación de variables Para asignar un valor a una variable se utiliza el operador = Es posible asignar valores al momento de declarar las variables; Ejemplos:

    x = 10; float a = 3.4, b = 5.6; c = -1.7;

    edu.red

    Tipos de variables char – entero de 8 bits short – entero con signo de 16 bits int – entero con signo de 32 bits float – punto flotante de 32 bits double – punto flotante de 64 bits

    Modificadores: signed / unsigned / long

    edu.red

    Operadores aritméticos En C/C++ se pueden formar expresiones aritméticas con los operadores comunes:+, -, *, /

    Debe tenerse siempre en cuenta que los operadores actúan de acuerdo al tipo de datos de los operandos involucrados. Ejemplo: x = 5 / 2; // el resultado es 2 x = 5.0 / 2; // el resultado es 2.5

    C/C++ no cuenta con un operador de potencia, pero se puede utilizar la función pow() de la librería math.h

    edu.red

    Salida de datos a consola En C++ se puede usar el flujo cout para imprimir información en la pantalla, utilizando el operador de salida de flujo <<

    La constante endl imprime un retorno de carro

    Ejemplos:

    cout << “El valor de x es “ << x << endl; cout << “El area del circulo es “ << 3.14159 * r * r; cout << endl << endl << endl;

    edu.red

    Práctica #2 Desarrolle un programa donde

    Declare tres variables de punto flotante: a, b, c Declare dos variables de tipo double: x1 y x2 Calcule las raíces (reales) x1 y x2 de la ecuación ax2 + bx + c = 0 Imprima los datos y resultados en la pantalla

    Ejemplo de salida:

    Calculo de las raices de una cuadratica Coeficientes: a = 1, b = -1, c = -2 Raices: x1 = 2, x2 = -1

    edu.red

    Entrada de datos desde consola El flujo de entrada cin permite introducir datos desde el teclado y almacenarlos en variables.

    Ejemplo:

    int main() { int x; cout << “Escribe un numero entero: “; cin >> x; cout << “El numero que escribiste es: “; cout << x << endl; }

    edu.red

    Práctica #3 Modifique el programa anterior para que el usuario pueda introducir los coeficientes a, b, c, sin necesidad de recompilar el programa.

    El programa deberá imprimir mensajes informativos indicando al usuario qué hace el programa y qué información requiere.

    edu.red

    Tarea #1 Escriba un programa que pida al usuario dos enteros y los almacene en las variables A y B. Luego el programa debe intercambiar el valor de A y B.

    Escriba un programa que calcule e imprima el perímetro y el área de una circunferencia de radio r dado por el usuario.

    Escriba un programa que, usando solamente dos variables, calcule el promedio de cinco enteros dados por el usuario.

    Escriba un programa que dados dos puntos en el plano (x1,y1) y (x2,y2), calcule y escriba la distancia entre ellos (sugerencia: utilice la función sqrt() de la librería math.h).

    Escriba un programa que dados tres puntos en el plano, calcule e imprima las coordenadas del centro y el radio de la circunferencia que pasa por los tres puntos.

    edu.red

    EXPRESIONES BOOLEANAS Y ESTRUCTURAS DE DECISION

    edu.red

    Expresiones booleanas Una expresión booleana es aquella que después de evaluarse puede tomar uno de dos posibles resultados: verdadero o falso. En lenguaje C/C++, los valores verdadero y falso se representan, respectivamente, con los números 1 y 0. Sin embargo, cualquier valor distinto de cero es considerado como “verdadero”.

    edu.red

    Operadores de comparación Una manera de formar expresiones booleanas es utilizando los operadores de comparación:

    a == b – igualdad a < b – menor a a > b – mayor a a != b – distinto de a <= b – menor o igual a a >= b – mayor o igual a

    edu.red

    Estructuras de decisión Una de las principales aplicaciones de las expresiones booleanas es la toma de decisiones:

    if (expresion) { // código a ejecutar si la // expresión es verdadera } else { // código a ejecutar si la // expresión es falsa }

    edu.red

    Operadores booleanos Las expresiones booleanas pueden combinarse mediante los operadores booleanos clásicos:

    && – conjunción (and) || – disyunción (or) ! – negación (not)

    Notar que estos operadores difieren de los operadores lógicos binarios: &, |, ~

    Notar que, en muchos casos, los operadores && y || pueden reemplazarse, respectivamente, por el producto y la suma.

    edu.red

    Práctica #1 Escriba un programa que pida al usuario tres números enteros entre 0 y 10 (inclusive). El programa debe verificar que los números están en el rango correcto, y en ese caso imprimir el promedio de los números. En caso contrario debe imprimir un mensaje de error indicando cuál de los números está fuera de rango.

    edu.red

    Práctica #2 Elabore un programa que pida al usuario los coeficientes de una cuadrática y calcule sus raíces, las cuales posiblemente son complejas. El programa deberá indicar de qué tipo son las raíces (reales, imaginarias o complejas) e imprimir los resultados en el formato adecuado.

    edu.red

    Tarea #2 Elabore un programa que pida al usuario cinco números enteros e imprima el menor y el mayor de ellos.

    Escriba un programa que tome como entrada las coordenadas de un punto en el plano cartesiano e indique al usuario en qué cuadrante se encuentra el punto.

    Elabore un programa que pida al usuario cuatro calificaciones parciales entre 0 y 10. El programa debe verificar que los datos estén en el rango adecuado y calcular e imprimir el promedio. De acuerdo al promedio, deberá también imprimir alguno de los siguientes mensajes: de 6 a 10: “Aprobado”, de 5 a 6: “Derecho a extraordinario”, de 2 a 5: “Derecho a título”, y de 0 a 2: “Sin derecho a acreditar”.

    Elabore un programa que pida al usuario su fecha de nacimiento (en el formato día, mes, año), así como la fecha actual, y calcule la edad del usuario en días. El programa debe verificar que las fechas son correctas (e.g., 30/02/1998 y 10/13/1980 no lo son) y tomar en cuenta los años bisiestos.

    edu.red

    INSTRUCCIÓN SWITCH

    edu.red

    Instrucción switch La instrucción switch se utiliza cuando se requiere tomar una decisión entre múltiples posibilidades, de acuerdo al valor de una variable o expresión entera.

    Una de las principales aplicaciones es la elaboración de un “menú de opciones” dentro de un programa.

    edu.red

    Sintaxis switch (expresion) { case c1: // código a ejecutar en caso de que expresion == c1 break;

    case c2: // código a ejecutar en caso de que expresion == c2 break;

    default: // código (opcional) a ejecutar en caso de que no se cumpla // ninguna de las condiciones anteriores } * Es importante recordar que c1, c2, etc. deben ser constantes enteras!

    edu.red

    Ejemplo: menú de opciones int a, b, r, opcion; cout << “1.- Suma” << endl; cout << “2.- Resta” << endl; cout << “3.- Producto” << endl; cout << “4.- División” << endl; cout << “Elige una opción: “ << endl; cin << opcion; switch (opcion) { case 1: r = a + b; break; case 2: r = a – b; break; case 3: r = a * b; break; case 4: r = a / b; break; default: cout << “Opcion invalida” << endl; } cout << “El resultado es “ << r << endl; int a, b, r, opcion; cout << “1.- Suma” << endl; cout << “2.- Resta” << endl; cout << “3.- Producto” << endl; cout << “4.- División” << endl; cout << “Elige una opción: “ << endl; cin << opcion; if (opcion == 1) { r = a + b; } else { if (opcion == 2) { r = a – b; } else { if (opcion == 3) { r = a * b; } else { if (opcion == 4) { r = a / b; } else { cout << “Opcion invalida” << endl; } } } } cout << “El resultado es “ << r << endl; Usando switch Usando if

    edu.red

    Práctica #1 En la música occidental, las notas Do, Re, Mi, Fa, Sol, La, y Si suelen representarse mediante las letras C, D, E, F, G, A, y B, respectivamente.

    Elabore un programa que tome como entrada la letra (mayúscula o minúscula) correspondiente a una nota e imprima su nombre. Si la letra dada no corresponde a una nota, el programa debe indicarlo mediante un mensaje de error.

    Sugerencia: utilice el tipo char para almacenar caracteres y recuerde que las constantes de este tipo se escriben entre apóstrofos (e.g., ‘a’, ‘z’, ‘*’, etc.).

    edu.red

    Tarea #3 Considere el siguiente problema: 3 misioneros y 3 caníbales desean cruzar un río usando una balsa para 2 pasajeros. En ningún momento puede haber mas caníbales que misioneros en cualquier orilla del río. Los movimientos válidos consisten en trasladar uno o dos personajes de una orilla a otra, alternando en cada movimiento el origen y destino.

    edu.red

    ESTRUCTURAS DE ITERACION

    edu.red

    Estructuras de iteración Las estructuras de iteración se utilizan cuando es necesario repetir un cierto bloque de código un número determinado o indeterminado de veces.

    Todas las estructuras de iteración se basan en la ejecución de un bloque de código de manera repetida mientras el valor de una expresión booleana de control sea verdadero.

    Por lo tanto, es muy importante asegurarse de que la condición se vuelve falsa en algún momento, de manera que el programa no quede atascado en un ciclo infinito.

    edu.red

    Instrucción while Sintaxis:

    while (expresion) { // Código a ejecutar de manera repetida // mientras la expresión sea verdadera }

    edu.red

    Ejemplo El siguiente programa calcula el factorial de n, donde n es dado por el usuario:

    int main() { int i, n, factorial; cout << “Dame el valor de n: “; cin >> n; factorial = 1; i = 1; while (i <= n) { factorial = factorial * i; i = i + 1; } cout << “El factorial de “ << n << “ es “ << factorial << endl; }

    edu.red

    Práctica #1 Elabore un programa que pida al usuario un entero positivo n. Luego, el programa debe pedir al usuario n enteros usando un ciclo. El programa deberá encontrar el mayor, menor, y promedio de los valores dados por el usuario e imprimirlos al final.

    edu.red

    Instrucción do…while La instrucción while siempre verifica primero que la condición de control sea verdadera antes de ejecutar el bloque de código.

    Si se desea ejecutar el bloque de código al menos una vez antes de verificar la condición, se puede usar la instrucción do…while:

    do { // bloque de código a ejecutar al menos una vez } while (expresion);

    edu.red

    Práctica #2 Realice un programa que pida al usuario una serie de números enteros no negativos utilizando un ciclo do…while. Una vez que el usuario introduzca un número negativo, el ciclo deberá terminar y el programa deberá imprimir el mayor, menor, y promedio de todos los números ingresados (excepto el último).

    edu.red

    Tarea #4 Elabore un programa que implemente el método de bisección para encontrar la raíz en el intervalo (0, 3) de la función

    Elabore un programa que implemente la regla del trapecio para calcular la integral

    Elabore un programa que elija un número aleatorio n entre 1 y 100 (usar funciones rand() y srand() de stdlib.h). El programa dará al usuario 5 oportunidades para adivinar el número: en cada oportunidad, el usuario ingresará su respuesta y el programa indicará si la respuesta es menor, mayor, o igual a n (en cuyo caso el usuario habrá ganado). Si después de 5 intentos el usuario no ha adivinado, entonces habrá perdido el juego.

    edu.red

    Tarea #4 (sugerencias) Algoritmo de bisección: Dado el intervalo (a, b) y una función f(x) contínua en (a,b): Verificar que f(a) f(b) < 0. De lo contrario, no podemos asegurar que existe una raíz en el intervalo dado y el algoritmo debe terminar. Hacer r=a. Iterar hasta que r converja: Obtener una aproximación de la raíz r como r = (a+b) / 2 . Si f(a) f(r) < 0, entonces la raíz está en la mitad izquierda del intervalo. Por lo tanto, hacer b = r. En caso contrario, entonces la raíz está en la mitad derecha del intervalo. Por lo tanto, hacer a = r.

    Regla del trapecio:

    donde n es el número de segmentos y h = (b-a)/n.

    edu.red

    ESTA PRESENTACIÓN CONTIENE MAS DIAPOSITIVAS DISPONIBLES EN LA VERSIÓN DE DESCARGA