Mg. Nelson Miguel Sandoval Camacho CEAD-BUCARAMANGA Nelson.sandoval@unad.edu.co INTRODUCCION A LA PROGRAMACION Ejemplos para Falcon C++ El objetivo de este material es mostrar y explicar una serie de programas realizados en Lenguaje C++, los cuales les servirá como guía a los estudiantes de la asignatura Introducción a la Programación de la Escuela de Ciencias Básicas y Tecnologia. Se puede probar en cualquier editor de C++, para este primer semestre del 2015 se eligió el Falcon, que es un editor que nos permite escribir nuestros programas (código fuente) y que los convierte en instrucciones de maquina para ser ejecutadas por el computador y con el cual se obtiene los resultados. En los siguientes programas se comentaran ciertas líneas “claves”, los comentarios se identifican con un doble backslash (//), esta es una buena técnica para quienes se inician en el arte de programar. PROGRAMAS RESUELTOS EN C++ OBJETIVOS DEL PROGRAMA: Conocer la estructura de un programa en C++ Aprender a definir y usar los tipos de datos Emplar de librerías y las funciones cout y cin. Enunciado : Solicitar el nombre, la edad del usuario y posteriormente calcular el cuadrado de un número ingresado por el usuario. Imprimir los datos Nombre, edad, número y cuadrado. Nota : Los textos subrayados con verde son comentarios, es decir explicaciones del código C++ #include<iostream> //esta librería se utiliza siempre para usar cin y cout #include<conio.h> //esta librería se usa para emplear consola getche() using namespace std; //crea un espacio de trabajo estandard propio del Lenguaje C++ int main() //es la función principal e indica el comienzo del programa en C++ { //definición de variables float N,C; //N es el número real(float) a leer y C será su cuadrado a calcular char nom[12]; //nom es la variable tipo char (caracter) para el nombre del usuario, maixmo de 12 caracteres int edad; //edad es una variable tipo entero (int) //instrucciones o procesos cout<<"Digite su nombre ? "; //muestra en la pantalla "Digite su nombre? " cin>>nom; //lee la variable nom cout<<endl; //realiza un cambio de línea con endl cout<<"Digite su edad ?"; cin>>edad; //lee la variable edad cout<<endl; //realiza un cambio de línea con endl cout<<"Digite un numero mayor que cero?"; cin>>N; //lee la variable N C=N*N; //mostrar los resultados por pantalla cout<<endl<<endl;// deja dos lineas en blanco antes de imprimir los resultados cout<<"Su nombre es "<<nom<<endl; //escribe el mensaje,la varible nom y cambia de linea cout<<"Su edad es "<<edad<<endl; //escribe el mensaje,la varible edad y cambia de linea cout<<"El cuadrado del numero "<<N<<" es "<<C; //escribe el mensaje, el numero y su cuadrado getch(); //Hace una pausa temporal en el programa para mostrar los resultados por pantalla return(0); } EJMPLO 2: USO DE IF Y OPERADORES LOGICOS OBJETIVOS : Emplear condicionales If-else Elaborar condiciones compuestas y operadores lógicos por medio de operador AND (&&) y el OR (||) . Enunciado : Determinar el mayor de 3 números ingresados por el usuario. # include <conio.h> # include <iostream> using namespace std; int main () { //definicion de variables a utilizar en el programa a,b y c de tipo entero int a,b,c; //captura los datos ingresados por el usuario cout << "Ingrese el primer valor " ; cin >> a; cout<<endl; cout << "Ingrese el segundo valor "; cin >> b; cout<<endl; cout << "Ingrese el tercer valor "; cin >> c; cout<<endl; if ((a>=b) && (a>=c)) //hace las comparaciones entre los tres numeros { cout <<"El mayor es el primer valor " << a; cout<<endl; } if ((b>=a) && (b>=c)) { cout <<"El mayor es el segundo valor " <<b; cout<<endl; } if ((c>=a) && (c>=b)) { cout <<"El mayor es el tercer valor " << c; cout<<endl; } getch (); return 0; } Nota: es de resaltar que en el if por ser solo una instrucción no es obligatorio encerrar esta instrucción dentro de llaves, esto es solo una exigencia para 2 o más líneas de instrucciones Ejemplo 3. Utilizar ciclos repetitivos For, while y do-while Objetivos : Obtener el factorial de un numero utilizando ciclos el ciclo for. Obtener el factorial de un numero utilizando ciclos el ciclo while Obtener el factorial de un numero utilizando ciclos el ciclo do-while Enunciado :Imprimir el factorial de un número dado //Solucion por Ciclo for # include <conio.h> # include <iostream> using namespace std; int main () { float n,i,f; cout <<"Ingrese un numero entero " <<endl; cin >> n; if(n<0) //evalua si el numero es negativo { cout<<"No se como calcular el factorial de un negativo"; } else { f=1; //inicializa la variable f en 1 for (i=1; i<=n; i++) { f=f*i; //en la variable f se va almacenando el resultado del factorial } cout <<"El factorial es " <<f;//imprime el resultado del factorial } getch (); return 0; } //Solucion por Ciclo while # include <conio.h> # include <iostream> using namespace std; int main () { float n,i,f; cout <<"Ingrese un numero entero " <<endl; cin >> n; if(n<0) //valida si el numero es negativo { cout<<"No se como calcular el factorial de un negativo"; } else { f=1; //inicializa la variable f en 1 i=1; //inicializa la variable i (contador) en 1 while (i<=n) { f=f*i; //en la variable f se va almacenando el resultado del factorial i++; //incrementa el contador i en 1 } cout <<"El factorial es " <<f;//imprime el resultado del factorial } getch (); return 0; } //Solucion por Ciclo do-while # include <conio.h> # include <iostream> using namespace std; int main () { float n,i,f; cout <<"Ingrese un numero entero " <<endl; cin >> n; if(n<0) //valida si el numero es negativo { cout<<"No se como calcular el factorial de un negativo"; } else { f=1; //inicializa la variable f en 1 i=1; //inicializa la variable i (contador) en 1 do { f=f*i; //en la variable f se va almacenando el resultado del factorial i++; //incrementa el contador i en 1 }while(i<=n); cout <<"El factorial es " <<f;//imprime el resultado del factorial } getch (); return 0; } Taller 1. busca los errores del siguiente programa #include <stdio.h> main() { printf( Estoy en la fila 1 columna 1 ); return 0; } 2. 3. 4. 5. Encontrar el 16% de la compra efectuada por un cliente. Imprimir el valor absoluto de un número. Dados 3 números diferentes encontrar el intermedio. Calcular el menor de un conjunto de números reales ingresados por el usuario. 6. Calcular el promedio de n números enteros ingresados por el usuario. 7. Imprimir la suma de los números en [a,b] donde a y b son ingresados por el usuario. 8. Determinar la suma y el producto de los números pares comprendidos entre 20 y 40 inclusive. 9. Imprimir los múltiplos de 7 desde 1 hasta n, donde n es ingresado por el usuario. 10. Ingresados los números m y n por el usuario, encontrar la media aritmética de los números enteros comprendidos entre ellos. 11. Determinar si un entero positivo mayor que 1 es o no primo. 12. Dada una cifra menor de mil ingresada por el usuario, imprimir su represtación en monedas de 500, 200, 100, y 50 pesos; escribir la palabra sobrante si existe un sobrante menor de 50, por ejemplo 462 es 2 monedas de 200, 1 de 50 y un sobrante de 12 pesos. (no imprimir las monedas que se utilizan 0 veces) Lista básica de Errores posibles Los siguientes son por ausencia (missing) de símbolo • Error PROC1.CPP 17: Statement missing ; Significa que el programa llamado proc1.cpp llego hasta la línea 17 y encontró ausencia del símbolo (;) • Error PROC1.CPP 12: Statement missing { Significa ausencia de llave Izquierda. • Error PROC1.CPP 19: Statement missing } Significa ausencia de llave Derecha. Solución: normalmente el símbolo esta ausente en esta o en la línea anterior al error. Los siguientes errores indican que en el programa prog3 en las líneas 10 y 26 existen una palabra encerrada en comillas (' ') desconocida para cada caso y solicita un prototipo, • Error PROG3.CPP 10: Function 'cout' should have a prototype • Error PROG3.CPP 26: Function 'getch' should have a prototype Solución: el motivo del error es que puede estar mal escrito, recuerda que el C es sensitivo a mayúsculas y minúsculas no es lo mismo Printf y printf o que no se haya escrito en el programa la librería necesaria, para nuestro caso #include<conio.h> o #include<iostream>