Introducción a la programación en C Curso 2007 / 2008
[datos::información] <ul><li>DATOS  INFORMACIÓN </li></ul>
[ algoritmos ]  <ul><li>Sucesión ordenada de instrucciones para resolver un problema en un numero finito de pasos </li></ul>
[Ejercicio de algoritmos] <ul><li>EJERCICIO:  Elaborar un algoritmo para freír una tortilla francesa. </li></ul><ul><li>Pr...
[Lenguajes de programación] <ul><li>La programación es la rama de la informática que permite crear programas propios para ...
[ compiladores ]  <ul><li>Un compilador cambia el  lenguaje de alto nivel  con el que escribimos a  lenguaje máquina  de b...
[ lenguajes de programación ]  <ul><li>Veremos el lenguaje  C </li></ul><ul><li>Otros lenguajes </li></ul><ul><ul><li>C++ ...
[ lenguajes de programación ]  <ul><li>NO hay un lenguaje mejor que otro: cada uno tiene su finalidad </li></ul><ul><ul><l...
[ datos :: variables ]  <ul><li>Es un recipiente para los valores de los datos </li></ul><ul><ul><li>Donde los valores de ...
[ datos :: variables ]  <ul><li>Nombre (identificador) </li></ul><ul><ul><li>Deben comenzar por </li></ul></ul><ul><ul><ul...
[ datos :: constantes ] <ul><li>Dato ligado a un valor que no va a variar </li></ul>π  = 3.141592 meses del año = 12 rueda...
[ datos :: tipos ] <ul><li>Los tipos elementales en C son: </li></ul><ul><ul><li>Entero (int) </li></ul></ul><ul><ul><li>R...
[ datos :: tipos ] <ul><li>Tipos derivados de los elementales </li></ul><ul><ul><li>Cadena de caracteres (char[ tamaño ]) ...
[ expresiones :: aritméticas ] <ul><li>Los operadores aritméticos en C son: </li></ul><ul><ul><li>Suma (+) </li></ul></ul>...
[ expresiones :: aritméticas ] <ul><li>División entera vs. división real </li></ul><ul><ul><li>Depende de los operandos </...
[ expresiones :: asignación ]  <ul><li>El operador de asignación en C es el igual (=) </li></ul><ul><ul><li>a = 3 </li></u...
[ expresiones :: relación ]  <ul><li>Los operadores de relación en C son: </li></ul><ul><ul><li>Igual (==) </li></ul></ul>...
[ expresiones :: lógicas ] <ul><li>Los operadores lógicos en C son: </li></ul><ul><ul><li>Y (&&) </li></ul></ul><ul><ul><u...
[ características de C ] <ul><li>Sentencias </li></ul><ul><ul><li>Terminan en punto y coma  ......; </li></ul></ul><ul><ul...
[ características de C :: declaraciones ] <ul><li>Las variables se deben declarar una vez, indicando de qué tipo son </li>...
[ características de C :: declaraciones ] <ul><li>Sensible a mayúsculas y minúsculas </li></ul><ul><li>int nota; </li></ul...
[ características de C :: declaraciones ] <ul><li>Para declarar las cadenas de caracteres debemos especificar el tamaño en...
[ características de C :: declaraciones ] <ul><li>La asignación de cadenas usando el operador (=) solo es posible en la de...
[ características de C :: constantes ] <ul><li>Constantes </li></ul><ul><ul><li>#define  [constante] [valor] </li></ul></u...
[ función main ] <ul><li>Todo programa en C tiene que tener su función principal main </li></ul><ul><ul><li>int main( ){ <...
[ nuestro patrón ] <ul><li>Esta será nuestra plantilla a utilizar: </li></ul><ul><ul><ul><li>#include <stdio.h> </li></ul>...
[ ejercicios ] <ul><li>Busca los errores en este programa:  </li></ul><ul><li>int main() {  </li></ul><ul><li>/* Aquí va e...
[ejercicios] <ul><li>Indica que nombres de variables son correctos: </li></ul><ul><li>camiones </li></ul><ul><li>1abc  </l...
[ejercicios] <ul><li>Busca los errores: </li></ul>
DEV C++ Curso 2007 / 2008
[ presentación ] <ul><li>DEV C++ es un entorno muy sencillo de programación para C y C++ </li></ul>
[ crear nuevo programa ] <ul><li>Hacemos click en el icono de “código fuente” </li></ul><ul><li>Aparecerá una ventana nuev...
[ crear nuevo programa ] <ul><li>Copiamos nuestra plantilla vista  anteriormente </li></ul><ul><li>Pinchamos en el icono d...
[ crear nuevo programa ] <ul><li>Seleccionamos el destino y ya tenemos guardada la plantilla que usaremos durante este tem...
[ compilar programa ] <ul><li>Hacemos click en el icono de compilar y con esto: </li></ul><ul><ul><li>Comprobaremos que nu...
[ compilar programa ] <ul><li>Al hacer click en compilar aparece una ventana que nos informa si todo ha ido bien o hay err...
[ compilar programa ] <ul><li>Si se ha compilado sin errores, veremos que en la carpeta donde teníamos el archivo fuente a...
[ ejecutar programa ] <ul><li>Para ejecutar nuestra creación podemos hacerlo de dos maneras </li></ul><ul><ul><li>Desde de...
Entrada y salida básica Curso 2007 / 2008
[ E/S :: introducción ] <ul><li>En este bloque vamos a ver: </li></ul><ul><ul><li>Cómo escribir en pantalla (salida) </li>...
[ salida :: printf( ) ] <ul><li>El formato de  printf() es: </li></ul><ul><ul><li>printf( format ,  exp 1 ,  exp 2 ,...,  ...
[ salida :: printf( ) ] <ul><li>Ejemplo: insertar este código en nuestra plantilla </li></ul><ul><li>int edad = 18; </li><...
[ salida :: printf( ) ] <ul><li>Podemos incluir en cada printf( ) los argumentos que queramos: </li></ul><ul><li>printf(“T...
[ salida :: printf( ) :: formatos ] <ul><li>Estos son los formatos básicos que utilizaremos </li></ul><ul><ul><li>%d (ente...
[ salida :: printf( ) :: formatos ] <ul><li>Caracteres especiales </li></ul><ul><ul><li>Se colocan en el texto, como un ca...
[ entrada :: scanf( ) ] <ul><li>El formato de  scanf() es: </li></ul><ul><ul><li>scanf( format ,  exp 1 ,  exp 2 ,...,  ex...
[ entrada :: scanf( ) ] <ul><li>Ejemplo: insertar este código en nuestra plantilla </li></ul><ul><li>int edad; </li></ul><...
[ entrada :: getch( ) y getche() ] <ul><li>Si lo que queremos es que el usuario introduzca un carácter por el teclado usam...
[ entrada :: getch( ) y getche() ]
[ entrada :: getch( ) y getche() ]
[Ejercicios] <ul><li>Busca el error: </li></ul>
[ejercicios] <ul><li>Busca los errores: </li></ul>
[ejercicios] <ul><li>Copia el siguiente programa e investiga para qué sirve: </li></ul>
[notas importantes] <ul><li>Observa este ejemplo: </li></ul>
[notas importantes] <ul><li>Observa este ejemplo: </li></ul>
[notas importantes] <ul><li>Observa este ejemplo: </li></ul>
[notas importantes] <ul><li>Observa este ejemplo: </li></ul>
[notas importantes] <ul><li>¿Cuál será el resultado de este programa? </li></ul>
Sentencias de control Curso 2007 / 2008
[ secuencia ] <ul><li>Nuestro programa se ejecuta secuencialmente </li></ul><ul><ul><li>De principio a fin, siguiendo un ú...
[ selección ] <ul><li>Permite tomar decisiones entre distintas acciones alternativas en función de una condición </li></ul...
[ selección :: if-else ] <ul><li>Usaremos la sentencia  if-else </li></ul><ul><ul><li>if( condición ){ </li></ul></ul><ul>...
[ selección :: if-else ] <ul><li>Ejemplo </li></ul><ul><ul><li>Si el día de nacimiento es menor de 10, imprimir por pantal...
[ repetición ] <ul><li>Permite repetir una instrucción en función de una condición </li></ul><ul><li>Nos facilita no tener...
[ repetición :: while ] <ul><li>La condición se evalúa antes de la ejecución del bloque de sentencias </li></ul><ul><ul><l...
[ repetición :: while ] <ul><li>Ejemplo </li></ul><ul><ul><li>Imprimir 5 mensajes de “hola!” </li></ul></ul><ul><ul><li>in...
[ repetición :: do ] <ul><li>La condición se evalúa al final de la ejecución del bloque de sentencias (al menos se itera u...
[ repetición :: do ] <ul><li>Ejemplo </li></ul><ul><ul><li>Imprimir 5 mensajes de “hola!” </li></ul></ul><ul><ul><li>int c...
[ repetición :: for ] <ul><li>La condición se evalúa antes de la ejecución del  </li></ul><ul><li>bloque de sentencias y s...
[ repetición :: for ] <ul><li>Ejemplo </li></ul><ul><ul><li>Imprimir 5 mensajes de “hola!” </li></ul></ul><ul><ul><li>int ...
Cadenas de Caracteres Curso 2007 / 2008
Upcoming SlideShare
Loading in...5
×

Introduccion Lenguaje C Blanca

6,242

Published on

Introducción a la programación en C

Published in: Technology
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,242
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide

Introduccion Lenguaje C Blanca

  1. 1. Introducción a la programación en C Curso 2007 / 2008
  2. 2. [datos::información] <ul><li>DATOS INFORMACIÓN </li></ul>
  3. 3. [ algoritmos ] <ul><li>Sucesión ordenada de instrucciones para resolver un problema en un numero finito de pasos </li></ul>
  4. 4. [Ejercicio de algoritmos] <ul><li>EJERCICIO: Elaborar un algoritmo para freír una tortilla francesa. </li></ul><ul><li>Preparar los ingredientes y el instrumental </li></ul><ul><li>Cascar los huevos en un plato </li></ul><ul><li>Añadir la sal y el perejil </li></ul><ul><li>Batirlos </li></ul><ul><li>Echar aceite de oliva en la sartén </li></ul><ul><li>Encender el fuego </li></ul><ul><li>Verter la mezcla </li></ul><ul><li>Esperamos unos segundos hasta que cuaje </li></ul><ul><li>Le damos la vuelta </li></ul><ul><li>Doblamos la tortilla </li></ul><ul><li>Esperamos que esté bien hecha </li></ul><ul><li>Emplatar </li></ul>
  5. 5. [Lenguajes de programación] <ul><li>La programación es la rama de la informática que permite crear programas propios para resolver distintos problemas. </li></ul><ul><li>La herramienta que utiliza para crear programas son los lenguajes de programación. </li></ul><ul><li>Clasificación : </li></ul><ul><ul><li>Lenguajes de bajo nivel : lenguaje máquina y el lenguaje ensamblador (utilizaba instrucciones de 3 caracteres, necesita un compilador) </li></ul></ul><ul><ul><li>Lenguajes de alto nivel : lenguajes que utilizan instrucciones parecidas al lenguaje humano de forma que los programas se pueden escribir fácilmente. C </li></ul></ul><ul><ul><li>Lenguajes de 4ª generación: Son posteriores a los lenguajes de alto nivel. Son lenguajes especializados para crear aplicaciones concretas. SQL </li></ul></ul><ul><ul><li>Lenguajes orientados a objetos: En estos lenguajes se trabaja con objetos (Visual Basic: Una ventana será un objeto). A los objetos se les podrá cambiar sus características y su comportamiento. Visual Basic </li></ul></ul>
  6. 6. [ compiladores ] <ul><li>Un compilador cambia el lenguaje de alto nivel con el que escribimos a lenguaje máquina de bajo nivel que el ordenador entiende </li></ul><ul><ul><li>No saben cual sería la corrección adecuada </li></ul></ul><ul><ul><li>Sí saben cuando algo está mal en la sintaxis </li></ul></ul>
  7. 7. [ lenguajes de programación ] <ul><li>Veremos el lenguaje C </li></ul><ul><li>Otros lenguajes </li></ul><ul><ul><li>C++ </li></ul></ul><ul><ul><li>Visual Basic </li></ul></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>C# </li></ul></ul><ul><ul><li>Ensamblador </li></ul></ul><ul><ul><li>... </li></ul></ul>
  8. 8. [ lenguajes de programación ] <ul><li>NO hay un lenguaje mejor que otro: cada uno tiene su finalidad </li></ul><ul><ul><li>Velocidad de desarrollo </li></ul></ul><ul><ul><li>Velocidad de ejecución </li></ul></ul><ul><ul><li>Portabilidad </li></ul></ul><ul><ul><li>Sistemas de pocos recursos </li></ul></ul><ul><ul><li>... </li></ul></ul>
  9. 9. [ datos :: variables ] <ul><li>Es un recipiente para los valores de los datos </li></ul><ul><ul><li>Donde los valores de los datos son almacenados y más tarde recuperados </li></ul></ul>
  10. 10. [ datos :: variables ] <ul><li>Nombre (identificador) </li></ul><ul><ul><li>Deben comenzar por </li></ul></ul><ul><ul><ul><li>Carácter alfabético </li></ul></ul></ul><ul><ul><ul><li>Símbolo de subrayado </li></ul></ul></ul><ul><ul><li>Pueden contener </li></ul></ul><ul><ul><ul><li>Caracteres alfabéticos </li></ul></ul></ul><ul><ul><ul><li>Dígitos </li></ul></ul></ul><ul><ul><ul><li>Símbolo de subrayado </li></ul></ul></ul><ul><li>Tipo </li></ul><ul><ul><li>Valores que puede contener </li></ul></ul><ul><li>Valor </li></ul><ul><ul><li>Información que almacena </li></ul></ul>
  11. 11. [ datos :: constantes ] <ul><li>Dato ligado a un valor que no va a variar </li></ul>π = 3.141592 meses del año = 12 ruedas de una bici = 2
  12. 12. [ datos :: tipos ] <ul><li>Los tipos elementales en C son: </li></ul><ul><ul><li>Entero (int) </li></ul></ul><ul><ul><li>Real (float) </li></ul></ul><ul><ul><li>Carácter (char) </li></ul></ul>3 74 10765432 0.5 6.98 106546.9879 a G $ 6
  13. 13. [ datos :: tipos ] <ul><li>Tipos derivados de los elementales </li></ul><ul><ul><li>Cadena de caracteres (char[ tamaño ]) </li></ul></ul>hola me llamo Paco 91 897 28 29
  14. 14. [ expresiones :: aritméticas ] <ul><li>Los operadores aritméticos en C son: </li></ul><ul><ul><li>Suma (+) </li></ul></ul><ul><ul><li>Resta (-) </li></ul></ul><ul><ul><li>Multiplicación (*) </li></ul></ul><ul><ul><li>División (/) </li></ul></ul><ul><ul><li>Resto (%) </li></ul></ul>
  15. 15. [ expresiones :: aritméticas ] <ul><li>División entera vs. división real </li></ul><ul><ul><li>Depende de los operandos </li></ul></ul><ul><ul><ul><li>4 / 3 --> 1 (entero) </li></ul></ul></ul><ul><ul><ul><li>4.0 / 3 --> 1.333 (real) </li></ul></ul></ul><ul><ul><ul><li>4 / 3.0 --> 1.333 (real) </li></ul></ul></ul><ul><ul><ul><li>4.0 / 3.0 --> 1.333 (real) </li></ul></ul></ul><ul><ul><li>4 / 2 </li></ul></ul><ul><ul><li>4.0 / 2 </li></ul></ul><ul><ul><li>4 / 2.0 </li></ul></ul><ul><ul><li>--> 2 (entero) </li></ul></ul><ul><ul><li>--> 2.0 (real) </li></ul></ul><ul><ul><li>--> 2.0 (real) </li></ul></ul>
  16. 16. [ expresiones :: asignación ] <ul><li>El operador de asignación en C es el igual (=) </li></ul><ul><ul><li>a = 3 </li></ul></ul><ul><ul><li>b = 4 + a </li></ul></ul>
  17. 17. [ expresiones :: relación ] <ul><li>Los operadores de relación en C son: </li></ul><ul><ul><li>Igual (==) </li></ul></ul><ul><ul><li>Distinto (!=) </li></ul></ul><ul><ul><li>Mayor (>) </li></ul></ul><ul><ul><li>Mayor o igual (>=) </li></ul></ul><ul><ul><li>Menor (<) </li></ul></ul><ul><ul><li>Menor o igual (<=) </li></ul></ul>5 == 3 Falso 5 != 3 Verdadero 5 > 3 5 >= 3 Verdadero 5 < 3 5 <= 3 Falso
  18. 18. [ expresiones :: lógicas ] <ul><li>Los operadores lógicos en C son: </li></ul><ul><ul><li>Y (&&) </li></ul></ul><ul><ul><ul><li>Todo se debe cumplir </li></ul></ul></ul><ul><ul><li>O (||) </li></ul></ul><ul><ul><ul><li>Alguna parte se debe cumplir </li></ul></ul></ul><ul><ul><li>NO (!) </li></ul></ul><ul><ul><ul><li>Niega el valor </li></ul></ul></ul>(5 > 3) && (4 > 0) && (2 > 3) Falso (5 > 3) || (4 > 0) || (2 > 3) Verdadero !(1 > 7) Verdadero
  19. 19. [ características de C ] <ul><li>Sentencias </li></ul><ul><ul><li>Terminan en punto y coma ......; </li></ul></ul><ul><ul><ul><li>a = 2 + 2; </li></ul></ul></ul><ul><li>Bloques de sentencias </li></ul><ul><ul><li>Entre llaves { ... } </li></ul></ul><ul><li>Comentarios </li></ul><ul><ul><li>Una línea // ....... </li></ul></ul><ul><ul><li>Varias líneas /* ....... */ </li></ul></ul>
  20. 20. [ características de C :: declaraciones ] <ul><li>Las variables se deben declarar una vez, indicando de qué tipo son </li></ul><ul><li>int a; </li></ul><ul><li>a = 2 + 2; </li></ul><ul><ul><li>Declaración simple </li></ul></ul><ul><ul><ul><li>int edad; </li></ul></ul></ul><ul><ul><li>Declaración múltiple </li></ul></ul><ul><ul><ul><li>int edad, nota, suspensos; </li></ul></ul></ul><ul><ul><li>Declaración + asignación </li></ul></ul><ul><ul><ul><li>int nota = 5; </li></ul></ul></ul>
  21. 21. [ características de C :: declaraciones ] <ul><li>Sensible a mayúsculas y minúsculas </li></ul><ul><li>int nota; </li></ul><ul><li>int Nota; </li></ul><ul><li>int NoTa; </li></ul><ul><li>int NoTA; </li></ul><ul><li>Palabras reservadas </li></ul><ul><ul><li>Algunas palabras no se pueden usar como variables </li></ul></ul><ul><ul><ul><li>while, if, do, for, int, float, char, ... </li></ul></ul></ul>
  22. 22. [ características de C :: declaraciones ] <ul><li>Para declarar las cadenas de caracteres debemos especificar el tamaño entre corchetes </li></ul><ul><ul><li>Tendremos disponible n-1 huecos para rellenarlos con caracteres </li></ul></ul><ul><li>char nombre[15]; </li></ul><ul><li>char direccion[30]; </li></ul>
  23. 23. [ características de C :: declaraciones ] <ul><li>La asignación de cadenas usando el operador (=) solo es posible en la declaración </li></ul><ul><li>char nombre[50] = “Paco”; </li></ul><ul><li>Correcto </li></ul><ul><li>nombre = “Manolo”; </li></ul><ul><li>Error!! </li></ul><ul><li>Ya veremos más adelante como cambiar el contenido de las cadenas </li></ul>
  24. 24. [ características de C :: constantes ] <ul><li>Constantes </li></ul><ul><ul><li>#define [constante] [valor] </li></ul></ul><ul><ul><li>Enteros </li></ul></ul><ul><ul><ul><li>#define MESES 12 </li></ul></ul></ul><ul><ul><li>Reales </li></ul></ul><ul><ul><ul><li>#define PI 3.1416 </li></ul></ul></ul><ul><ul><li>Caracteres </li></ul></ul><ul><ul><ul><li>#define LETRA ‘a’ </li></ul></ul></ul><ul><ul><li>Cadenas </li></ul></ul><ul><ul><ul><li>#define DNI “21456283” </li></ul></ul></ul>
  25. 25. [ función main ] <ul><li>Todo programa en C tiene que tener su función principal main </li></ul><ul><ul><li>int main( ){ </li></ul></ul><ul><ul><li>... </li></ul></ul><ul><ul><li>return 0; </li></ul></ul><ul><ul><li>} </li></ul></ul>
  26. 26. [ nuestro patrón ] <ul><li>Esta será nuestra plantilla a utilizar: </li></ul><ul><ul><ul><li>#include <stdio.h> </li></ul></ul></ul><ul><ul><ul><li>#include <stdlib.h> </li></ul></ul></ul><ul><ul><ul><li>... </li></ul></ul></ul><ul><ul><ul><li>int main(){ </li></ul></ul></ul><ul><ul><ul><li>... </li></ul></ul></ul><ul><ul><ul><li>system(&quot;pause&quot;); </li></ul></ul></ul><ul><ul><ul><li>return(0); </li></ul></ul></ul><ul><ul><ul><li>} </li></ul></ul></ul>
  27. 27. [ ejercicios ] <ul><li>Busca los errores en este programa: </li></ul><ul><li>int main() { </li></ul><ul><li>/* Aquí va el cuerpo del programa */ </li></ul><ul><li>Printf( &quot;Hola mundo &quot; ); </li></ul><ul><li>return 0; </li></ul><ul><li>} </li></ul>
  28. 28. [ejercicios] <ul><li>Indica que nombres de variables son correctos: </li></ul><ul><li>camiones </li></ul><ul><li>1abc </li></ul><ul><li>nombre? </li></ul><ul><li>num/alumnos </li></ul><ul><li>numero </li></ul><ul><li>buffer </li></ul><ul><li>a1 </li></ul><ul><li>j10hola29 </li></ul><ul><li>num_alumnos </li></ul>
  29. 29. [ejercicios] <ul><li>Busca los errores: </li></ul>
  30. 30. DEV C++ Curso 2007 / 2008
  31. 31. [ presentación ] <ul><li>DEV C++ es un entorno muy sencillo de programación para C y C++ </li></ul>
  32. 32. [ crear nuevo programa ] <ul><li>Hacemos click en el icono de “código fuente” </li></ul><ul><li>Aparecerá una ventana nueva donde podremos escribir nuestro programa </li></ul>
  33. 33. [ crear nuevo programa ] <ul><li>Copiamos nuestra plantilla vista anteriormente </li></ul><ul><li>Pinchamos en el icono de guardar </li></ul><ul><li>Le damos el nombre de “ plantilla ” y en el tipo marcamos “ C source files (*.c) ” </li></ul>
  34. 34. [ crear nuevo programa ] <ul><li>Seleccionamos el destino y ya tenemos guardada la plantilla que usaremos durante este tema en el disco duro </li></ul>
  35. 35. [ compilar programa ] <ul><li>Hacemos click en el icono de compilar y con esto: </li></ul><ul><ul><li>Comprobaremos que nuestro programa no tiene errores </li></ul></ul><ul><ul><li>Generaremos nuestro ejecutable: plantilla.exe </li></ul></ul>
  36. 36. [ compilar programa ] <ul><li>Al hacer click en compilar aparece una ventana que nos informa si todo ha ido bien o hay errores </li></ul><ul><li>Si aparece esta ventana es que todo ha ido bien </li></ul><ul><li>Si hay errores, nos indicará la línea donde ha dado error </li></ul>
  37. 37. [ compilar programa ] <ul><li>Si se ha compilado sin errores, veremos que en la carpeta donde teníamos el archivo fuente aparecerá un nuevo fichero ejecutable llamado “ plantilla.exe ” </li></ul>
  38. 38. [ ejecutar programa ] <ul><li>Para ejecutar nuestra creación podemos hacerlo de dos maneras </li></ul><ul><ul><li>Desde dentro de DEV C++ </li></ul></ul><ul><ul><li>Ejecutando el archivo .exe </li></ul></ul>
  39. 39. Entrada y salida básica Curso 2007 / 2008
  40. 40. [ E/S :: introducción ] <ul><li>En este bloque vamos a ver: </li></ul><ul><ul><li>Cómo escribir en pantalla (salida) </li></ul></ul><ul><ul><li>Cómo leer datos que introduce el usuario (entrada) </li></ul></ul><ul><li>Para ello usaremos dos funciones: </li></ul><ul><ul><li>Salida: printf() </li></ul></ul><ul><ul><li>Entrada: scanf() </li></ul></ul>
  41. 41. [ salida :: printf( ) ] <ul><li>El formato de printf() es: </li></ul><ul><ul><li>printf( format , exp 1 , exp 2 ,..., exp n ); </li></ul></ul><ul><ul><li>format : Es el texto formateado que queremos </li></ul></ul><ul><ul><li>muestre por pantalla </li></ul></ul><ul><ul><li>exp i : Es la expresión a incluir dentro del formato </li></ul></ul>
  42. 42. [ salida :: printf( ) ] <ul><li>Ejemplo: insertar este código en nuestra plantilla </li></ul><ul><li>int edad = 18; </li></ul><ul><li>float ahorros = 23.50; </li></ul><ul><li>printf(“Hey, hola! ”); </li></ul><ul><li>printf(“Tengo ya los %d ”, edad); </li></ul><ul><li>printf(“y %f euros en el banco”, ahorros); </li></ul>
  43. 43. [ salida :: printf( ) ] <ul><li>Podemos incluir en cada printf( ) los argumentos que queramos: </li></ul><ul><li>printf(“Tengo ya los %d y %f euros en el banco”, edad, ahorros); </li></ul>
  44. 44. [ salida :: printf( ) :: formatos ] <ul><li>Estos son los formatos básicos que utilizaremos </li></ul><ul><ul><li>%d (entero) </li></ul></ul><ul><ul><li>%f (real) </li></ul></ul><ul><ul><li>%c (carácter) </li></ul></ul><ul><ul><li>%s (cadena de caracteres) </li></ul></ul><ul><li>Para controlar la precisión de los decimales: </li></ul><ul><ul><li>%.1f (muestra 1 decimal) </li></ul></ul><ul><ul><li>%.2f (muestra 2 decimales) </li></ul></ul><ul><ul><li>%.3f (muestra 3 decimales) </li></ul></ul><ul><ul><li>... </li></ul></ul>
  45. 45. [ salida :: printf( ) :: formatos ] <ul><li>Caracteres especiales </li></ul><ul><ul><li>Se colocan en el texto, como un carácter más </li></ul></ul><ul><ul><ul><li> (retorno de carro) </li></ul></ul></ul><ul><ul><ul><li> (tabulación) </li></ul></ul></ul><ul><ul><ul><li> (escribir la barra invertida) </li></ul></ul></ul><ul><ul><ul><li>” (escribir las comillas) </li></ul></ul></ul>
  46. 46. [ entrada :: scanf( ) ] <ul><li>El formato de scanf() es: </li></ul><ul><ul><li>scanf( format , exp 1 , exp 2 ,..., exp n ); </li></ul></ul><ul><ul><li>format : En formato se especifica qué tipo de datos se quieren leer </li></ul></ul><ul><ul><li>exp i : Es la expresión a incluir dentro del formato </li></ul></ul>
  47. 47. [ entrada :: scanf( ) ] <ul><li>Ejemplo: insertar este código en nuestra plantilla </li></ul><ul><li>int edad; </li></ul><ul><li>float ahorros; </li></ul><ul><li>printf(“introduce la edad: ”); </li></ul><ul><li>scanf(“%d”, &edad); </li></ul><ul><li>printf(“introduce los ahorros: ”); </li></ul><ul><li>scanf(“%f”, &ahorros); </li></ul><ul><li>printf(“edad = %d ahorros = %f ”, edad, ahorros); </li></ul>
  48. 48. [ entrada :: getch( ) y getche() ] <ul><li>Si lo que queremos es que el usuario introduzca un carácter por el teclado usamos las funciones getch y getche. Estas esperan a que el usuario introduzca un carácter por el teclado. La diferencia entre getche y getch es que la primera saca por pantalla la tecla que hemos pulsado y la segunda no. </li></ul>
  49. 49. [ entrada :: getch( ) y getche() ]
  50. 50. [ entrada :: getch( ) y getche() ]
  51. 51. [Ejercicios] <ul><li>Busca el error: </li></ul>
  52. 52. [ejercicios] <ul><li>Busca los errores: </li></ul>
  53. 53. [ejercicios] <ul><li>Copia el siguiente programa e investiga para qué sirve: </li></ul>
  54. 54. [notas importantes] <ul><li>Observa este ejemplo: </li></ul>
  55. 55. [notas importantes] <ul><li>Observa este ejemplo: </li></ul>
  56. 56. [notas importantes] <ul><li>Observa este ejemplo: </li></ul>
  57. 57. [notas importantes] <ul><li>Observa este ejemplo: </li></ul>
  58. 58. [notas importantes] <ul><li>¿Cuál será el resultado de este programa? </li></ul>
  59. 59. Sentencias de control Curso 2007 / 2008
  60. 60. [ secuencia ] <ul><li>Nuestro programa se ejecuta secuencialmente </li></ul><ul><ul><li>De principio a fin, siguiendo un único camino </li></ul></ul><ul><ul><li>Una instrucción detrás de otra </li></ul></ul><ul><li>Con las sentencias de control podremos: </li></ul><ul><ul><li>Poner condiciones (seguir un camino u otro) </li></ul></ul><ul><ul><li>Realizar repeticiones (volver a repetir un camino) </li></ul></ul>... Inicio fin instrucción 1 instrucción 2 instrucción n
  61. 61. [ selección ] <ul><li>Permite tomar decisiones entre distintas acciones alternativas en función de una condición </li></ul><ul><ul><li>Las condiciones se especifican con expresiones lógicas </li></ul></ul>
  62. 62. [ selección :: if-else ] <ul><li>Usaremos la sentencia if-else </li></ul><ul><ul><li>if( condición ){ </li></ul></ul><ul><ul><li>//camino 1 </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>else{ </li></ul></ul><ul><ul><li>//camino 2 </li></ul></ul><ul><ul><li>} </li></ul></ul>
  63. 63. [ selección :: if-else ] <ul><li>Ejemplo </li></ul><ul><ul><li>Si el día de nacimiento es menor de 10, imprimir por pantalla “es al principio” </li></ul></ul><ul><ul><li>Si no, imprimir por pantalla “no es al principio” </li></ul></ul><ul><ul><li>int dia_nac = 7; </li></ul></ul><ul><ul><li>if(dia_nac < 10){ </li></ul></ul><ul><ul><li>printf(“es al principio”); </li></ul></ul><ul><ul><li>} </li></ul></ul><ul><ul><li>else{ </li></ul></ul><ul><ul><li>printf(“no es al principio”); </li></ul></ul><ul><ul><li>} </li></ul></ul>
  64. 64. [ repetición ] <ul><li>Permite repetir una instrucción en función de una condición </li></ul><ul><li>Nos facilita no tener que escribir el código manualmente de algo repetitivo </li></ul><ul><li>Se permanece en un bucle mientras el valor de la condición es verdadera </li></ul><ul><li>Tipos </li></ul><ul><ul><li>Con condición inicial (while) </li></ul></ul><ul><ul><li>Con condición final (do) </li></ul></ul><ul><ul><li>Controlada por contador (for) </li></ul></ul>
  65. 65. [ repetición :: while ] <ul><li>La condición se evalúa antes de la ejecución del bloque de sentencias </li></ul><ul><ul><li>while( condición ){ </li></ul></ul><ul><ul><li>//sentencias </li></ul></ul><ul><ul><li>} </li></ul></ul>
  66. 66. [ repetición :: while ] <ul><li>Ejemplo </li></ul><ul><ul><li>Imprimir 5 mensajes de “hola!” </li></ul></ul><ul><ul><li>int contador = 0; </li></ul></ul><ul><ul><li>while(contador < 5){ </li></ul></ul><ul><ul><li>printf(“hola! ”); </li></ul></ul><ul><ul><li>contador = contador + 1; </li></ul></ul><ul><ul><li>} </li></ul></ul>printf(“hola! ”); printf(“hola! ”); printf(“hola! ”); printf(“hola! ”); printf(“hola! ”);
  67. 67. [ repetición :: do ] <ul><li>La condición se evalúa al final de la ejecución del bloque de sentencias (al menos se itera una vez) </li></ul><ul><li>do{ </li></ul><ul><li>//sentencias </li></ul><ul><li>} while ( condición ); </li></ul>
  68. 68. [ repetición :: do ] <ul><li>Ejemplo </li></ul><ul><ul><li>Imprimir 5 mensajes de “hola!” </li></ul></ul><ul><ul><li>int contador = 0; </li></ul></ul><ul><ul><li>do{ </li></ul></ul><ul><ul><li>printf(“hola! ”); </li></ul></ul><ul><ul><li>contador = contador + 1; </li></ul></ul><ul><ul><li>}while(contador < 5); </li></ul></ul>
  69. 69. [ repetición :: for ] <ul><li>La condición se evalúa antes de la ejecución del </li></ul><ul><li>bloque de sentencias y se autoincrementa el </li></ul><ul><li>contador </li></ul><ul><li>for( valor inicial; condicion; incremento ){ </li></ul><ul><ul><li>// sentencias </li></ul></ul><ul><li>} </li></ul>
  70. 70. [ repetición :: for ] <ul><li>Ejemplo </li></ul><ul><ul><li>Imprimir 5 mensajes de “hola!” </li></ul></ul><ul><ul><li>int cont; </li></ul></ul><ul><ul><li>for(cont = 0; cont < 5; cont = cont+1){ </li></ul></ul><ul><ul><li>printf(“hola! ”); </li></ul></ul><ul><ul><li>} </li></ul></ul>
  71. 71. Cadenas de Caracteres Curso 2007 / 2008

×