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
Download

Aula04 - Aquiles Burlamaqui