Vistas de página en total

martes, 25 de febrero de 2014

Programación android con CCTools y C - pc20

//pc20 listas dobles























#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct xtemas{
  char tema[40];
  char desc[160]; 
  struct xtemas *sig; 
  struct xtemas *ant;
};

struct xtemas *prim;
struct xtemas *ulti;
struct xtemas *encuentra(char *);
void introducir(void), buscar(void), guardar(void);
void recuperar(void), listar(void);
void eliminar(struct xtemas **, struct xtemas **);
void lista_doble(struct xtemas *i, struct xtemas **prim,
  struct xtemas **ulti);
void entras(char *, char *, int), desplegar(struct xtemas *);
int menu(void);

int menu(void){
char s[80];
int c;
  printf("\n\tMENU\n");
  printf("1. Introducir tema\n");
  printf("2. Buscar tema\n");
  printf("3. Actualizar tema\n");
  printf("4. Eliminar tema\n");
  printf("5. Listar temas\n");   
  printf("6. Guardar temas\n");
  printf("7. Recuperar temas\n");
  printf("8. Fin\n");
  do{
    printf("\nIntroducir opcion: ");
    gets(s);
    c = atoi(s);
  }while(c<0 || c>8);
  return c;
}

void introducir(void){
struct xtemas *info;
  for(;;){
    info = (struct xtemas *)malloc(sizeof(struct xtemas));
    if(!info) {
      printf("\nFuera de memoria...");
      return;
    }
    entras("Introducir tema: ", info->tema, 30);
    if(!info->tema[0]) break
    entras("Introducir desc: ", info->desc, 40); 
    if(!info->desc[0]) break;
    lista_doble(info, &prim, &ulti);
  }
}

void entras(char *prompt, char *s, int count){
char p[255];
  do{
    printf("%s\n",prompt);
    fgets(p, 254, stdin);
    if(strlen(p) > count) printf("\nMuy largo\n");
  }while(strlen(p) > count);
  p[strlen(p)-1] = 0;
  strcpy(s, p);
}

void actualizar(void){
struct xtemas *info;
char s[100];
  entras("Introduce tema: ", s, 30);
  info = encuentra(s);
  if(!info){
    printf("No encontrado...\n");
  }else
    entras("Introducir tema: ", info->tema, 30);
    //if(!info->tema[0]) break; 
    entras("Introducir desc: ", info->desc, 40); 
    //if(!info->desc[0]) break;
    //lista_doble(info, &prim, &ulti);
  }


void lista_doble(
struct xtemas *i, 
struct xtemas **prim,
struct xtemas **ulti ){
struct xtemas *viejo, *p;
   if(*ulti==NULL){
     i->sig = NULL;
     i->ant = NULL;
     *ulti = i;
     *prim = i;
     return;
   }
   p = *prim;
   viejo = NULL;
   while(p){
     if(strcmp(p->tema, i->tema)<0){
       viejo = p;
       p = p->sig;
     }else {
       if(p->ant){
         p->ant->sig = i;
         i->sig = p;
         i->ant = p->ant;
         p->ant = i;
         return;
       }
     i->sig = p;
     i->ant = NULL;
     p->ant = i;
     *prim = i;
     return;
   }
}
viejo->sig = i;
i->sig = NULL;
i->ant = viejo;
*ulti = i;
}

void eliminar(struct xtemas **prim, struct xtemas **ulti){
struct xtemas *info;
char s[80];
  entras("Introduce tema: ", s, 30);
  info = encuentra(s);
  if(info){
    if(*prim==info){
      *prim=info->sig;
      if(*prim) (*prim)->ant = NULL;
        else *ulti = NULL;
    }else{
      info->ant->sig = info->sig;
      if(info!=*ulti)
        info->sig->ant = info->ant;
      else
        *ulti = info->ant;
    }
    free(info);
  }
}

struct xtemas *encuentra( char *tema){
struct xtemas *info;
info = prim;
while(info){
   if(!strcmp(tema, info->tema)) return info;
   info = info->sig;
}
printf("Tema no encontrado\n");
return NULL;
}

void listar(void){
struct xtemas *info;
  info = prim;
  while(info){
    desplegar(info);
    info = info->sig;
  }
}

void desplegar(struct xtemas *info){
  printf("%s\n", info->tema);
  printf("%s\n", info->desc);
//printf("\n\n");
}

void buscar(void){
char tema[40];
struct xtemas *info;
  printf("Introducir tema: ");
  gets(tema);
  info = encuentra(tema);
  if(!info) printf("No encontrado...\n");
  else desplegar(info);
}

void guardar(void){
struct xtemas *info;
FILE *fp;
  fp = fopen("mlist", "wb");
  if(!fp){
    printf("No abre archivo...\n");
    exit(1);
  }
  printf("\nGuardando archivo...\n");
  info = prim;
  while(info){
    fwrite(info, sizeof(struct xtemas), 1, fp);
    info = info->sig;
  }
  fclose(fp);
}

void recuperar(){
struct xtemas *info;
FILE *fp;
  fp = fopen("mlist", "rb");
  if(!fp){
    printf("No se abre archivo...\n");
    exit(1);
  }

  while(prim){
    info = prim->sig;
    free(info);
    prim = info;
  }
  
  prim = ulti = NULL;
  printf("\nRecuperando archivo...\n");
  while(!feof(fp)){
    info = (struct xtemas *) malloc(sizeof(struct xtemas));
    if(!info){
      printf("Fuera de memoria...");
      return;
    }
    if(1 != fread(info, sizeof(struct xtemas), 1, fp)) break;
    lista_doble(info, &prim, &ulti);
  }
  fclose(fp);
}

int main(void){
prim = ulti = NULL; 
  for(;;){
    switch(menu()){
      case 1:            
      introducir();
      break;
      case 2:
      buscar();
      break;
      case 3:
      actualizar();
      break;
      case 4:
      eliminar(&prim, &ulti);
      break;
      case 5:
      listar();
      break;      
      case 6:
      guardar();     
      break;
      case 7:
      recuperar();      
      break;
      case 8:
      printf("Fin del programa...");
      exit(0);
    }
}
return 0;
}

Programación android con CCTools y C - pc19

//pc019 Programa de estructura y arreglo






















#include<stdio.h>
#include<stdlib.h>
#define max 5
struct stemas{
char tema[100];
char desc[890];
}arreglot[max];
//struct stemas arreglot[max];

void inicializar(){
int i;
  for(i=0; i<max; i++){
    *arreglot[i].tema='\0';
  }
}

void recuperar(){
FILE *fp;
int i;
  if((fp=fopen("temas1","rb")) == NULL){
    printf("No se abre archivo temas1...\n");
    return;
  }
  inicializar();
  for(i=0;i<max;i++)
    if(fread(&arreglot[i],sizeof(struct stemas),1,fp) != 1){
    if(feof(fp)){
       printf("Archivo recuperado...\n");
       fclose(fp);
       return;
    }
    printf("Error de lectura...\n");
    }
    printf("Archivo recuperado...\n");
}

void guardar(){
int i;
FILE *fp;
  if((fp=fopen("temas1","wb"))==NULL){
    printf("No se abre archivo temas1...\n");
    return;
  }
  for(i=0;i<max;i++){
    if(*arreglot[i].tema)
      if(fwrite(&arreglot[i],sizeof(struct stemas),1,fp) !=1)
        printf("Error de escritura...");
  }
  printf("Archivo guardado...\n");
  fclose(fp);
}

void listar(void){
int i;
  for(i=0;i<max;i++){
    printf("Tema: %s\n",arreglot[i].tema);
    printf("Desc: %s\n",arreglot[i].desc);  
  }
}

void eliminar(int nt){
  if(nt != -1){
    *arreglot[nt].tema = '\0';
    *arreglot[nt].desc = '\0';
    puts("Tema y Descripción eliminados...");
  }
}

void actualizar(nt){
int r;
char t1[100];
char t2[900];
  r = nt;
  printf("Reg: %d\n",r);
  if(r != -1){
    puts("\nIntroduce tema, max. 100 caracteres: ");
    gets(t1);   
    if(strlen(t1)>100){
    printf("\nTema %d > 100 caracteres...\n",strlen(t1));
    printf("Repite 1.Introducir Tema...\n");
    }else{
      strcpy(arreglot[r].tema,t1); 
      puts("\nIntroduce .desc, max 900 caracteres: ");
      gets(t2);      
      if(strlen(t2)>900){
        printf("\nDescripción %d > 900 caracteres...\n",strlen(t2));
        printf("Repite 1.Introducir Tema...\n");
        *arreglot[r].tema = '\0';
      }else{
        strcpy(arreglot[r].desc,t2);
      }
    }
  }     
}

void desplegar(int nt){
//int nt;
  if(nt != -1){
    printf("\nTema:%s \nDescripción: %s\n",arreglot[nt].tema,arreglot[nt].desc);
  }
}

int encontrar(){
char s[20];
int r;
  printf("Introduce tema:\n");
  gets(s);
  for(r=0;r<5;r++){
    if(!strcmp(s,arreglot[r].tema)) break;
  }
  if(r==5){
    printf("tema no esta...\n");
    return(-1);
  }
  return r;   
}

void entras(char *promp, char *s, int num){
char c[100];
  do{
  printf("%s",promp);
  gets(c);
  if(strlen(c)>=num)
    printf("\nDemasiado largo...\n");
  }while(strlen(c)>=num);
  strcpy(s,c);
}

void introducir(void){
int i;
  do{
    for(i=0;i<max;i++){
      if(!*arreglot[i].tema) break;
    }
    //i=0;
    printf("Reg: %d\n",i);
    if(i>=max){
      printf("Arreglo de temas max...");
      break;
    }else{
    puts("\nTerminar con linea en blanco...");  
    //puts("Introduce tema");
    //gets(arreglot[i].tema);
    entras("Introduce tema: \n",arreglot[i].tema,100); 
    if(!*arreglot[i].tema) break
    //puts("Introduce desc");
    //gets(arreglot[i].desc);    
    entras("Introduce descripcion: \n",arreglot[i].desc,900);
    if(!*arreglot[i].desc){
    *arreglot[i].tema='\0';
    break;
    }
     } 
  }while(1);
}

int main(void){
int menu,r;
char s[80];
  inicializar();
  do{
  printf("\n\t\tMENU \n");
  printf("1 Introducir Tema \n");
  printf("2 Desplegar Tema \n");
  printf("3 Actualizar Tema \n");
  printf("4 Eliminar Tema \n");
  printf("5 Listar Temas \n");
  printf("6 Guardar Temas \n");
  printf("7 Recuperar Temas \n");
  printf("8 Terminar \n");
  do{
  printf("Selecciona opcion:");
  gets(s);
  menu=atoi(s);
  }while(menu<0 || menu>9);
  switch(menu){
  case(1):
  introducir();
  break;
  case(2):
  r=encontrar();
  desplegar(r);
  break;
  case(3):
  r=encontrar();
  actualizar(r);
  break;
  case(4):
  r=encontrar();
  eliminar(r);
  break;
  case(5):
  listar();
  break;
  case(6):
  guardar();
  break;
  case(7):
  recuperar();
  break;
  case(8):
  puts("Fin del programa...");
  break;
  }
  }while(menu!=8);
 
return(0);
}

miércoles, 29 de enero de 2014

Programación android con CCTools y C-pc18

Pc18-Programa con arreglo de caracteres y
archivos.























#include<stdio.h>
#include<string.h>
char tema[100];
char desc[500];
void inic(void){
int t;
  for(t=0;t<100;t++){
    tema[t]='\0';
  }
  for(t=0;t<500;t++){
    desc[t]='\0';
  }
}    
void introducir(void){
int r;
char t1[100];
char t2[200]; 
  for(r=0;r<5;r++){
    if(!tema[r*20]) break;
  }
  if(r==5){
    printf("Lista de temas completa...");
  }else
    printf("Reg: %d\n",r);
    puts("\nIntroduce tema, max. 20 caracteres: ");
    gets(t1);   
    if(strlen(t1)>20){
    printf("\nTema %d > 20 caracteres...\n",strlen(t1));
    printf("Repite 1.Introducir Tema...\n");    
    }else{
    strcpy(&tema[r*20],t1); 
      //gets(&tema[r*20]);
      puts("\nIntroduce desc, max 100 caracteres: ");
      gets(t2);      
      if(strlen(t2)>100){
      printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
      printf("Repite 1.Introducir Tema...\n");
      tema[r*20] = '\0';
      }else{
      strcpy(&desc[r*100],t2);
      }
    }  
  }
}
int encontrar(){
char s[20];
int r;
  printf("Introduce tema:\n");
  gets(s);
  for(r=0;r<5;r++){
    if(!strcmp(s,&tema[r*20])) break;
  }
  if(r==5){
    printf("tema no esta...\n");
    return(-1);
  }
  return r;   
}
 
void desplegar(int nt){
//int nt;
  printf("\nTema:%s \nDescripción: %s\n",&tema[nt*20],&desc[nt*100]);
}
void actualizar(int nt){
int r;
char t1[100];
char t2[200];
  r = nt;
  printf("Reg: %d\n",r);
  puts("\nIntroduce tema, max. 20 caracteres: ");
  gets(t1);   
  if(strlen(t1)>20){
  printf("\nTema %d > 20 caracteres...\n",strlen(t1));
  printf("Repite 1.Introducir Tema...\n");
  }else{
    strcpy(&tema[r*20],t1); 
    puts("\nIntroduce desc, max 100 caracteres: ");
    gets(t2);      
    if(strlen(t2)>100){
    printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
    printf("Repite 1.Introducir Tema...\n");
    tema[r*20] = '\0';
    }else{
    strcpy(&desc[r*100],t2);
    }
  }     
}
void eliminar(int nt){
  tema[nt*20] = '\0';
  desc[nt*100] = '\0';
  puts("Tema y Descripción eliminados: "); 
}
void listar(void){
int r;
  for(r=0;r<5;r++){
    printf("\nTema:%s \nDescripción: %s\n",&tema[r*20],&desc[r*100]);
  }
}

void guardar(void){
int i;
FILE *fp;
if((fp=fopen("temas.txt","w")) == 0){
puts("No se puede abrir temas");
}else{
  for(i=0;i<100;i++){
  putc(tema[i],fp);
  }
  for(i=0;i<500;i++){
  putc(desc[i],fp);
  }
  fclose(fp);
}
}
void recuperar(void){
int i;
FILE *fp;
if((fp=fopen("temas.txt","r")) == 0){
puts("No se puede abrir temas");
}else{
  puts("Recuperando Tema...\n");
  for(i=0;i<100;i++){
  tema[i] = getc(fp);
  }
  puts("Recuperando Desc...");
  for(i=0;i<500;i++){
  desc[i] = getc(fp);
  }
  fclose(fp);
}
}
int main(void){
char ca;
int nt;
inic();
//introducir(); 
  do{
  printf("\n\t\tMENU");
  printf("\n1.Introducir Tema\n");
  printf("2.Desplegar Tema\n");
  printf("3.Actualizar Tema\n");
  printf("4.Eliminar Tema\n");
  printf("5.Listar Temas\n");
  printf("6.Guardar Temas\n");
  printf("7.Recuperar Temas\n");
  printf("8.Terminar \n");
  do{
  printf("Seleccionar Opción: ");
  //ca=getchar();
  gets(&ca);
  }while(ca<'1' || ca>'8');
  printf("\n"); 
  switch(ca){
     case'1':
     introducir();
     //listar();
     break;
     case'2':
     nt=encontrar();
     if(nt!=-1) desplegar(nt);
     break;
     case'3':
     nt=encontrar();
     if(nt!=-1) actualizar(nt); 
     break;
     case'4':
     nt=encontrar();
     if(nt!=-1) eliminar(nt);
     break;
     case'5':
     listar();
     break;
     case'6':
     guardar();
     break;
     case'7':
     recuperar();
     break;
     case'8':
     printf("Fin del programa...");
     return(0);     
  }  
  }while(ca!='8'); 
 
  return(0);
}
  

Programación android con CCTools y C-pc17

Pc17-Programa con arreglo de caracteres 























#include<stdio.h>
#include<string.h>
char tema[100];
char desc[500];

void inic(void){
int t;
  for(t=0;t<100;t++){
    tema[t]='\0';
  }
  for(t=0;t<500;t++){
    desc[t]='\0';
  }
}    

void introducir(void){
int r;
char t1[100];
char t2[200]; 
  for(r=0;r<5;r++){
    if(!tema[r*20]) break;
  }
  if(r==5){
    printf("Lista de temas completa...");
  }else
    printf("Reg: %d\n",r);
    puts("\nIntroduce tema, max. 20 caracteres: ");
    gets(t1);   
    if(strlen(t1)>20){
    printf("\nTema %d > 20 caracteres...\n",strlen(t1));
    printf("Repite 1.Introducir Tema...\n");    
    }else{
    strcpy(&tema[r*20],t1); 
      //gets(&tema[r*20]);
      puts("\nIntroduce desc, max 100 caracteres: ");
      gets(t2);      
      if(strlen(t2)>100){
      printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
      printf("Repite 1.Introducir Tema...\n");
      tema[r*20] = '\0';
      }else{
      strcpy(&desc[r*100],t2);
      }
    }  
  }
}

int encontrar(){
char s[20];
int r;
  printf("Introduce tema:\n");
  gets(s);
  for(r=0;r<5;r++){
    if(!strcmp(s,&tema[r*20])) break;
  }
  if(r==5){
    printf("tema no esta...\n");
    return(-1);
  }
  return r;   
}
 
void desplegar(int nt){
//int nt;
  printf("\nTema:%s \nDescripción: %s\n",&tema[nt*20],&desc[nt*100]);
}
void actualizar(int nt){
int r;
char t1[100];
char t2[200];
  r = nt;
  printf("Reg: %d\n",r);
  puts("\nIntroduce tema, max. 20 caracteres: ");
  gets(t1);   
  if(strlen(t1)>20){
  printf("\nTema %d > 20 caracteres...\n",strlen(t1));
  printf("Repite 1.Introducir Tema...\n");
  }else{
    strcpy(&tema[r*20],t1); 
    puts("\nIntroduce desc, max 100 caracteres: ");
    gets(t2);      
    if(strlen(t2)>100){
    printf("\nDescripción %d > 100 caracteres...\n",strlen(t2));
    printf("Repite 1.Introducir Tema...\n");
    tema[r*20] = '\0';
    }else{
    strcpy(&desc[r*100],t2);
    }
  }     
}

void eliminar(int nt){
  tema[nt*20] = '\0';
  desc[nt*100] = '\0';
  puts("Tema y Descripción eliminados: "); 
}


void listar(void){
int r;
  for(r=0;r<5;r++){
    printf("\nTema:%s \nDescripción: %s\n",&tema[r*20],&desc[r*100]);
  }
}  

int main(void){
char ca;
int nt;
inic();
//introducir(); 
  do{
  printf("\nMenu: \n");
  printf("\n1.Introducir Tema\n");
  printf("2.Desplegar Tema\n");
  printf("3.Actualizar Tema\n");
  printf("4.Eliminar Tema\n");
  printf("5.Listar Temas\n");
  printf("6.Terminar Tema\n");
  do{
  printf("Seleccionar Opción: ");
  //ca=getchar();
  gets(&ca);
  }while(ca<'1' || ca>'6');
  printf("\n"); 
  switch(ca){
     case'1':
     introducir();
     //listar();
     break;
     case'2':
     nt=encontrar();
     if(nt!=-1) desplegar(nt);
     break;
     case'3':
     nt=encontrar();
     if(nt!=-1) actualizar(nt); 
     break;
     case'4':
     nt=encontrar();
     if(nt!=-1) eliminar(nt);
     break;
     case'5':
     listar();
     break;
     case'6':
     printf("Fin del programa...");
     return(0);     
  }  
  }while(ca!='6'); 
 
  return(0);
}

Programación android con CCTools y C - pc16

Pc16-Arreglo de caracteres y
memoria dinámica 























#include<stdio.h>
#include<stdlib.h>
int main(void){
char nombre[20];
char tema[100];
char desc[200];
int i;
struct xtemas{
char tema1[50];
char desc1[100];
}temasx[2];
  //ESTRUCTURAS Y ARREGLOS DE CARACTERES
 
  //arreglo de caracteres nombre
  printf("\nIntroducir nombre: ");
  gets(nombre);
  printf("Hola %s\n",nombre);
 
  //arreglo de caracteres tema
  printf("\nSolo un tema: \n");
  printf("\nIntroducir tema: ");
  gets(tema);
  printf("Tema %s\n",tema);
 
  //arreglo de caract. tema
  printf("\nVarios temas: \n");
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(&tema[i*50]);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema[i*50]);
  }
  //arreglo de caract. tema y desc
  printf("\nVarios temas con descripcion: \n");
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(&tema[i*50]);
 
  printf("\nIntroducir desc: ");
  gets(&desc[i*100]);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema[i*50]);
    printf("Desc: %s\n",&desc[i*100]);
  }
  
  //structura de xtemas
  printf("\nVarios temas con descripcion: \n");
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(temasx[i].tema1);
 
  printf("\nIntroducir desc: ");
  gets(temasx[i].desc1);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",temasx[i].tema1);
    printf("Desc: %s\n",temasx[i].desc1);
  }
   
  //PUNTEROS Y MEM DINAMICA DE CARACTERES
 
  //Puntero de una variable entera
  int j,*k,l;
  j=23; // j-1024-0023
  k=&j; // k-1028-1024
  l=*k; // l-1032-0023
  printf("\nValor de l= %d\n",l);
 
  //Variable nombre2 como puntero
  char *nombre2;
 
  nombre2 = malloc(10);
  printf("\nIntroducir nombre: ");
  gets(nombre2);
  printf("Hola %s\n",nombre2);
 
   
  //arreglo de caracteres tema2
  char *tema2;
 
  tema2 = malloc(100);
  printf("\nSolo un tema: \n");
  printf("\nIntroducir tema: ");
  gets(tema2);
  printf("Tema %s\n",tema2);
  free(tema2);
  
  //arreglo de caract. tema2
  printf("\nVarios temas: \n");
  tema2 = malloc(100);
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(&tema2[i*50]);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema2[i*50]);
  }
  free(tema2);
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema2[i*50]);
  }
 
 
  //arreglo de caract. tema y desc
  //char *tema2;
  char *desc2;
 
  printf("\nVarios temas con descripcion: \n");
  tema2 = malloc(100);
  desc2 = malloc(200);
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(&tema2[i*50]);
 
  printf("\nIntroducir desc: ");
  gets(&desc2[i*100]);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",&tema2[i*50]);
    printf("Desc: %s\n",&desc2[i*100]);
  }
  free(tema2);
  free(desc2);
   
 
  //structura de ytemas
 
  struct ytemas{
  char tema2[50];
  char desc2[100];
  };
  struct ytemas *temasy;
  printf("\nVarios temas con descripcion: \n");
  temasy = malloc(300);
  for(i=0; i<2; i++){
  printf("\nIntroducir tema: ");
  gets(temasy[i].tema2);
 
  printf("\nIntroducir desc: ");
  gets(temasy[i].desc2);
  }
 
  printf("\nLista de temas: \n");
  for(i=0; i<2; i++){
    printf("Tema: %s\n",temasy[i].tema2);
    printf("Desc: %s\n",temasy[i].desc2);
  }
  free(temasy);
 
return 0;
}

sábado, 21 de diciembre de 2013

Programación android con CCTools y C - pc15_Calc7

Ver video:  pc15-Calc7

/*pc15-Calculadora de operaciones
matemáticas y trigonométricas
con datos decimales introducidos por
con teclado de pantalla son validados
y llama las funciones y retornar
un valor a la función principal main*/
























/*Ver pc02 y seguir los procedimientos
de introducir el programa con el editor de
CCTools, guardalo con save como pc15.c,
compilar con run, si hay errores corregirlos
en el editor, hasta que se ejecute bien y se
obtengan los resultados deseados*/
/*Operación con funciones matemáticas
como la Raíz cuadrada y trigonométricas,
ebe incluirse la librería math.h y
compilarse con build y aparece un
ventana de compile source file
en arguments poner -lm y activar
build ejecutable y run, aparece
otra ventana de ejecute file y pide
line arguments que no se pone nada
y se continua la ejecución*/

/*Un programa en C primero debe
incluir librerías que usara el
programa*/
#include<stdio.h>
#include<math.h>
/*En C se puede crear nombres
constantes con define que son
sustituidos por su valor en el
programa*/
#define DOSMILLONES 2000000.00
#define MENOSDOSMILLONES -2000000.00
/*Un programa en C esta constituido
por funciones que son llamadas por
la función main o principal*/
/*Función de suma fsuma recibe de
main los decimaled float v1, v2 y
realiza la operación aritmética de
suma, y retorna un resultado
decimal int r1 a la función main*/
float fsuma(float v1, float v2){
float r1;
r1=v1+v2;
return r1;
}
/*Función de resta fresta recibe de
main los decimales float v1, v2 y
realiza la operación aritmética de
resta y retorna un resultado
decimal float r1 a la función main*/
float fresta(float v1, float v2){
float r1;
r1=v1-v2;
return r1;
}
/*Función de multiplica fmultiplica recibe de
main los decimales float v1, v2 y
realiza la operación aritmética de
multiplica y retorna un resultado
decimal float r1 a la función main*/
float fmultiplica(float v1, float v2){
float r1;
r1=v1*v2;
return r1;
}

/*Función de divide fdivide recibe de
main los decimales float v1, v2 y
realiza la operación aritmética de
divide y retorna un resultado
decimal float r1 a la función main*/
float fdivide(float v1, float v2){
float r1;
r1=v1/v2;
return r1;
}
/*Función de resto fresto recibe de
main los enteros int v1, v2 y
realiza la operación aritmética de
resto y retorna un resultado
entero int r1 a la función main*/
int fresto(int v1, int v2){
int r1;
r1=v1%v2;
return r1;
}
/*Un programa en C esta constituido
por funciones, una debe ser main y
llamara a las funciones anteriores y sera
el punto de entrada al ejecutarse el programa*/


int main(){
/*Una función como main es una secuencia de
instrucciones que realiza operaciones
con datos. Primero debe definirse los datos asignando
una variable con un nombre y un valor inicial de 0, como
dato1, dato2 y su tipo de datos decimales float*/
float dato1=0,dato2=0,tot=0;
int dato3=0,operacion=0;
float adato4[100];
float dato5=0;
int i,j,k;
do{
printf("\nCalculadora Matemática \n");
printf("Selecciona Operación: \n");
printf("0-FIN \n");
printf("1-Aritmética \n");
printf("2-Trigonométrica \n\n");
printf("Introduce Operación: ");
scanf("%d",&operacion);
if(operacion==0){
printf("Fin de Calcular: \n");
break;
}
if((operacion<0) || (operacion>2)){
printf("Operación Inválida \n");
continue;
}
if(operacion==1){
//Indice j=0 de arreglo adato4
j=0;
//Limpiamos adato4
for(i=0; i<100; i++){
adato4[i] = '\0';
}
/*Asignamos un min. y max a los decimales
permitidos*/
float imin = MENOSDOSMILLONES;
float imax = DOSMILLONES;

/*Desplegamos el decimal float máximo y minimo
permitido*/
printf("Decimal Max Permitido: %.2f \n",imax);
printf("Decimal Min Permitido: %.2f \n",imin);
/*Desplegamos que se introduzcan
los datos por la pantalla*/
printf("Introduce dato decimal: ");
scanf("%f",&dato1);

/*Utilizamos la instrucción de decisión y
repetición while para probar dos condiciones de los
valores del dato introducido si son
permitidos, si alguna o las dos se cumplen,
se despliega fuera de rango, se
repite pedir e introducir de nuevo el dato*/
while((dato1>=imax) || (dato1<=imin)){
  printf("Dato fuera de rango permitido \n");
  printf("Introduce dato decimal: ");
  scanf("%f",&dato1);
}
printf("Subtotal= %.2f \n",dato1);
do{
printf("\nCalculadora Decimal \n");
printf("Selecciona Operación: \n");
printf("0-FIN \n");
printf("1-Suma \n");
printf("2-Resta \n");
printf("3-Multiplica \n");
printf("4-Divide \n");
printf("5-Raíz cuadrada \n\n");
printf("Introduce Operación: ");
scanf("%d",&operacion);
if(operacion==0){
printf("Fin de Calcular: \n");
break;
}
if((operacion<0) || (operacion>5)){
printf("Operación Inválida \n");
continue;
}
printf("Introduce dato decimal: ");
scanf("%f",&dato2);
/*Utilizamos la instrucción de decisión y
repetición while para probar dos condiciones
de los valores del dato introducido si son
permitidos, si alguna o las dos se cumplen,
se despliega fuera de rango, se
repite pedir e introducir de nuevo el
dato*/
while((dato2>=imax) || (dato2<=imin)){
  printf("Dato fuera de rango permitido \n");
  printf("Introduce dato decimal: ");
  scanf("%f",&dato2);
}

switch(operacion){
  case(1):
  /*Operación suma*/
  dato1=(dato1+dato2);
  break;
  case(2):
  /*Operación resta*/
  dato1=(dato1-dato2);
  break;
  case(3):
  /*Operación multiplica*/
  dato1=(dato1*dato2);
  break;
  case(4):
  /*Operación divide*/
  dato1=(dato1/dato2);
  break;
  case(5):
  /*Operación raíz cuadrada*/
  dato1=sqrt(dato2+dato1);
  break;
}//switch
if(j<100){
  adato4[j] = dato1;
}else{
  printf("Arreglo de datos lleno...");
}
j++;
/*Subtotal de cada operación*/
printf("Subtotal= %.2f \n",dato1);
//Sumamos dato1 a dato3
tot = tot + dato1; 
}while((operacion>=0)||(operacion<=4));
k=0;
dato5=0;
printf("\nArreglo de datos\n");
for(i=0;i<100;i++){
  if(!adato4[i]) continue;
  k++;
  dato5 = dato5 + adato4[i];
printf("Dato: %.2f\n",adato4[i]);
}
/*Total de todas las operaciones*/
printf("Total= %.2f\n",tot);
tot = 0;
printf("Promedio: %.2f\n",dato5/k);

}//Fin op arit.
if(operacion==2){
do{
printf("\nCalculadora Trigonométrica \n");
printf("Selecciona Operación: \n");
printf("0-FIN \n");
printf("1-Coseno \n");
printf("2-Seno \n");
printf("3-Tangente \n\n");
printf("Introduce Operación: ");
scanf("%d",&operacion);
if(operacion==0){
printf("Fin de Calcular: \n");
break;
}
if((operacion<0) || (operacion>3)){
printf("Operación Inválida \n");
continue;
}
dato1=0;
printf("Introduce grados en decimal: ");
scanf("%f",&dato2);
/*Operación Coseno*/
if(operacion==1){
dato3=dato2;
//Convierte grados a radianes
dato2= dato2*(3.142/180.0);
printf("Cos(%d)Grados = %f \n",dato3,cos(dato2));
}
/*Operación Seno*/
if(operacion==2){
dato3=dato2;
//Convierte grados a radianes
dato2= dato2*(3.142/180.0);
printf("Sen(%d)Grados = %f \n",dato3,sin(dato2));
}
/*Operación Tangente*/
if(operacion==3){
dato3=dato2;
//Convierte grados a radianes
dato2= dato2*(3.142/180.0);
printf("Tan(%d)Grados = %f \n",dato3,tan(dato2));
}
}while((operacion>=0)||(operacion<=3));

}//Fin op. trigonométricas
}while((operacion>=0)||(operacion<=2));
//Fin de calculadora matemática
/*La función main debe tener un retorno
de 0 errores al sistema operativo*/
return 0;
}

sábado, 2 de noviembre de 2013

Edad de la Información y el Conocimiento 1

La Edad de la Información y el Conocimiento
VER VIDEO EYDH en internet 

EYDH V3

Ver EYDH en Internet
Vivimos en la época de la información y del conocimiento, de los grandes descubrimientos científicos, también de los maravillosos inventos tecnológicos en el que el hombre actual está inmerso, computadoras, internet, teléfonos celulares e inteligentes, naves espaciales, satélites, energía nuclear etc.  Pero sabemos ¿Cómo el ser humano llego a estos niveles de inteligencia? Si, es el resultado de la evolución del universo y del desarrollo humano. La información es conocimiento  que adquiere el hombre con inteligencia. En todas las épocas de la historia del ser humano inteligente ha generado la información, al principio en la prehistoria muy poca y actualmente en la época de la información existe en gran cantidad.  Toda la ha creado el hombre inteligente al enfrentarse con algún problema y solucionarlo, en un proceso de investigación de algún fenómeno natural o social, inicia con obtener datos de ese fenómeno determinado  y con la observación, experimentación y solución del problema resulta la información y el conocimiento.  El hombre prehistórico comunicaba la información directamente hablando de sus experiencias, dando consejos, procedimientos prácticos. Cuando se invento la escritura la información quedo registrada para la posteridad en tablas de barro, pergaminos, papiros, después en libros  y se concentraban en bibliotecas. En esas épocas, muy pocos tenían acceso a la información. Ahora toda la información se concentra en una biblioteca global que es internet. Ahí está  la información disponible para que todas las personas del mundo la utilicen, internet es la red de redes de comunicaciones. Solo con un proceso de enseñanza aprendizaje la información se transforma y el hombre adquiere los  conocimientos generales, de ciencia y tecnología, en sus diferentes niveles de comprenderlos, aplicarlos, analizarlos, sintetizarlos y evaluarlos. El conocimiento lo puede adquirir cualquier persona con un poco de esfuerzo y voluntad, a través del aprendizaje como complemento y recordatorio a los adquiridos en la escuela. Toda la vida necesitamos aprender nuevos conocimientos, ahora usando la tecnología de la información de internet, podemos tener acceso a la información  por medio de computadoras o teléfonos celulares inteligentes. Pero la adquisición de conocimientos se facilita si tenemos un modelo de aprendizaje adecuado si utilizamos la gran capacidad de almacenamiento de una computadora o un teléfono inteligente creando y conteniendo una base de conocimientos científicos básicos  como EYDH de la evolución universal y desarrollo humano, que incluye también un proyecto de vida personal que nos guíe en nuestra existencia de forma inteligente y que esté disponible directamente en la computadora de nuestra casa o en el teléfono inteligente. En ambos casos podemos constantemente actualizar la base de conocimientos con lectura de libros y revistas, o con comentarios, opiniones de la radio, la televisión y de internet.

Primero debemos entender el significado de la información y el conocimiento. La información son datos, hechos, experiencias, de procesos o fenómenos naturales y artificiales que están almacenados en algún medio físico como la memoria humana, o el uso de la tecnología de la información y comunicación hecha por el hombre al inventar la escritura, la información la registro en una tabla de arcilla o barro, un papiro, un pergamino, un libro, un disco magnético, el usb, cd, dvd, o en internet. El conocimiento en el hombre, es un proceso mental de aprendizaje, que necesita cierto grado de inteligencia y pueda quedar registrado en la memoria. Solo con el proceso de adquirir conocimientos una persona puede recuperar la información almacenada en otra persona, tal como la enseñanza-aprendizaje de una persona que enseña y de otra persona que recibe la información, la procesa y aprende o adquiere conocimientos.  Todos pasamos por un proceso de enseñanza-aprendizaje en la familia, en la escuela de los diferentes grados desde preprimaria hasta los superiores, pero los conocimientos que adquirimos se olvidan  y con el tiempo son solo chispazos de conocimientos, excepto los que practicamos en nuestro trabajo que quedan grabados permanentemente. Algunas personas posteriormente siguen un proceso de auto aprendizaje de utilizar la tecnología de información y comunicación desde leer un libro, escuchar la radio y ver la televisión de programas educativos, recuperar la información con una computadora almacenada en un disco duro,  usb, cd o dvd. También de recuperar la información de un teléfono inteligente o una tablet de su memoria interna, y externa en sd o  microsd.  Por último el acceso a internet por medio de una computadora, internet es una red de redes de computadoras, que se extiende por todo el mundo, cada una de ellas contiene información almacenada en medios magnéticos. Pero fácilmente no perdemos en un mundo de información, es muy  importante tener un modelo de aprendizaje que lo facilite, por tal razón hemos propuesto la base de conocimientos EYDH de la Evolución y desarrollo Humano, que hemos tratado en  blogs anteriores. En todos los casos las personas en menor o mayor grado puede conocer, comprender, aplicar, analizar, sintetizar y evaluar esos conocimientos. Los conocimientos son todos aquellos que forman las ciencias y la tecnología de todas las áreas del pensamiento humano, pero el modelo propuesto es una línea del tiempo del pasado de la evolución física, biológica y social, el presente del desarrollo humano y el futuro con un proyecto de vida.   Una sociedad de la información y el conocimiento, son todas las personas que utilizan las tic o tecnologías de información y comunicación, para recuperar la información localmente o a gran distancia, procesarla y obtener conocimientos en sus diferentes grados y actualizarlos. Cabe señalar que la mayoría de la gente llega fácilmente al grado de conocimiento de solo conocer, más complicado y esfuerzo necesitan las personas de comprender y aplicar los conocimientos  y mucho más complicado y mayor esfuerzo de las personas de analizar, sintetizar y evaluar los conocimiento.
Recorreremos la prehistoria e historia de la humanidad para analizar como el hombre ha creado la tecnología de la información, como la procesa y obtiene conocimientos que ordenados y clasificados ha surgido las ciencias y la tecnología.   

Pasado de la Evolución Social
El hombre es estudiando por las Ciencias Sociales, para el estudio de la información, computación y las comunicaciones, nos basaremos en la historia de la humanidad en sus etapas de, Prehistoria con las épocas paleolítica y neolítica, la Historia en sus diferentes etapas de Edad Antigua desde la invención de la escritura hasta la caída del imperio romano, la Edad Media desde la caída del imperio romano hasta la caída de Constantinopla, Edad Moderna desde la caída de Constantinopla hasta la revolución francesa y la edad contemporánea desde la revolución francesa hasta nuestros días. Desde 1948 vivimos la Edad de la Información y el Conocimiento, terminamos con la descripción del mundo actual, naciones, estados, ciudades y pueblos, donde el hombre vive, como un ser  individual y social. Información.1. .2. .3.  

Prehistoria
El pensamiento del hombre primitivo es más instintivo de sobrevivir, de satisfacer sus primeras necesidades, de comer, reproducirse y morir. Los antecesores del hombre en las alturas de los árboles desarrollan la característica del sentido de la visión, el color para identificar  los alimentos y la destreza de las manos y brazos en el desplazamiento entre ellos. Cuando surgen los cambios ambientales y disminuye la vegetación y por lo tanto los alimentos, bajan a tierra firme en busca de comida, caminando grandes distancias y algunas veces tienen que correr para escapar del peligro, al mismo tiempo van adquiriendo su posición vertical. Estos primeros hombres son nómadas viven y se desplazan en un ambiente hostil y de depredación, siente miedo, terror y pavor de los fenómenos naturales del trueno, los rayos, las erupciones, temblores, etc. y principalmente de competir y enfrentarse a los depredadores mucho más fuertes y poderosos. Estos son los problemas cotidianos con que se enfrentaron, al comprenderlos y solucionarlos de forma inteligente desarrolla el cerebro con millones de conexiones de las neuronas formando la mente, como una red neuronal de energía electroquímica. Posiblemente hace 10 mil años sucede un gran evento, el hombre inicia el cambio de una vida nómada a una vida sedentaria al sembrar trigo, maíz, etc. nace la agricultura y de domesticar animales para comer, algunos para ayudar en el trabajo y otros para su protección, se establecen cerca de ríos construyendo sus casas y templos, porque saben que el agua es importante para ellos y para sus siembras. Surge una pareja hombre-mujer que ha desarrollado la suficiente inteligencia para pensar, sentir, actuar, inventar, tener perfectibilidad, una conciencia y un alma espiritual para la religión y culto, descubre la dualidad del bien y mal. Primero conviven en pareja de hombre-mujer y después como familia, finalmente como comunidades, crean tribus, clanes, pueblos y más tarde civilizaciones de diferentes grados de cultura y son la base de nuestro mundo actual. La socialización del hombre es por medio de un lenguaje para comunicarse entre dos personas o en grupo, así se incrementa sus facultades mentales. Para convivir se crean condiciones como reglas, normas, leyes del orden individual para mi, social de todos, económico para todos, político por todos. En general tratan de sobrevivir y aprovechar los recursos naturales y protegerlos, también de social e individualmente sobreponerse a sus instintos animales utilizando su inteligencia, y será esa lucha de la dualidad del bien y mal, la que se manifestara y actuara en toda la historia de la humanidad hasta la época actual. Información.1.

Sociedad Prehistórica de la Información y el Conocimiento
Desde que el hombre apareció hace 5 millones de años, obtenía información del medio ambiente y quedaban grabados en su memoria, los procesaba para obtener conocimientos que le ayudaban a sobrevivir en un ambiente hostil y salvaje, posteriormente los transmitía a sus descendientes. Desarrollo una tecnología de comunicación rudimentaria, primero con señas, gestos y después expresiones guturales hasta las palabras, creando un lenguaje que le permitía comunicarse con el grupo al que pertenecía y solo así podía transmitir sus experiencias. Experiencias de utilizar las manos para construir armas para defenderse de los depredadores, crear fuego, métodos de atacar y matar a un animal depredador o un animal para alimentarse, crear diversos utensilios y vestimenta, cultivar la tierra, domesticar animales. Solo con las experiencias como información transmitida a sus descendientes se creó una sociedad prehistórica de información y conocimientos.

Edad Antigua
La Edad Antigua abarca desde la aparición de la escritura hace 3 mil años AC hasta la caída del Imperio Romano en 476 DC. Parte de la historia antigua queda registrada en el antiguo testamento de la biblia texto escrito por varias personas en un periodo de 1000 años (900 a.C. - 100 d.C.) incluyendo el nuevo testamento. El viejo testamento de la biblia narra hechos del inicio de la humanidad con el génesis, la salida del paraíso de Adán y Eva, y todos sus descendientes que se esparcen por el mundo, hasta el nacimiento de Cristo, donde su doctrina es una nueva moral entre los hombres.  Al morir Cristo,  algunos de sus discípulos o apóstoles escriben la vida de Cristo como evangelios que son el contenido del nuevo testamento de la biblia. Otros la dan a conocer al mundo a través de la evangelización.  Los romanos la formalizan y crean la iglesia católica apostólica romana y perdura hasta hoy como una de las religiones más importantes en todo el mundo. Otros libros y escritos hablan de las civilizaciones y culturas de China, India, Egipto, Mesopotamia, Grecia, Roma y otros. Socialmente predomina la esclavitud, las guerras y los pueblos sometidos por otros pueblos imperialistas más poderosos, siempre con el fin de apropiarse de sus propiedades y riquezas. Información.1.

Sociedad Antigua de la Información y el Conocimiento
Con la invención de la escritura, la información queda registrada en tablas de arcilla o barro, papiro y pergaminos, surgiendo una tecnología de información y comunicación manual muy rudimentaria. Donde quedan registrados experiencias, y hechos históricos. Es en Grecia donde surgen las ideas filosóficas y se desprenden  las ciencias quedando registrados los conocimientos particulares de cada una de ellas. En menor grado surgen procedimientos y métodos técnicos. Así aparece una sociedad antigua de la información y conocimientos, donde no todas las personas tenían acceso a la información y mucho menos los conocimientos, estaba restringidos a grupos privilegiados.     

Edad Media
La Edad Media abarca de la caída del Imperio Romano en 476 hasta la caída de Constantinopla en 1453 DC siglo XV. Está época caracteriza al mundo occidental por una sociedad religiosa sujeta a la iglesia católica representada por el papa que tiene fuerte influencia en lo político y social. El papa es el representante principal de la doctrina de Jesucristo que enseño una nueva moral para el hombre y la promesa de un vida nueva y mejor después de la muerte. El papa Constantino en el año 413 de nuestra era, formalizo la doctrina de Jesucristo en la iglesia católica romana. Después de la caída del imperio romano, pasa por la época feudal con gobiernos monárquicos, con guerras y conflictos  por el poder. Su economía está  basada en los productos obtenidos de la tierra realizado por los campesinos, tiene muy poco desarrollo en las ciencia y tecnología. Información.1.

Sociedad Medieval de la Información y el Conocimiento
Debido a la iglesia católica y sus representantes que tiene el poder, mantienen a la gente en la ignorancia y otro tanto está al servicio de los reinos feudales, no hay continuidad en el desarrollo de la tecnología de la información y la comunicación, escasamente conserva la antigua, se escriben muy pocas obras, de filosofía y teología, pero son dirigidas a reforzar el poder de la iglesia. Es con los musulmanes que invaden España, que dan a conocer en toda Europa, las obras clásicas de los griegos de todos los conocimientos por ellos desarrollados. Con esto surge la escolástica, pero todavía bajo el control de iglesia, crean las primeras escuelas para preparar primero a los representantes de la iglesia y muy poco a otras personas. Se crean las primeras universidades. La sociedad medieval de la información y el conocimiento, está íntimamente relacionada y controlada por la religión, en occidente por la iglesia romana y sus representantes como un grupo privilegiado de adquirir conocimientos, muy pocos asisten a las universidades, la mayor parte de la sociedad está exenta de adquirirlos, y por lo tanto quedan en la ignorancia.      

Edad Moderna
La Edad Moderna abarca desde la caída de Constantinopla 1453 siglo XV hasta la Revolución Francesa en 1789 siglo XVIII. Surge el Renacimiento con la sociedad en  ciudades formando los nuevos estados, algunos hombres son de gran talento para todas las disciplinas del conocimiento humano, las bellas artes, filosofía, medicina, ciencias y tecnología. Se crea una economía de comercio y con el descubrimiento y conquistas de nuevas tierras algunas naciones europeas se benefician y crean colonias en todo el mundo. Con la revolución francesa termina la edad moderna e inicia el fin de privilegios feudales y gobiernos monárquicos y surge la burguesía de gente de clase media y alta, una nueva clase social que formara el sistema capitalista de la edad contemporánea. Información.1.

Sociedad Moderna de la Información y el Conocimiento
La invención de la imprenta facilita la producción semiautomática del libro, superando en gran medida a los libros hechos manualmente, la información queda registrada en muchos libros y pueden leerse, por una gran cantidad personas, se beneficia la tecnología de la información y comunicación para llegar a un mayor número de personas de adquirir conocimientos. La sociedad moderna de la información y el conocimiento son todas las personas que adquieren los libros y todos aquellos que tienen acceso a una biblioteca pública, ambos con el fin de obtener conocimientos en todos los temas del pensamiento humano. Hasta hoy, el libro es el medio más usado por la humanidad para adquirir conocimientos. Se incrementa la asistencia en todos los niveles de las escuelas y un poco menos en las universidades. De gran importancia es el surgimiento de la primera revolución industrial, del uso de las maquinas de vapor, en fabricas y transportes como barcos y ferrocarriles. Generando gran cantidad de información como procedimientos  de trabajo y métodos técnicos de manejar y controlar las maquinas, pero solo accesible a un grupo de personas privilegiadas, los que estudian la tecnología en las escuelas superiores. Información.1.