Post on 25-Jan-2016
description
Professor: Aquiles Burlamaqui
Construção de Algoritmos
Construção de AlgoritmosAULA 04
Aquiles BurlamaquiUERN2007.1
Professor: Aquiles Burlamaqui
Construção de Algoritmos
…previously
Estrutura de dados homogêneas Vetores Matrizes
Professor: Aquiles Burlamaqui
Construção de Algoritmos#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
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 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
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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
Construção de Algoritmos
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.