180 likes | 290 Views
Construção de Algoritmos AULA 04. Aquiles Burlamaqui UERN 2007.1. …previously. Estrutura de dados homogêneas Vetores Matrizes. #include <stdio.h> 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};
E N D
Construção de AlgoritmosAULA 04 Aquiles BurlamaquiUERN 2007.1 Professor: Aquiles Burlamaqui
…previously • Estrutura de dados homogêneas • Vetores • Matrizes Professor: Aquiles Burlamaqui
#include <stdio.h> 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
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
Conteúdo Programático • Unidade I • Fundamentos de Lógica de Programaçã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) • Estruturas de Dados Homogêneas (vetores e matrizes) • Unidade II • Estruturas de Dados Heterogêneas (registros) • Modularização • 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
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
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
Exercícios seqüenciais/Condicionais • 1)Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer no plano, P(x1,y1) e P(x2,y2), escreva a distância entre eles. A fórmula que efetua tal cálculo é: d=sqrt((x2-x1)²+(y2-y1)²); Professor: Aquiles Burlamaqui
Exercícios seqüenciais/Condicionais 2)Escreva um algoritmo que leia três números inteiros e positivos (A, B, C) e calcule a seguinte expressão: d=(r+s)/2, onde r=(a+b)² e s=(b+c)² Professor: Aquiles Burlamaqui
Exercícios seqüenciais/Condicionais 3)Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e mostre-a expressa apenas em dias. Professor: Aquiles Burlamaqui
Exercícios seqüenciais/Condicionais 4)Faça um algoritmo que leia o tempo de duração de um evento em uma fábrica expressa em segundos e mostre-o expresso em horas, minutos e segundos. Professor: Aquiles Burlamaqui
Exercícios seqüenciais/Condicionais 5)O custo ao consumidor de um carro novo é a soma do custo de fábrica com a percentagem do distribuidor e dos impostos (aplicados ao custo de fábrica). Supondo que a percentagem do distribuidor seja de 28% e os impostos de 45%, escrever um algoritmo que leia o custo de fábrica de um carro e escreva o custo ao consumidor. Professor: Aquiles Burlamaqui
Exercícios estrutura de repetição • 6)Faça um programa que implemente um menu com 10 opções de piadas. Quando o usuário escolher uma delas a piada deverá ser exibida. Professor: Aquiles Burlamaqui
Exercícios estrutura de repetição • 7)Faça um programa que verifique e mostre os números entre 1000 e 2000 (inclusive) que, quando divididos por 11, produzam resto igual a 5. Professor: Aquiles Burlamaqui
Exercícios estrutura de repetição • 8)Faça um programa que leia um valor n, inteiro e positivo, calcule e mostre a seguinte soma: S=1 + 1/2 + 1/3 + 1/4 + ... + 1/n. Professor: Aquiles Burlamaqui
Exercícios estrutura de repetição • 9)Faça um programa que mostre a tabuada dos números de 1 a 10. Professor: Aquiles Burlamaqui
Exercícios estrutura de repetição • 10)Faça um programa que receba a idade de 10 pessoas e que calcule e mostre a quantidade de pessoas com idade maior ou igual a 18 anos. Professor: Aquiles Burlamaqui
Linguagem C Professor: Aquiles Burlamaqui