Lenguaje de Programación Un lenguaje se puede definir como un conjunto de palabras y formas de expresión por medio de las cuales se comunican y relacionan miembros de una comunidad determinada con la computadora.
Las computadoras “hablan” su propio lenguaje, el cual es numérico y está limitado a 1s y 0s (Sistema Binario)
Características del lenguaje Usar el mismo lenguaje de ellas: un lenguaje de máquina Usar un lenguaje parecido al nuestro: un lenguaje de alto nivel Usar un lenguaje parecido al de las computadoras: un lenguaje de bajo nivel. Bajo nivel Emsamblador Alto nivel (C, vb,perl..) Más parecido al lenguaje natural, más fácil de entender Más parecido al lenguaje del computador Nivel medio Java, C,C++, Macroensamblador
INCOVENIENTES DEL LENGUAJE 1.Ofrece muchas libertades al programador en la forma de escribir el código fuente. Si no ajusta a una disciplina en la manera de programar, los programas pueden resultar indescifrables al programador.
2. Carece de comprobación en el sistema en tiempo de ejecución. Esto puede originar muchos problemas no detectables a simple vista
ELEMENTOS BASICOS DE UN PROGRAMA 1. Comentarios 2. Funciones de librería predefinidas 3. Definición de directivas y macros 4. Cabecera del programa 5. Declaración de variables 6. Cuerpo del programa compuesto de secuencia de sentencia 7. Fin del programa
Fases de un Programa Usualmente los programas en C y en la mayoría de lenguajes, constan de tres fases: Fase de Entrada: se le indica al usuario que datos debe ingresar a la computadora y se recopila esa información Fase de Computo: los datos ingresados son procesados, se efectúan cálculos. Fase de Salida: la información generada es mostrada, se despliegan los resultados
Tipos de Datos Básicos Cada tipo de dato tiene dos características que lo definen: Dominio, corresponde al rango de valores que el tipo de dato puede tomar. Conjunto de operaciones que se pueden realizar sobre el tipo de dato. Los tipos de datos básicos son: Numéricos Caracteres Lógicos
Datos Numéricos Los datos numéricos pueden ser de dos tipos: Enteros integer, int Números completos, que no tienen componentes fraccionarios Pueden ser con o sin signo Algunas computadoras pueden representar cantidades enteras desde –32768 a Reales real, float, double Siempre tienen un punto decimal Pueden ser positivos o negativos
Datos Lógicos Existen datos que solo pueden ser Falsos o Verdaderos. Por Ejemplo: ¿La base y la altura son iguales? ¿Es rectángulo? ¿Es cuadrado? A este tipo de datos, se los conoce como datos booleanos o lógicos Boolean Usualmente se utilizan para representar las alternativas (verdadero/falso) a ciertas condiciones.
Operaciones Lógicas Con los datos lógicos se pueden efectuar operaciones lógicas. OperadorSignificadoEjemploTipo de resultado Resultado No(not)Negación de un valor No(6>10)Entero o realVerdadero Y(and)Conjunción(1 10) Ecuador clasificó y Colombia no clasificó Entero o realFalso Verdadero O (or)Disyunción(5>10) o (10<9) Entero o realFalso
Operaciones Relacionales Las operaciones relacionales, se pueden aplicar sobre cualquier dato, pero siempre dan como resultado datos lógicos OperadorSignificadoEjemploResultado <Menor queEl número de paralelos de Fundamentos es menor que el número de paralelos de Cálculo I Verdadero >Mayor que8>10Falso ==Igual que9 == 15Falso >=Mayor o igual que 10 >= 10Verdadero <=Menor o igual que 8 <= 10Falso !=Diferente de 5 <> 5 El precio de una entrada en el Albocine es diferente de el de las entradas en el Cinemark Falso Verdadero
Cadenas y Caracteres Para poder distinguir los datos de tipo caracter (char), estos se encierran en comillas simples. Los datos de tipo carácter se pueden clasificar en: Alfabéticos (‘a’, ’b’, ’c’, ’z’,..., ’A’, ’B’, ’C’,...., ’Z’) Numéricos (‘0’, ’1’, ’2’, ’3’,...,’9’) Especiales (‘+’, ’-’, ’;’, ’-’, ’:’, ’&’, ’$’...) Las cadenas (string), entonces, son un conjunto de caracteres. Para poderlas distinguir, usualmente se las encierra en comillas dobles. Ejemplo: “Es un rectángulo”, “Es un cuadrado”
Constantes Dentro de un cálculo o en los pasos para solucionar un problema, existirán valores que nunca van a cambiar y se los conoce como constantes. Por ejemplo: Pi es una constante.
Variables En computación, una variable es un espacio en memoria, donde se almacena un dato, y este puede variar durante un proceso dado.
Operaciones Matemáticas Con los datos numéricos se pueden efectuar operaciones matemáticas, a través de los operadores aritméticos: OperadorSignificadoTipos de operandos EjemploTipo de resultadoEjemplo +SumaEntero o real Entero o real RestaEntero o real Entero o real DivDivisión enteraEntero10 div 6Entero1 ModModuloEntero10 mod 6Entero4 *MultiplicaciónEntero o real4*2 4.35* * 2.5 Entero o real /DivisiónReal4.00/ / 2.5 Real ^PotenciaciónEntero o real4^2 4.5 ^ ^ 0.5 Entero o real Precedencia
Operador de Asignación La asignación se efectúa de derecha a izquierda. Cualquier valor que haya tenido la variable antes de la asignación, se pierde, es sobrescrito con el nuevo valor. A = 5 A = A*5 La computadora ejecuta la asignación de dos formas: Si hay operaciones del lado derecho, las efectúa, y calcula el resultado, luego Asigna el resultado a la variable En lenguaje C, el operador de asignación se puede usar para cambiar el valor de variables de cualquier tipo, menos cadenas de caracteres.
Instrucciones G otoxy – Printf – Scanf - Clrscr Instrucción GOTOXY. (col-fil). Permite ubicar las coordenadas dentro de la pantalla. Formato. Gotoxy (30,5); Instrucción Printf. Presenta mensajes o contenidos de variables en el lenguaje C. Formato. Printf(“hola”); Instrucción Scanf. Recepta un dato a una variable a ser utilizada en el programa. Formato scanf (“%d”,&op); Instrucción Clrscr. Borra pantalla Formato (clear screen)
Instrucciones If – For – Switch - Case Instrucción If. Es una instrucción selectiva que permite ejecutar un proceso por verdad. Formato. if(op==1) Proceso 1. Instrucción For. Permite realizar ciclos repetitivos, poseen un valor inicial,un incremento y una condición que cumplir. Formato. for(col=3; col<=7;col++
Instrucción Switch Permite controlar la recepción del dato en una variable que posea contenido desde teclado. Formato. C=getch(); swicth (c) ramacion-lenguaje-c/programacion-lenguaje- c2.shtml
Instrucción Case. Selecciona una opción entre múltiples opciones; ejecutando un proceso determinado de acuerdo a la opción digitada por el usuario Formato. Case ‘t’ { Procesos uno Case ‘h’ { Procesos dos Case ‘c’ { Procesos dos
Ejercicios de c++
Análisis de un Programa Sencillo Se desea ordenarle a la computadora que muestre un mensaje: Hola Mundo, por el monitor
Nuestro Primer Programa #include /*Programa para mostrar Hola Mundo*/ main() { /*Operación de salida*/ printf(“Hola Mundo\n”); } En Lenguaje C Librerías -Las funciones se agrupan en librerías -Para que un programa pueda usar ciertas funciones, debe “incluir” las librerías donde se encuentran -Las librerías se representan con los archivos de cabecera (.h) -printf es una función y se la encuentra en la librería stdio Comentarios: -No son tomados en cuenta al compilar el programa fuente -Son muy útiles, ayudan a explicar lo que está haciendo el programa Programa Principal -Contiene la función main: es el punto de entrada al programa, las sentencias dentro de main son las que se ejecutan primero
Segundo Programa: Calculando Se desea ordenarle al computador que sume dos números enteros ingresados por teclado y muestre el resultado
#include #include int main() { clrscr(); printf("Hola mundo"); getch(); return 0; }
Hallar A+B-C+100 Código: #include #include int main () { clrscr(); int A, B, C; printf("Inserte valor para A: "); scanf("%d",&A); printf("Inserte valor para B: "); scanf("%d",&B); printf("Inserte valor para C: "); scanf("%d",&C); printf("\n%d + %d - %d = %d",A, B, C, (A+B-C+100)); getch(); return 0; }
Dado un numero verificar si es positivo, negativo o nulo Código: #include #include int main () { clrscr(); int numero; printf("Inserte un numero: "); scanf("%d",&numero); if(numero==0) printf("El numero %d es NULO",numero); else { if(numero<0) printf("El numero %d es NEGATIVO",numero); else printf("El numero %d es POSITIVO",numero); } getch(); return 0; }
#include #include int main () { clrscr(); int a, b; printf("Inserte valor a: "); scanf("%d",&a); printf("Inserte valor b: "); scanf("%d",&b); printf("(%d-%d) (%d+%d) = %d",a, b, a, b,((a-b)*(a+b))); getch(); Return 0; }
* * Mostrar los múltiplos de 3 comprendidos entre los números 1 y 20 #include #include #include int main () { clrscr(); for (int i=1;i<=20;i++) { cout<<i; if (i%3==0) cout<<" Es multiplo de 3" <<endl; else cout<<" No es multiplo de 3"<<endl; } getch(); return 0; }
#include #include int main () { clrscr(); int n, c=1, serie=5; printf("Cantidad de terminos: "); scanf("%d",&n); while(c<=n) { printf("%d,",serie); serie+=5; c++; } getch(); return 0; }
#include #include int main() { clrscr(); int a, b, c, d, e, f; printf("Inserte num.1: "); scanf("%d",&a); printf("Inserte num.2: "); scanf("%d",&b); printf("Inserte num.3: "); scanf("%d",&c); printf("Inserte num.4: "); scanf("%d",&d); printf("Inserte num.5: "); scanf("%d",&e); printf("Inserte num.6: "); scanf("%d",&f); int menor=a; if(b<menor) menor=b; if(c<menor) menor=c; if(d<menor) menor=d; if(e<menor) menor=e; if(f<menor) menor=f; printf("El menor de %d,%d,%d,%d,%d,%d ",a,b,c,d,e,f); printf("\nEs %d",menor); getch(); return 0; }