La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PARCIAL III. DATO Información en volumen, sin ningún significado Dado un enunciado, evento o acción, los datos Permiten representar sus actores o participantes.

Presentaciones similares


Presentación del tema: "PARCIAL III. DATO Información en volumen, sin ningún significado Dado un enunciado, evento o acción, los datos Permiten representar sus actores o participantes."— Transcripción de la presentación:

1 PARCIAL III

2 DATO Información en volumen, sin ningún significado Dado un enunciado, evento o acción, los datos Permiten representar sus actores o participantes Analizándolos, se podrá obtener resultados deseados Analicemos el siguiente hecho: El estudiante de nombre Pedro Velez de 12 años, tiene un promedio de 7.5 Podemos tomar los siguientes datos Nombre: Pedro Velez-> Conjunto de Caracteres Edad: 12-> entero Promedio: 7.5-> real

3 INFORMACIÓN Es el resultado deseado luego de procesar los datos Los datos, al ser procesados, se convierten en información útil o resultados. Procesamiento: Calcular salarios Juan, Perez $320 Pedro, Rodriguez $310 Luis, Pozo $240 Datos de salida(se muestran en el monitor) Datos de entrada(ingresados x teclado) Juan, Perez Pedro, Rodriguez Luis, Pozo 160 155 120 EmpleadoHoras Valor por hora = $2

4 ¿Cómo representar los datos? Los seres humanos: Usamos lenguaje natural o símbolos Ejemplo: Para representar números, usamos el sistema decimal Para representar palabras, usamos el abecedario La computadora: Usa conjuntos de 1s y 0s El dato mas pequeño en el computador es Un 1 o un 0 -> bit El conjunto de 8 bits -> 1 byte

5 TIPOS DE DATOS Los datos se clasifican en TIPOS Son los diferentes dominios existentes. Ejemplo: Edad, Año de Nacimiento, Numero de multas Tienen dominio numérico Nombre, Dirección, Num. Cedula, Caen en el dominio de la información tipo texto Y las operaciones permitidas para dicho dominio Un conjunto de valores y operaciones definidas solo para esos valores

6 TIPOS DE DATOS BASICOS NOMBRECONJUNTO DE VALORESOPERACIONES EnterosNegativos y positivos sin decimalSumar, restar, dividir, multiplicar, residuo RealesNegativos y positivos, con decimalSumar, restar, dividir, multiplicar LógicosVerdadero o Falso(1 o 0)And, Or, Not CaracteresLetras, números, especiales, juntos forman una cadena Sumar carácter + entero restar, multiplicar por entero Los podemos distinguir fácilmente, están en el diario vivir: El Sr. Vera de 63 años tiene cedula No. 0908815533, y paga $120 de impuestos Son tipos de datos simples Que permiten representar información numérica, caracteres, etc.

7 Y EN LA COMPUTADORA? Solo vienen integrados los tipos de datos básicos En la computadora Cada byte es un casillero y tiene una dirección en memoria Los datos (números y letras) se almacena en estos casilleros ¿Cuantas casilleros ocupa un dato? Depende de su tipo y del hardware de la computadora Un entero puede ocupar casillas de hasta 4 bytes Un doble siempre ocupara mas, por su mayor precisión PERO, un carácter SIEMPRE ocupara casillas de 1 byte 1000 1001 1002 1003

8 ALMACENANDO DATOS TIPO DE DATO#bytesRepresentación internaEn ANSI C ENTEROS248248 Positivos: conjunto de bits 38 -> 00100110 Negativos:Complemento a Dos -38 -> 11011001 int long REALES8 16 Mantisa x base (exponente) 387.53 -> 38753 x 10 -2 00000000100101110110000111111110 float double CARACTERES1ASCII 11000000 -> ‘A’ char

9 EJERCICIOS DE APLICACIÓN. Hallar A+B-C+100 #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 + 100 = %d",A, B, C, (A+B+C- 100)); getch(); return 0; }

10 Obtener (a-b)(a+b) #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; }

11 Dado un numero verificar si es positivo, negativo o nulo #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; }

12 PARCIAL III

13 Cadenas en C++ Permiten generar mensajes en modo texto usando el código ASCII. Sin embargo, los caracteres a bajo nivel siguen siendo tratados como bytes. El lenguaje C provee una biblioteca para el manejo de las cadenas cuyas funciones están declaradas en el archivo de cabecera string.h string.h string.h.

14 Cadena y Caracteres

15 main() { char dato[100]; dato[0]='H'; dato[1]='O'; dato[2]='L'; dato[3]='A'; dato[4]='_'; dato[5]='M'; dato[6]='A'; dato[7]='M'; dato[8]='A'; dato[9]='\0';//caracter nulo printf("La frase es %s\n",dato);//Que imprime? dato[4]='\0';//caracter nulo printf("La frase es %s",dato); //Que imprime }

16 Registros en C++ Un Registro es la asociaci ó n de campos comunes bajo un mismo identificador, para nuestro prop ó sito podemos verlo como la posibilidad de crear un propio Tipo de datos. Para crear estructuras se utiliza la palabra struct.

17 #include struct fecha { int dia,mes,annio; }; struct persona { int cod; char nombre[30]; struct fecha nacimiento; float nota; }; int main() { struct persona estudiante[23]; int i,j; for (i=0;i<=22;i++) {

18 printf("\nDATOS DEL ESTUDIANTE: %d: ",i+1); printf("\nCodigo: "); scanf("%d",&estudiante[i].cod); printf("\nNombre: "); scanf("s",estudiante[i].nombre); printf("\nFecha Nacimiento: "); printf("Digite Dia:\n"); scanf("%d",&estudiante[i].nacimiento.dia); printf("Digite Mes:\n"); scanf("%d",&estudiante[i].nacimiento.mes); printf("Digite Annio: n"); scanf("%d",&estudiante[i].nacimiento.annio ); }

19 printf("\nLos registro le í dos son: "); for (i=0;i<=22;i++) { printf("Estudiante %d ",i); printf("Cod:%d ",estudiante[i].cod); printf("Nombre %s ",estudiante[i].nombre); printf("Nac %d/%d/%d\n",estudiante[i].nacimiento.dia,estudiante[i].nacimiento.mes, estudiante[I].nacimiento.annio); } getchar(); getchar(); return (0); }

20 Arrays en C++ Un array de cadenas puede servirnos para agrupar una serie de mensajes. Por ejemplo, todos los mensajes de error de un programa. Luego, para acceder a cada mensaje, basta con usar su número.

21 Que rellene un array con los números primos comprendidos entre 1 y 100 y los muestre en pantalla en orden ascendente. #include int main(void) { int x,cont,z,i,tabla[100]; i=0; for (x=1;x<=100;x++) { cont=0; for (z=1;z<=x;z++) { if (x%z==0) { cont++; }

22 #include #include #include void estadisticaArray(double *array, int t, double *mayor,double *menor, double *media); int main(){ double A[]={1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8}; double mx, mn, md; estadisticaArray(A,8,&mx,&mn,&md); printf("Mayor %lf, Menor %lf, Media %lf", mx, mn, md); getch(); } Crear un programa que utilice una función que devuelva el mayor, el menor y la media de los valores de un array de números decimales.

23 PARCIAL III https://www.youtube.com/watch?v=7ufTDAoURvc

24 Estructuras de Control y de Repetici ón Las estructuras de control controlan la ejecución de las instrucciones de un programa If- else- For- Switch- Case- while Sentencia If. N os permite elegir si se ejecuta o no un bloque de instrucciones. Sintaxis if (condición) sentencia; if (condición) { bloque }

25 #include int main (int argc, char *argv[]) { int x; printf(“Déme un numero”); scanf(“%d”,&x); if (x>0) { printf(“El numero %d es positivo”,x); } return 0; } Decir si un número es positivo

26 La cláusula else Una sentencia if, cuando incluye la cláusula else, permite ejecutar un bloque de código si se cumple la condición y otro bloque de código diferente si la condición no se cumple. Sintaxis if (condición) sentencia1; else sentencia2; if (condición) { Bloque1 } else { bloque2 }

27 #include void main () { int x; printf(“Déme un numero: ”); scanf(“%d”,&x); if (x>=0) { printf(“El numero %d es positivo”, x); } else { printf(“El numero %d es negativo”, x); } Decir si un número es positivo o negativo

28 #include void main () { float nota; printf(“ingreso una nota: ”); scanf(“%f”,&nota); if (nota>=10) { printf(“Sobresaliente”); } else if (nota>=8) { printf(“Notable”); } else if (nota>=7) { printf(“Aprobado”); } else { printf(“Reprobado”); } Encadenamiento Las sentencias if se suelen encadenar: Control de notas

29 Sentencia For. Permite realizar ciclos repetitivos, poseen un valor inicial,un incremento y una condición que cumplir. Formato. for(col=3; col<=7;col++

30 #include void main() { long i, n, factorial; printf ("Introduzca un número: "); scanf ("%ld", &n); factorial = 1; for (i=1; i<=n; i++) { factorial *= i; } printf ("factorial(%ld) = %ld", n, factorial); } Cálculo del factorial de un número

31 Sentencia Switch Permite controlar la recepción del dato en una variable que posea contenido desde teclado. Formato. C=getch(); swicth (c)

32 Sentencia 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

33 #include void main() { int nota; printf(“Calificación: ”); scanf(“%d”, &nota); switch (nota) { case 0: case 1: case 2: case 3: case 4: printf(“Suspenso”); break; Control de calificaciones

34 case 5: case 6: printf(“Aprobado”); break; case 7: case 8: printf(“Notable”); break; case 9: printf(“Sobresaliente”); break; case 10: printf(“Matrícula”); break; default: printf(“Error”); }

35 Sentencia While Ejecuta una instrucción o un bloque de instrucciones, una o más veces, dependiendo del valor de la condición. do { instrucción 1;.............. instrucción N; } while (condicion);

36 Programa que lea una serie de números (leer hasta que llegue el cero por ejemplo) y que calcule su media aritmética #include int main(){ int i,suma=0,cont=0; do{ printf("\nNúmero: "); scanf("%i",&i); suma+=i; if (i!=0) cont++; }while (i!=0); if(cont!=0) printf("\nMedia: %5.2f",(float)suma/cont); else printf("\nNo hubo números"); }

37 PARCIAL III Punteros

38 Un puntero es una variable que hace referencia a una dirección de memoria Sintaxis: Tipo_Dato *nombre_variable_puntero; Ejemplo: int *p; Asignación de Dirección nombre_puntero=&variable; Punteros

39 El carácter & delante de una variable indica que lo se está accediendo es a la dirección de memoria de dicha variable. Ejemplo: int *p; p=0; /* p posee la dirección NULL ó 0*/ p=NULL; /* p posee la dirección NULL ó 0*/ p=&i; /*p apunta hacia i ó conteniendo la dirección de i */ p=(int )1501; /*dirección absoluta de memoria */

40 Inicialización Sintaxis: tipo_dato *nombre_puntero=&variable; Ejemplo: int i=7,*p=&i;

41 #include void funcion(int *pi){ *pi = 0; //se asigna 0 a lo apuntado por pi } int main(){ int n=1; //declara un entero printf("%d\n",n); //imprime su valor funcion(&n); //invoca a la funcion con la referencia al entero printf("%d\n",n); //imprime el nuevo valor return 0; }

42 #include int main(){ int a=13; int *pa; pa = &a; printf("%u\n",&a); printf("%u\n",pa); printf("%d\n",a); *pa = 55; printf("%d\n",a); printf("%d\n",*pa); return 0; }

43 #include void division_entera(int x, int y, int *cuoc, int *resto){ *cuoc = x/y; *resto = x - y*(*cuoc); } int main(){ int a,b; //variables de entrada int c,r; //variables de salida a = 5; //se define el valor de las entradas b = 3; division_entera( a, b, &c, &r ); //se invoca la función con 2 parametros //por copia y 2 por referencia //Aqui c y r ya cambiaron de valor printf("%d dividido %d da %d y sobran %d\n",a,b,c,r); return 0; }

44 #include int main(){ int a[10]; printf("&a[0]=%u\n",&a[0]); printf("&a[1]=%u\n",&a[1]); printf("a=%u\n",a); return 0; }

45 #include #define TAM 10 void imprimir(int *a,int n ){ int i; for(i=0; i<n; i++) printf("%d, ",a[i]); printf("\n"); } int main(){ int arreglo[TAM]; int i; for(i=0; i<TAM;i++){ arreglo[i]=i+1; } imprimir(arreglo, TAM); for(i=0; i<TAM; i++){ *(arreglo+i)=0; } imprimir(arreglo, TAM); return 0; }

46 #include #define TAM 10 char* saluda(char s[TAM] ){ s[0]='h'; s[1]='o'; s[2]='l'; s[3]='a'; s[4]='\0'; return s; } int main(){ char str[TAM]; char *str2; str2 = saluda(str); printf("%s",str2); return 0; }

47 #include int main(){ int *pi; pi = NULL; //indica que pi es un puntero que aun //no apunta a nada valido *pi = 1234; return 0; }

48 #include int main(){ int a[3]; printf("sizeof(int)=%d\n", sizeof(int) ); printf("sizeof(char)=%d\n", sizeof(char) ); printf("sizeof(float)=%d\n", sizeof(float) ); printf("sizeof(double)=%d\n", sizeof(double) ); printf("sizeof(a)=%d\n", sizeof(a) ); printf("tamano(a)=%d\n", sizeof(a)/sizeof(int) ); return 0; }


Descargar ppt "PARCIAL III. DATO Información en volumen, sin ningún significado Dado un enunciado, evento o acción, los datos Permiten representar sus actores o participantes."

Presentaciones similares


Anuncios Google