La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Curso de Programación I Parte IV

Presentaciones similares


Presentación del tema: "Curso de Programación I Parte IV"— 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: <stdio.h> Finalmente quedaría: # include <stdio.h>

5 ESTRUCTURA DE UN PROGRAMA
El inicio del programa debe llevar: #include <archivo de cabecera> 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.

6 ESTRUCTURA DE UN PROGRAMA
#include <stdio.h> Contiene las funciones de entrada y salida de datos. #include <string.h> Manejo de cadenas. #include <stdlib.h > Memoria dinámica. #include <math.h > Rutinas matemáticas. Otros ejemplos de archivos de cabecera

7 ESTRUCTURA DE UN PROGRAMA
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.

8 ESTRUCTURA DE UN PROGRAMA
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

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

10 ESTRUCTURA DE UN PROGRAMA
#include <biblioteca1.h> #include <biblioteca2.h> ... 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 main() { definición de variables locales; enunciados instrucciones del programa; }

11 /* mi primer programa en C */ main() {
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 printf ("El valor es %d", variable);
Funciones de Entrada y Salida de datos 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);

13 Funciones de Entrada y Salida de datos
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

14 Funciones de Entrada y Salida de datos
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

15 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 CODIGO SIGNIFICADO \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

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

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

18 variables 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.

19 Reglas para nombre de variables
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.

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 Global Variable Local #include <stdio.h> int x; main() { }

21 Variable tipo Int (Integer/ entero)
INICIALIZACION DE VARIABLES 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;

22 Ejemplo: #include <stdio.h> 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; }

23 int multiplicador, multiplicando, resultado ;
Ejemplo: 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:

24 Ejemplo: #include <stdio.h> 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.

25 Ejemplo: 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.

26 Ejemplo: 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.

27 Variable tipo float float costo = 2.3456;
VARIABLES DE NUMERO REAL O PUNTO FLOTANTE 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 ó 234.5

28 Variable tipo float Variable tipo Float #include <iostream>
#include <stdio.h> main() { float num = ; printf( "El valor de num es : %f\n", num ); system("PAUSE"); return 0; } 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 Variable tipo float El especificador de conversión %f puede usarse con un modificador de posiciones decimales 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)

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 Variable tipo Char #include <stdio.h> main( ) { char letra;
letra = 'A'; printf( "El número ASCII de la letra %c es: %i.\n", letra, letra ); system("PAUSE"); return 0; } 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 <stdlib.h> #define PI 3.1416 main( ) {
int radio; float perimetro; radio = 20; perimetro = 2 * PI * radio; printf( "El perimetro es: %f\n", perimetro ); system("PAUSE"); return 0; }

34 #define, %i #include <stdlib.h> #define CAJAS 4
#define UNIDADESPORCAJA 25 #define PRECIO #define IMPUESTOS 1.16 main() { int Total; Total = ( CAJAS * UNIDADESPORCAJA * PRECIO ) * ( IMPUESTOS ); printf( "El total es: %i\n", Total ); system("PAUSE"); return 0; }

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

36 Podemos preguntar por más de una variable a la vez en un sólo scanf, hay que poner un %i por cada variable #include <stdio.h> 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.

37 #include <stdio.h> main() { int a; float b;
También podemos pedir en un mismo scanf variables de distinto tipo: #include <stdio.h> 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; } 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 Operadores de asignación
Expresiones de muestra utilizando estos operadores: Int c=3, d=5, e=4, f=6, g=12; operador Ej. muestra Asig. + = c= c + 7………….c += 7 10 to c - = d = d – 4 …………d -= 4 1 to d * = e = e * 5………e *= 5 20 to e / = f = f / 3………f /= 3 2 to f % = g = g % 9……g %= 9 3 to g

40 Operadores Relacionales
Se emplean para realizar comparaciones entre valores del mismo tipo. Operan de izquierda a derecha operador resultado 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 <stdio.h> 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 <num2) printf(“%d es menor a %d\n”, num1, mum2); Return 0; }

42 Operadores Lógicos

43 Operadores Lógicos 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.

44 Operadores Lógicos Ejemplos: Se pueden usar de la siguiente manera:
if (edad >= 14 && edad <= 21)       printf(“Persona adolescente”); 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; ++ ++c Se incrementa c en 1 c++ Se usa c primero y luego se incrementa en 1 -- --c Se 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 Operadores (++) : Incremento
#include <stdio.h> main() { int x = 5; printf ( "Valor de x = %i\n", x ); x++; } Resultado: Valor de x = 5 Valor de x= 6

48 Operadores (++) : Incremento
#include <stdio.h> main() { int x = 5; 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 <stdio.h> main() { int x = 5; 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"

Presentaciones similares


Anuncios Google