Construção de Algoritmos Construção de Algoritmos AULA 04 Aquiles Burlamaqui UERN 2007.1 Professor: Aquiles Burlamaqui Construção de Algoritmos …previously Estrutura de dados homogêneas Vetores Matrizes Professor: Aquiles Burlamaqui #include <stdio.h> Construção de Algoritmos int main() { //array, vetor, lista int num[10] = {1,2,3,4,5,6,7,8,9,10}; int numB[10] = {10,10,10,10,20,20,20,30,30,30}; int i; float flutuantes[5] = {0.4,0.6,0.8,0.9,1.5}; char nome[50] = "Jose da Silva Junior"; char titulo[] = "graduando"; for(i=0;i<10;i++) { num + numB } printf("Vetor de Inteiros: \n"); for(i=0;i<10;i++) { printf("%d, ",num[i]); } printf("\n\nVetor de Flutuantes: \n"); for(i=0;i<5;i++) { printf("%0.1f, ",flutuantes[i]); } printf("\n\nVetor de caracteres: \n"); for(i=0;i<50;i++) { printf("%c",nome[i]); } } printf("\n\nVetor de caracteres: \n"); /*for(i=0;i<50;i++) { printf("%c",titulo[i]); }*/ puts(titulo); getch(); Professor: Aquiles Burlamaqui Construção de Algoritmos Exemplo com Matrizes #include <stdio.h> int main() { int matriz[10][3]; int i,j; printf("Matriz de Inteiros: \n"); for(i=0;i<10;i++) { for(j=0;j<3;j++) matriz[i][j] = i*j; } } for(i=0;i<10;i++) { for(j=0;j<3;j++) printf("\nnum[%d][%d]=%d ",i,j,matriz[i][j]); } getchar(); Professor: Aquiles Burlamaqui Construção de Algoritmos Conteúdo Programático Unidade I Fundamentos de Lógica de Programação Estruturas de Dados Homogêneas (vetores e matrizes) Unidade II Estruturas de Dados Heterogêneas (registros) Modularização Algoritmo (metalinguagem) Conceitos de memória, variáveis e constantes. Tipos básicos de dados Operadores aritméticos, relacionais e lógicos. Comandos básicos de entrada e saída e atribuição Conceito de bloco de comandos Estruturas de controle de fluxo – condicionais (se, se-senão e caso) Estruturas de controle de fluxo – repetições (para, enquanto e repita-enquanto) Variáveis locais e globais Funções Passagem de parâmetros por valor e por referência Funções recursivas Biblioteca de funções Unidade III Algoritmos de Busca Ponteiros Conceitos Operador endereço e operador de acesso indireto Alocação dinâmica de memória Arquivo Professor: Aquiles Burlamaqui Construção de Algoritmos Stdio.h ( Funções de entrada e saída via teclado e em arquivos) int getc (FILE *stream); lê um caracter de um arquivo. int getch(void); lê um caracter do teclado. int getchar (void); lê um caracter do teclado. char *gets (cahr *dest); lê string do teclado. char printf (char *format[, argumentos, ..]); copia no vídeo (textos, variáveis). char putc (int c, FILE *stream);imprime um caracter no arquivo especificado. char putchar (int c); imprime caracter c no vídeo. char puts (char *string); escreve string no vídeo. char scanf (char *format [,argumentos, ...]); lê seqüência de caracteres ou valor. Professor: Aquiles Burlamaqui Construção de Algoritmos Math.h (Funções para cálculos matemáticos) int abs (int num); retorna o valor absoluto de um inteiro. double acos (double x); retorna o arco cosseno de um valor ( -1 = 1). double asin (double x); retorna o arco seno de um valor. double atan (double x); retorna o arco tangente de um valor. double atan2 (double y, double x); retorna o arco (radianos) de tangente x/y. double atof (char *string);converte cadeia de caracteres em número ponto flutuante. double cabs (estrutura); retorna valor absoluto em número complexo(estrutura). double ceil (double x); arredonda x para o menor inteiro não menor que x. double cos (double x); retorna o cosseno de um ângulo (em radianos). double cosh (double x); retorna cosseno hiperbólico ângulo x (em radianos). double fabs (double x); calcula valor absoluto de número (double). double floor (double x); retorna maior inteiro não maior que x. double fmod (double x, double y); retorna o resto da divisão de x por y. double hypot (double x, double y); calcula hipotenusa triângulo catetos x y long labs (long x); retorna o valor absoluto de long x. double log (double x); calcula o logaritmo neperiano de x. double log10 (double x); calcula o logaritmo base 10 de x. double modf (double x, double *parte_inteira); retorna a parte fracionária. double poly (double x, int grau, double coeficientes []); valor x polinômio. double pow (double x, double y); calcula x elevado a y. double pow10 (int x); retorna 10 elevado a x. int rand (void); retorna números randômicos. double sin (double x); calcula o seno de um ângulo (radiano). double sinh (double x); retorna o seno hiperbólico de x (em radianos). double sqrt (double x); calcula raiz quadrada de x. Professor: Aquiles Burlamaqui