Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Clase lenguaje c xxxxxx

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
Ejemplo C++
Ejemplo C++
Cargando en…3
×

Eche un vistazo a continuación

1 de 33 Anuncio

Más Contenido Relacionado

Presentaciones para usted (16)

Similares a Clase lenguaje c xxxxxx (20)

Anuncio

Más reciente (20)

Clase lenguaje c xxxxxx

  1. 1. REPASO CLASE ANTERIOR
  2. 2. Aceptar Entradas del Usuario <ul><li>En la librería estándar de E/S <stdio.h> existen muchas funciones incorporadas que están disponibles para los usuarios del lenguaje C, como por ejemplo la función printf . </li></ul><ul><li>La instrucción para incluir la librería es: #include </li></ul><ul><li>Para incluir especificamente <stdio.h> sería: </li></ul><ul><li>#include <stdio.h> </li></ul><ul><li>La sentencia es una directiva del preprocesador de C para incluir el programa que constituye la librería estándar de E/S. </li></ul>
  3. 3. Aceptar Entradas del Usuario...2 <ul><li>Para ingresar datos de entrada a un programa se definen variables para almacenar esa información. </li></ul><ul><li>La sentencia con la función para ingresar un entero en una variable de ese tipo es: </li></ul><ul><li> scanf(&quot;%d&quot;, &num); </li></ul><ul><li>Cuando se ejecuta la función scanf: </li></ul><ul><ul><li>La computadora espera un dato válido por parte del usuario. </li></ul></ul><ul><ul><li>Una vez que el valor se obtiene, éste se almacena en la variable num . </li></ul></ul><ul><ul><li>La cadena de caracteres encerrada en comillas en scanf se llama cadena de formato. </li></ul></ul><ul><ul><li>%d indica que un entero decimal va a ser leído . </li></ul></ul>
  4. 4. Aceptar Entradas del Usuario...3 <ul><li>Asuma que se desea leer la entrada del usuario en dos variables: </li></ul><ul><ul><li>- edad es de tipo de dato int. </li></ul></ul><ul><ul><li>peso es de tipo de dato float . </li></ul></ul><ul><li>Se usan las siguientes sentencias para llevar a cabo la lectura : </li></ul><ul><ul><li>scanf(&quot;%d&quot;,&edad); </li></ul></ul><ul><ul><li>scanf(&quot;%f&quot;,&peso); </li></ul></ul>
  5. 5. Uso de Secuencias de Escape Retorno de carro Tabulador horizontal Tabulador vertical Diagonal Inversa Signo de interrogación Comilla Simple Comilla Doble Propósito Carácter de alerta (timbre) Retroceso (Backspace) Formfeed Nueva línea Secuencia
  6. 6. Uso de Secuencias de Escape Cadena de Formato Propósito %d, %i int (notación decimal con signo ) %c char %f Double %s cadena de caracteres
  7. 7. Aceptar Entradas del Usuario...Ejemplo 1 Ingresar y mostrar la altura de un individuo # include <stdio.h> main() { int altura; /* Se le indica al usuario que hacer */ printf(&quot;Ingrese su altura en centimetros&quot;); /* Obtener el valor de la variable como entrada del usuario */ scanf(&quot;%d&quot;, &altura); /* Imprimir el valor de la variable a la salida estándar */ printf(&quot;La altura en centimetros es %d&quot;,altura); }
  8. 8. Aceptar Entradas del Usuario...Ejemplo 2 Extraer los Dígitos Individuales de un Entero de dos Dígitos #include <stdio.h> main(){ int num,digito_izq,digito_der; printf(&quot;Ingrese un numero positivo de 2 digitos&quot;); /* Obtener el valor de la variable desde el usuario */ scanf(&quot;%d&quot;,&num); /* El dígito izquierdo y derecho se extraen */ digito_izq = num / 10; digito_der = num - (num/10)*10; /* Cada dígito obtenido es mostrado */ printf(&quot;El digito izquierdo es: %d&quot;, digito_izq); printf(&quot;El digito derecho es: %d&quot;, digito_der); }
  9. 9. Tipos de Datos Básicos en C Tipo de Dato Descripción Requerimientos Típicos de Memoria int Entero 2 bytes float Número de punto flotante 4 bytes double Número de punto flotante de doble precisión 8 bytes char Carácter simple 1 byte
  10. 10. Operadores Aritméticos <ul><li>Existen 5 operadores aritméticos en C: </li></ul><ul><ul><li>+ </li></ul></ul><ul><ul><li>- </li></ul></ul><ul><ul><li>* </li></ul></ul><ul><ul><li>/ </li></ul></ul><ul><ul><li>% </li></ul></ul><ul><li>Cuando se usan con operandos enteros, todos los operadores anteriores retornan un resultado entero. </li></ul><ul><li>El operador % es válido sólo cuando ambos operandos son enteros. </li></ul><ul><li>Cuando uno de los operandos es un float , el resultado será también un float . </li></ul>
  11. 11. Prioridad de los Operadores Aritméticos Prioridad Operadores Descripción Primero * / % Multiplicación, división, módulo Segundo + - Adición, resta Tercero = Asignación
  12. 12. Operadores Compuestos de Asignación Operador Propósito Ejemplo Salida += Suma/Asignación X = 10; X += 5; 15 -= Resta/Asignación X = 10; X -= 5; 5 *= Multiplicación/Asignación X = 10; X *= 5; 50 /= División/Asignación X = 10; X /= 5; 2 %= Módulo/Asignación X = 10; X %= 5;   0
  13. 13. Estructuras de Control de Decisión CLASE DEL LUNES 09/05/11 Copyright © 2005
  14. 14. La Sentencia if <ul><li>La sentencia if está disponible para usarse en diferentes formas: </li></ul><ul><ul><li>if simple. </li></ul></ul><ul><ul><li>if-else. </li></ul></ul><ul><ul><li>if múltiple. </li></ul></ul><ul><ul><li>if anidado . </li></ul></ul><ul><li>Cada una de estas estructuras permite resolver problemas que requieren control de decisión en su contexto. </li></ul>
  15. 15. La Sentencia if...2 Cinco formas de sentencias if: 1. if(condición) Ejecuta una sola sentencia;  2. if(condición) Ejecuta una sola sentencia; else Ejecuta una sola sentencia; 3. if(condición){ Ejecuta una o más sentencias; } else{ Ejecuta una o más sentencias; }
  16. 16. La Sentencia if...3 4. if(condición) Ejecuta una sola sentencia; else{ if(condición) Ejecuta una sola sentencia; else{ Ejecuta una o más sentencias; } } 5. if(condición){ if(condición) Ejecuta una sola sentencia; else{ Ejecuta una o más sentencias; } }else Ejecuta una sola sentencia;
  17. 17. Construcción if Simple <ul><li>La forma general de la construcción if simple es: </li></ul><ul><ul><li>if(si la condición es verdadero) </li></ul></ul><ul><ul><li> sentencia1; </li></ul></ul><ul><li>donde sentencia1 es una sola sentencia en C llamada “Sentencia Simple”. </li></ul><ul><li>Ejemplo: </li></ul><ul><li>Para verificar si x es mayor que y , se puede usar la siguiente sentencia: if (x > y). </li></ul><ul><ul><li>La palabra reservada es if y la condición que se verifica es x > y . </li></ul></ul><ul><ul><li>Se le llama expresión relacional a x > y . </li></ul></ul><ul><ul><li>Una expresión relacional siempre resulta en verdadero o falso. </li></ul></ul>
  18. 18. La Construcción if-else <ul><li>La forma general de la sentencia if-else se da a continuación: </li></ul><ul><ul><li>if(condición){ </li></ul></ul><ul><ul><li>sentencia1; </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><ul><li>sentenciaN; </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>else{ </li></ul></ul><ul><ul><li>sentencia1; </li></ul></ul><ul><ul><li>… </li></ul></ul><ul><ul><li>sentenciaN; </li></ul></ul><ul><ul><li>} </li></ul></ul>
  19. 19. Encontrar el Máximo entre dos Números Programa en C usando la construcción if-else . 1 #include <stdio.h> 2 main(){ 3 int num1, num2; 4 printf(&quot;Ingrese los dos numeros enteros: &quot;); 5 scanf(&quot;%d %d&quot;,&num1,&num2); 6 printf(&quot;El valor del num1 es: %d&quot;, num1); 7 printf(&quot;El valor del num2 es: %d&quot;, num2); 8 9 if(num1 == num2) 10 printf(&quot;Los numeros ingresados son iguales&quot;); 11 else if(num1 > num2) 12 printf(&quot;El maximo valor es: %d&quot;,num1); 13 else 14 printf(&quot;El maximo valor es: %d&quot;,num2); 15 }
  20. 20. La Construcción if Anidado Ejemplo: Buscar el Máximo de Tres Números Enteros 1 #include <stdio.h> 2 main(){ 3 int num1,num2,num3; 4 printf(&quot;Ingresar los tres numeros enteros: &quot;); 5 scanf(&quot;%d %d %d&quot;,&num1,&num2,&num3); 6 if(num1 == num2) 7 if(num1 == num3) 8 printf(&quot;Los numeros dados son iguales&quot;); 9 if(num1 > num2) 10 if(num1 > num3) 11 printf(&quot;El valor maximo es: %d&quot;,num1); 12 else 13 printf(&quot;El valor maximo es: %d&quot;,num3); 14 else if(num2 > num3) 15 printf(&quot;El valor maximo es: %d&quot;,num2); 16 else if(num3 > num2) 17 printf(&quot;El valor maximo es: %d&quot;,num3); 18 }
  21. 21. Expresiones – Operadores Lógicos y Relacionales <ul><li>Los operadores relacionales combinan identificadores, constantes y expresiones aritméticas para formar las expresiones relacionales . </li></ul><ul><li>Se estudian: </li></ul><ul><ul><li>Los operadores relacionales. </li></ul></ul><ul><ul><li>Los operadores de igualdad. </li></ul></ul><ul><ul><li>Expresiones lógicas. </li></ul></ul><ul><ul><li>Operadores lógicos. </li></ul></ul>
  22. 22. Operadores Relacionales <ul><li>Algunos de los operadores relacionales que se pueden usar para formar expresiones relacionales son :    </li></ul><ul><ul><li>  < Menor que.   </li></ul></ul><ul><ul><li><= Menor o igual que.        </li></ul></ul><ul><ul><li>   > Mayor que. </li></ul></ul><ul><ul><li>>= Mayor o igual que. </li></ul></ul><ul><li>Todos estos operadores pertenecen al mismo grupo de precedencia que es menor que los operadores unarios y aritméticos. </li></ul>
  23. 23. Operadores de Igualdad <ul><li>Los siguientes operadores de igualdad se pueden usar en expresiones relacionales: </li></ul><ul><ul><li>== Igual a. </li></ul></ul><ul><ul><li>!= No igual a. </li></ul></ul><ul><li>Pertenecen a un grupo diferente de precedencia por debajo de los operadores relacionales. </li></ul><ul><li>En una expresión que tenga operadores relacionales y operadores de igualdad, se evalúan primero los operadores relacionales. </li></ul><ul><li>Ejemplos del uso de los operadores de igualdad : </li></ul><ul><ul><li>a == b </li></ul></ul><ul><ul><li>n != 10 </li></ul></ul><ul><ul><li>b + c == c – d </li></ul></ul><ul><ul><li>(b * b – 4 * a * c) != (d - 25) </li></ul></ul>
  24. 24. Expresiones Lógicas <ul><li>Las expresiones relacionales conectadas por operadores lógicos se denominan expresiones lógicas. </li></ul><ul><li>Las expresiones lógicas siempre producen un valor de verdadero o falso. </li></ul><ul><li>El valor que retorna una expresión lógica es realmente un entero. </li></ul><ul><li>El valor de verdadero se representa con 1 y falso con 0. </li></ul>
  25. 25. Operadores Lógicos <ul><li>El lenguaje C también provee operadores lógicos, llamados conectores lógicos: </li></ul><ul><ul><ul><li>&& And </li></ul></ul></ul><ul><ul><ul><li>|| Or </li></ul></ul></ul><ul><ul><ul><li>! Not </li></ul></ul></ul><ul><li>Lo operadores lógicos se usan para combinar expresiones lógicas. </li></ul><ul><li>Ejemplos: </li></ul><ul><ul><li>(a + 2) == max && (n != 0) </li></ul></ul><ul><ul><li>(a == 3) && (max != –1)||(i % 2 != 0) </li></ul></ul>
  26. 26. Construcciones Iterativas CLASE DEL LUNES 16/05/11 Copyright © 2005
  27. 27. Repetitiva mientras ( la instrucción while ) En lenguaje C, para escribir una instrucción repetitiva mientras se utiliza la sintaxis:    while ( <expresión_lógica> )    {       <bloque_de_instrucciones>    }   Cuando el <bloque_de_instrucciones> sólo contiene una instrucción, los caracteres abrir llave ( { ) y cerrar llave ( } ) son opcionales. Por otra parte, al igual que en las instrucciones alternativas doble y simple, a la <expresión_lógica> de una instrucción repetitiva  while , también se le llama condición . Para que se ejecute el <bloque_de_instrucciones>, la condición tiene que ser verdadera . Por el contrario, si la condición es falsa , el <bloque_de_instrucciones> no se ejecuta.
  28. 28. Por tanto, cuando el flujo de un programa llega a un bucle   while , existen dos posibilidades: 1.Si la condición se evalúa a falsa , el bloque de instrucciones no se ejecuta, y el bucle  while finaliza sin realizar ninguna iteración . 2.Si la condición se evalúa a verdadera , el bloque de instrucciones sí que se ejecuta y, después, se vuelve a evaluar la condición, para decidir, de nuevo, si el bloque de instrucciones se vuelve a ejecutar o no. Y así sucesivamente, hasta que, la condición sea falsa .
  29. 29. Ejemplo 1: Se quiere escribir un programa que muestre por pantalla los primeros diez números naturales: <ul><li>#include <stdio.h> int main() {    int contador;    printf( &quot;   &quot; );    contador = 1; /* Inicialización del contador */    while ( contador <= 10 )        /* Condición */    {       printf( &quot;%d &quot;, contador );   /* Salida */       contador++;    /* Incremento del contador */    }    return 0; } </li></ul>
  30. 30. <ul><li>Ejercicio 1 - Media aritmética (Alternativa simple -if- Lenguaje C) Escribir un programa (en lenguaje C) que: 1º) Pida por teclado dos números (datos enteros). 2º) Muestre por pantalla la media artimética de los números introducidos, pero, sólo en el caso de que ambos números sean mayores que cero. </li></ul><ul><li>En pantalla: Introduzca primer número (entero): 7 Introduzca segundo número (entero): 10 8.5   Introduzca primer número (entero): 6 Introduzca segundo número (entero): -2   </li></ul>
  31. 31. <ul><li>Ejercicio 2 - Cambio de signo (Alternativa simple - Lenguaje C) Escribir un programa (en lenguaje C) que: 1º) Pida por teclado un número (dato real). 2º) Muestre por pantalla el número introducido, pero, cambiado de signo y, sólo en el caso de que el número no sea mayor o igual que cero. </li></ul><ul><li>En pantalla: Introduzca número (real): -9.6 9.6 </li></ul>
  32. 32. <ul><li>Ejercicio 1 - Suma de dos números (Alternativa doble-if else - Lenguaje C) Escribir un programa (en lenguaje C) que: 1º) Pida por teclado dos números (datos enteros). 2º) Calcule la suma de los números introducidos por el usuario. 3º) Muestre por pantalla: &quot;LA SUMA SÍ ES MAYOR QUE CERO.&quot;, en el caso de que sí lo sea. </li></ul><ul><li>&quot;LA SUMA NO ES MAYOR QUE CERO.&quot;, en el caso de que no lo sea. </li></ul><ul><li>En pantalla: Introduzca primer número (entero): 14 Introduzca segundo número (entero): -17 LA SUMA NO ES MAYOR QUE CERO. </li></ul>
  33. 33. 1.-CALCULE EL FACTORIAL DE UN NUMEROS UTILIZANDO LA SENTENCIA O CICLO DE ITERACIÓN: WHILE 2.- Determinar de un grupo de personas cuales son de sexo femenino y cuales de sexo masculino

Notas del editor

  • Notas del Instructor Explicar para que puede servir una función de libreria y en forma muy general definir que son librerías.
  • Notas del Instructor Mencionar la importancia de manipular y configurar la salida y entrada estándar por medio de código en Lenguaje C usando funciones de librería.
  • Notas del instructor Mencionar a los estudiantes los siguientes comentarios: A)En la línea 9 se verifica si ambas variables contienen el mismo valor. B)En la línea 11 se verifica si el valor del num1 es mayor que el num2. C)En la línea 13 se verifica si el valor del num1 es menor que el num2. En la guía num1 y num2 son ‘x’ y ‘y’ respectivamente. Importante: Informar a la audiencia que la lectura de variables que se realiza en la línea 5 obliga a separar los enteros capturados con un espacio en blanco.
  • Notas del Instructor Para resolver el ejercicio no se considera el uso de una tercera variable. Mencionarle a los estudiantes los siguientes comentarios: A)En la línea 6 se verifica si el num1 es igual que num2. B)En la línea 7, cuando num1 y num2 son iguales se verifica si num1 es igual a num3. C)En la línea 9 se verifica que num1 es mayor que num2. D)En la línea 10, cuando num1 es mayor que num2, se verifica si el num1 es mayor que el num3, sabiendo así, que el máximo valor en ese caso es num1. E)En la línea 12, si la condición de la línea 10 no se cumple la variable num3 tiene el máximo valor. F)En la línea 14, si la condición en la línea 6 y 9 no se cumplen se verifica si num2 es mayor que num3, así num2 sería el máximo valor. G)En la línea 16, si la condición es cierta num3 sería el máximo valor. La lámina actual constan de colores que permiten distinguir la anidación de los if según los diferentes casos.
  • Notas del Instructor Mencionar la utilidad práctica de los operadores lógicos en una aplicación hecha en Lenguaje C (Ejemplos reales).
  • Notas del Instructor Mencionar que los diagramas de flujo no son usados en la actualidad con frecuencia, sin embargo permiten describir como funciona esta instrucción iterativa.

×