Construção de Algoritmos AULA 04

18
Professor: Aquiles Burlamaqui Construção de Algoritmos Construção de Algoritmos AULA 04 Aquiles Burlamaqui UERN 2007.1

description

Construção de Algoritmos AULA 04. Aquiles Burlamaqui UERN 2007.1. …previously. Estrutura de dados homogêneas Vetores Matrizes. #include 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}; - PowerPoint PPT Presentation

Transcript of Construção de Algoritmos AULA 04

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.

Professor: Aquiles Burlamaqui

Construção de Algoritmos

Linguagem C