La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso de Programación I Parte IV Ing. Jorge Traveria Lic. Cristian Kenny UTN San Martín de los Andes.

Presentaciones similares


Presentación del tema: "Curso de Programación I Parte IV Ing. Jorge Traveria Lic. Cristian Kenny UTN San Martín de los Andes."— Transcripción de la presentación:

1 Curso de Programación I Parte IV Ing. Jorge Traveria Lic. Cristian Kenny UTN San Martín de los Andes

2 El Lenguaje C El lenguaje C facilita un método estructurado para el diseño de programas Se construyen a partir de piezas menores llamadas módulos lema en C: divide y vencerás

3 conceptos Los programas en C contienen uno o más módulos que se llaman: funciones. Una de las cuales deberá ser la función main Los programadores combinan nuevas funciones con funciones disponibles en la Biblioteca estándar ANSI C. Técnica de abstracción: es utilizar funciones estandarizadas en lugar de elaborarlas usando código personalizado. Ventajas: Programas más manipulables y modulares Programas con menor repetición de código

4 conceptos La Biblioteca Estándar de C contiene una amplia colección de funciones para diversas acciones: cálculos matemáticos, manipulación de caracteres, entradas / salidas, etc. Ejemplos: pow, sqrt, printf, etc. Para emplearlas en un programa hace falta brindar una directriz para el preprocesador: # include y el nombre del archivo de cabecera que contiene prototipos para las funciones requeridas: Ejemplo: Finalmente quedaría: # include

5 El inicio del programa debe llevar: #include El símbolo de numeral (#) la sentencia include, y entre signos de mayor y menor que (<>) el nombre de la librería o archivo de cabecera. Contienen información y declaraciones, para que el compilador Incluya en el programa las directivas que contienen las funciones para procesar datos. ESTRUCTURA DE UN PROGRAMA

6 #include.- Contiene las funciones de entrada y salida de datos. #include.- Manejo de cadenas. #include.- Memoria dinámica. #include.- Rutinas matemáticas. ESTRUCTURA DE UN PROGRAMA Otros ejemplos de archivos de cabecera

7 Todo programa en C consta básicamente de: Comentarios. Ordenes para el preprocesador Definiciones de funciones. Expresiones formadas con constantes, variables, funciones y operadores. Sentencias. ESTRUCTURA DE UN PROGRAMA

8 La función main() se contruye a partir de un juego de llaves que contienen el bloque constructivo o cuerpo de la función. Forma parte de todo programa de C: main() { llave izquierda: marca el principio del cuerpo de main } llave derecha: marca el final de main El bloque contiene las líneas de programación que se dividen básicamente en dos tipos: Declaraciones Enunciados ESTRUCTURA DE UN PROGRAMA

9 Declaraciones: ej.: int sum; Enunciados Decisiones: ej.: if ….. Acciones : ej.: scanf….. Asignaciones: ej: sum = I1+I2; ESTRUCTURA DE UN PROGRAMA Las declaraciones, enunciados de acción y de asignaciones deberán finalizar con un: ; (punto y coma) Llamado Terminador de Enunciado IMPORTANTE:

10 main() { definición de variables locales; enunciados instrucciones del programa; } #include... declaraciones de funciones definiciones (cuerpos de funciones) declaraciones de variables globales... main() {... cuerpo del main... }... otras definiciones de funciones... Directrices de Cabecera Declaración de Datos Función Principal Otras Funciones y/o Procedimientos ESTRUCTURA DE UN PROGRAMA

11 COMENTARIOS Comienzan con los símbolos / * y terminan con * / Ejemplo: Imprimir una linea de texto en pantalla /* mi primer programa en C */ main() { printf( Mi primer programa en C\n); /* imprimo en pantalla*/ } Ayudan a documentar los programas y mejorar la legibilidad de los mismos

12 Se utilizan las funciones de biblioteca: scanf para la entrada de valores. Sintaxis del enunciado: Lee el valor y lo guarda en una variable. printf para la salida de información. Sintaxis del enunciado : Imprime en pantalla el texto y el valor de la variable scanf ("%d", &variable); printf ("El valor es %d", variable); Funciones de Entrada y Salida de datos

13 La función SCANF tienen dos argumentos: %d y &variable El primero se denomina: cadena de control de formato Indica el tipo de dato que deberá ser escrito. El especificador de conversión %d indica que el dato debe ser un entero. % carácter de escape y %d indica una secuencia de escape El segundo se denomina: asignación de dirección Indica a scanf la posición en memoria que ocupa la variable El operador de dirección & (ampersand) se combina con el nombre de la variable Funciones de Entrada y Salida de datos

14 La función PRINTF tienen dos argumentos: "El valor es %d y la variable El primero se denomina: cadena de control de formato Indica el tipo de dato que deberá ser impreso. El especificador de conversión %d indica que el valor a imprimirse debe ser un entero. % carácter de escape y %d indica una secuencia de escape El segundo argumento indica el valor a ser impreso de la variable Funciones de Entrada y Salida de datos

15 CODIGOSIGNIFICADO \n nueva línea; cursor al principio de la línea siguiente \r retorno de carro; cursor al principio de la línea actual \f nueva página \t tabulador horizontal \b retroceso (backspace) \' comilla simple \" comillas \\ barra \? interrogación SECUENCIAS DE ESCAPE caracteres que no son imprimibles. La barra o diagonal invertida \ es un carácter de escape y se combinan con otros caracteres para formar secuencias de escape

16 Ejemplo: Imprimir una linea de texto en pantalla /* mi primer programa en C */ main() { printf( Mi primer programa en C\n); /* imprimo en pantalla*/ } SECUENCIAS DE ESCAPE

17 #include /* Primer programa */ main( ) { printf(UTN\n"); system("PAUSE"); return 0; } Estas son librerías donde se encuentran las funciones que utilizaremos. Comentarios función de imprimir en pantalla. Función principal Las llaves indican el comienzo y final de la función main.

18 Para poder usar una variable primero hay que declararla (ó definirla) En C se distingue entre MAYÚSCULAS y minúsculas. Analicemos el caso: Nombre nombre NOMBRE serían tres variables distintas. variables

19 Letras de la 'a' a la 'z' (la ñ no se considera), números y el símbolo '_'. Inicio de nombre con letra. No se pueden usar signos de admiración, ni de interrogación. Tampoco nombres de variable en las que se empleen las palabras reservadas que usa el compilador. Por ejemplo: for, main, do, while.palabras reservadas Reglas para nombre de variables

20 ¿Dónde y cómo se declaran las variables? Tenemos dos posibilidades: Declararla como global global es aquella variable que se declara fuera de la función main Declararla como local. la que se declara dentro: Variable GlobalVariable Local #include int x; main() { } #include main() { int x; }

21 Variable tipo Int (Integer/ entero) En una variable de este tipo se almacenan números enteros (sin decimales). Hay que indicarle al compilador que queremos crear una variable y hay que indicarle de qué tipo. Por ejemplo: int num; Esto hace que declaremos (declaración) una variable llamada num que va a contener un número entero. Puedo declarar varias variables del mismo tipo en una misma declaración: int var1, var2, sum; INICIALIZACION DE VARIABLES

22 #include main() { int multiplicador; /* defino multiplicador como un entero */ int multiplicando; /* defino multiplicando como un entero */ int resultado; /* defino resultado como un entero */ multiplicador = 1000 ; /* les asigno valores */ multiplicando = 2 ; resultado = multiplicando * multiplicador ; printf("Resultado = %d\n", resultado); /* muestro el resultado */ return 0; } Ejemplo:

23 Las variables del mismo tipo pueden definirse mediante una definición múltiple separandolas mediante ", " int multiplicador, multiplicando, resultado ; Esta sentencia es equivalente a las tres definiciones separadas en el ejemplo anterior. Las variables pueden también ser inicializadas en el momento de definirse. int multiplicador = 1000, multiplicando = 2, resultado; De esta manera el EJEMPLO podría escribirse: Ejemplo:

24 #include main() { int multiplicador=1000, multiplicando=2 ; printf("Resultado = %d\n", multiplicando * multiplicador); return 0; } En la primer sentencia se definen e inicializan simultaneamente ambas variables.La variable "resultado" desaparece ya que es innecesaria. Ejemplo:

25 Si analizamos la función printf() vemos que se ha reemplazado "resultado" por la operación entre las otras dos variables. Esta es una de las particularidades del lenguaje C : en los parámetros pasados a las funciones, pueden ponerse operaciones (incluso llamadas a otras funciones), las que se realizan ANTES de ejecutarse la función, pasando finalmente a esta el valor resultante de las mismas. El Ejemplo funciona exactamente igual que antes pero su código ahora es mucho más compacto. Ejemplo:

26 El enunciado return 0 ; pasa el valor 0 de regreso al entorno del sistema operativo en el cual se está ejecutando el programa. Esto le indica al S.O que el programa fue ejecutado con éxito. Ejemplo:

27 Un número real ó de punto flotante es aquel que además de una parte entera, posee fracciones de la unidad. En nuestra convención numérica solemos escribirlos de la siguiente manera : 2,3456 en C: float costo = ; Otro formato de escritura, normalmente aceptado, es la notación científica. Por ejemplo podrá escribirse 2.345E+02, equivalente a * 100 ó VARIABLES DE NUMERO REAL O PUNTO FLOTANTE Variable tipo float

28 Variable tipo Float #include main() { float num = ; printf( "El valor de num es : %f\n", num ); system("PAUSE"); return 0; } Variable tipo float El especificador de conversión %f indica que el dato debe ser un número en punto flotante. % carácter de escape y %f indica una secuencia de escape

29 Por ejemplo, con %.2f obligamos a que se impriman dos decimales a la derecha de la coma decimal. Para generar espacios a la izquierda se utiliza el modificador : %10.2f. Esto provoca que se usen 10 caracteres en total (incluido el número) Variable tipo float El especificador de conversión %f puede usarse con un modificador de posiciones decimales

30 Variable tipo Char Las variables de tipo char sirven para almacenar caracteres. Para declarar una variable de tipo char hacemos: char letra; Sólo podemos almacenar solo una letra, No podemos almacenar ni frases ni palabras. Eso lo veremos más adelante (strings, cadenas) Para imprimir un char usamos el símbolo %c (c de character=caracter en inglés): letra = 'A'; printf( "La letra es: %c\n, letra );

31 #include main( ) { char letra; letra = 'A'; printf( "El número ASCII de la letra %c es: %i.\n", letra, letra ); system("PAUSE"); return 0; } Variable tipo Char El especificador de conversión %c indica que el dato debe ser un carácter(A). El %i indica un entero.(65) % carácter de escape y %c indica una secuencia de escape

32 Constantes con nombre Supongamos que tenemos que hacer un programa en el que haya que emplear unas cuantas veces Al definir una constante con nombre estamos dando un nombre al valor, a le llamamos PI. #define nombre_de_la_constante valor_de_la_constante Ejemplo: radio y perimetro de una circunferencia son variables, su valor puede cambiar a lo largo del programa. Sin embargo 2 y son constantes, no hay manera de cambiarlas.

33 #define, %f #include #define PI main( ) { int radio; float perimetro; radio = 20; perimetro = 2 * PI * radio; printf( "El perimetro es: %f\n", perimetro ); system("PAUSE"); return 0; }

34 #include #define CAJAS4 #define UNIDADESPORCAJA25 #define PRECIO 100 #define IMPUESTOS1.16 main() { int Total; Total = ( CAJAS * UNIDADESPORCAJA * PRECIO ) * ( IMPUESTOS ); printf( "El total es: %i\n", Total ); system("PAUSE"); return 0; } #define, %i

35 #include main( ) { int num; printf( "Introducir un número: " ); scanf( "%i", &num ); printf( " el número es %i\n", num ); system("PAUSE"); return 0; } Función Scanf

36 #include main() { int a, b, c; printf( "Ingresar tres numeros: " ); scanf( "%i %i %i", &a, &b, &c ); printf( Se ingresaron los numeros %i %i %i\n, a, b, c ); return 0; } #include main() { int a, b, c; printf( "Ingresar tres numeros: " ); scanf( "%i %i %i", &a, &b, &c ); printf( Se ingresaron los numeros %i %i %i\n, a, b, c ); return 0; } De esta forma cuando el usuario ejecuta el programa debe introducir los tres datos separados por un espacio. Podemos preguntar por más de una variable a la vez en un sólo scanf, hay que poner un %i por cada variable

37 #include main() { int a; float b; printf( "Introduce dos números: " ); scanf( "%i %f", &a, &b ); printf( "Has tecleado los números %i %f\n", a, b ); return 0; } También podemos pedir en un mismo scanf variables de distinto tipo: A cada especificador (%i, %f) le debe corresponder una variable de su mismo tipo. Es decir, al poner un %i el compilador espera que su variable correspondiente sea de tipo int. Si ponemos %f espera una variable tipo float.

38 Operadores de asignación Se emplean para realizar abreviaturas de las expresiones de asignación. En lugar de C = C + 3; se puede usar: C += 3; El operador += añade el valor 3 al valor de la variable a la izquierda del operador, y almacena el resultado en la variable a la izq. del operador. Variable = variable operador expresión; variable operador = expresión;

39 operadorEj. muestraAsig. + =c= c + 7………….c += 710 to c - =d = d – 4 …………d -= 41 to d * =e = e * 5………e *= 520 to e / =f = f / 3………f /= 32 to f % =g = g % 9……g %= 93 to g Int c=3, d=5, e=4, f=6, g=12; Operadores de asignación Expresiones de muestra utilizando estos operadores:

40 Operadores Relacionales Se emplean para realizar comparaciones entre valores del mismo tipo. Operan de izquierda a derecha operadorresultado A == B V si A es igual a B; F caso contrario A != B V si A es distinto de B A > B V si A es mayor que B A < B V si A es menor que B A >= B V si A es mayor e igual que B

41 Operadores Relacionales Ejemplo: #include main() { If (num1 == num2) printf(%d es igual a %d\n, num1, mum2); If (num1 != num2) printf(%d es distinto a %d\n, num1, mum2); If (num1 > num2) printf(%d es mayor a %d\n, num1, mum2); If (num1

42 Operadores Lógicos

43 valor = (expresion1 && expresion2) En este caso si expresion1 y expresion2 son verdaderas, valor resulta verdadero Si alguna o ambas de las expresiones son falsas, valor resulta falso valor = (expresion1 // expresion2) En este caso si ambas expresiones son verdaderas, valor resulta verdadero. Si una de las expresiones es verdadera y la otra falsa, valor resulta verdadero. Si las dos expresiones son falsas, valor resulta falso. valor = (!expresion1) A diferencia de And y Or (operadores binarios), el Not tiene como operando una condición (operador unario) En este caso si la expresión es verdadera, valor resulta falso. Si la expresión es falsa, valor resulta verdadero. Operadores Lógicos

44 Se pueden usar de la siguiente manera: if (edad >= 14 && edad <= 21) printf(Persona adolescente); Operadores Lógicos Ejemplos: If (promo >=7 || final >=4) printf(Materia Aprobada\n); if (! (sueldo == valorcentinela)) printf(Ingrese un nuevo sueldo:%f\n, sueldo); (Si la condición no es verdadera…..)

45 Operadores Incrementales y decrementales Si una variable c es incrementada en 1, el operador incremental ++ puede ser utilizado en lugar de la expresión: c = c + 1; o sea c+= 1; ++++cSe incrementa c en 1 ++c++Se usa c primero y luego se incrementa en cSe decrementa c en 1 --c--Se usa c primero y luego se decrementa en 1

46 Operadores (++) : Incremento El operador de incremento ++ le suma 1 a su operando. Se puede emplear de dos formas: Como prefijo o como sufijo En ambos casos el efecto final es el mismo. Si n es 5, entonces X = n++; / * Asigna un 5 en X.*/ Pero: X = ++n / * Asigna un 6 en X */

47 #include main() { int x = 5; printf ( "Valor de x = %i\n", x ); x++; printf ( "Valor de x = %i\n", x ); } Operadores (++) : Incremento Resultado: Valor de x = 5 Valor de x= 6

48 Operadores (++) : Incremento #include main() { int x = 5; printf ( "Valor de x = %i\n", x ); printf ( "Valor de x = %i\n", x ++); printf ( "Valor de x = %i\n", x ); } Resultado: Valor de X= 5 Valor de X= 6 Postincrementar la variable C hará que se incremente, después de su uso en el enunciado

49 Operadores (++) : Incremento #include main() { int x = 5; printf ( "Valor de x = %i\n", x ); printf ( "Valor de x = %i\n", ++x); printf ( "Valor de x = %i\n", x ); } Resultado: Valor de X= 5 Valor de X= 6 Preincrementar la variable C hará que se incremente, antes de su uso en el enunciado


Descargar ppt "Curso de Programación I Parte IV Ing. Jorge Traveria Lic. Cristian Kenny UTN San Martín de los Andes."

Presentaciones similares


Anuncios Google