wellington felix. criada por brian kernighan e denis ritchie, na década de 1970, para uso em um...

57
Curso de Linguagem C Wellington Felix

Upload: internet

Post on 22-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Curso de Linguagem C

Wellington Felix

Page 2: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix

C++ é uma extensão da linguagem C

Histórico

Page 3: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Apostila: Curso de Linguagem C – UFMG, http://www.inf.ufsc.br/~fernando/ine5412/C_UFMG.pdf

Kernighan, Brian W. – C, A Linguagem de Programação Padrão Ansi, Editora Campus

Bibliografia

Page 4: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Compilador utilizado para converter código fonte em código de maquina executável

Pode ser baixado em: http://www.bloodshed.net/devcpp.html

Devcpp

Page 5: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Estruturação de um programa em Cdiretivas para o pré-processador

declaração de variáveis globais

int main (int argc, char * argv[]){

declaração de variáveis locais da função main

comandos da função main}

Page 6: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Diretiva #include permite incluir uma biblioteca

Bibliotecas contêm funções pré-definidas, utilizadas nos programas

Diretivas para o processadorTambém chamada de biblioteca

Biblioteca Usos

#include <stdio.h> Funções de entrada e saída

#include <stdlib.h> Funções padrões

#include <math.h> Funções matemáticas

#include <string.h> Funções de texto

Page 7: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

“Hello world” é referência ao programa mais simples a ser desenvolvido em uma linguagem de programação.

Normalmente, sua função é imprimir a mensagem “Hello World” (“Ola Mundo”) na tela do seu computador.

Primeiro Programa“Hello World”

#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){ printf (“Hello World!”); system(“PAUSE”);}

Page 8: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Termine todos os comandos com ; Quando ocorrer um erro de compilação, dê um

duplo clique sobre a mensagem de erro para destacar o comando errado no programa

Verifique também a linha anterior, que pode ser a responsável pelo erro, especialmente se faltar o ;

Use comentários. Eles são iniciados por // ou entre /* */◦ /* isto é um comentário */◦ // isto também é um comentário

Dicas

Page 9: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Usando comentários no“Hello World”

/* Meu primeiro programa em C */#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){ printf (“Hello World!”); // Imprime system(“PAUSE”); // Fica parado}

Page 10: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Variáveis são utilizadas para armazenamento de informações durante a execução do programa.◦ Cada variável pode armazenar um único tipo de

informação Toda variável precisa ser declarada antes de

ser utilizada. Os principais tipos de variáveis são: int,

float, double e char Uma variável pode ser inicializada durante

sua declaração.

Declaração de Variáveis

Page 11: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo de declaração de variáveis em C

#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

int idade;float altura;int x, y=1, z;double a = 1.5;char letra = ‘c’;

...}

Page 12: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Atribui o valor da direita à variável da esquerda

O valor pode ser:◦ uma constante◦ uma variável ◦ uma expressão

Atribuição

idade = 22; // idade recebe 22altura = 1.8; // altura recebe 1.8x = 4; // x recebe 4a = 1.5 + x; // a recebe 1.5 + xx = x + 1; // Incrementa x de 1letra = ‘c’; // letra recebe c

Page 13: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Função scanf ()scanf ("formatos", &var1, &var2,...);

Exemplos:int i, j;

float x;

char c;

scanf("%d", &i);

scanf("%d %f", &j, &x);

scanf("%c", &c);

scanf("%s", &nome);

Leitura de dados

%d inteiro decimal%f float%lf double%c char%s string

Page 14: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Operador

Exemplo Comentário

+ b + c Adição

- b – c Subtração

* b * c Multiplicação

/ b / c Divisão

% b % c Resto da divisão

++ b++ Incrementa de 1

-- b-- Decrementa de 1

Operadores Matemáticos

Page 15: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Operação de AtribuiçãoOperador

Exemplo Comentário

= a = b Atribuição

+= a += b Equivalente “a = a + b”

-= a -= b Equivalente “a = a - b”

*= a *= b Equivalente “a = a * b”

/= a /= b Equivalente “a = a / b”

% a %= b Equivalente “a = a % b”

Page 16: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Impressão de dados

Função printf()printf ("formatos", var1, var2,...);

Exemplos:int i, j;

float x;

char c;

printf("%d", i);

printf("%d %f", j, x);

printf("%c", c);

printf("%s", nome);

%d inteiro%f float%lf double%c char%s string

Page 17: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

// declaracao de variaveisint idade;float altura, imc;

// leitura de dadosprintf(“Digite sua idade: “);scanf(“%d”, &idade);printf(“Digite sua altura: “);scanf(“%f”, &altura);

// processamentoimc = idade / (altura * altura);

// saida de dadosprintf(“IMC = %f”, imc); system(“PAUSE”);

}

Page 18: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Funções MatemáticasFunção Exemplo Comentário

ceil Arredonda para cima

cos Cosseno

exp Exponencial

fabs Absoluto

floor Arredonda para baixo

log Logaritmo natural

log10 Logaritmo decimal

pow Potência

sin Seno

sqrt Raiz quadrada

tan Tangente

Page 19: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Os comandos de controle de fluxo são a essência de qualquer linguagem, porque governam o fluxo da execução do programa

Estrutura de Decisão ou Controle de Fluxo

Page 20: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

O comando IF é responsável por oferecer duas opções de fluxo de processamento, uma caso a condição avaliada der verdadeiro e outra caso ela der falso.

Comando IF

inicio

fim

instruções

condição?sim não

instruções

Page 21: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Comando IF

Se...Então...Se NãoSe <condição> então

<instruções>

Se não

<instruções> Em Linguagem Cif (<condição>) {

<instruções>

}

else {

<instruções>

}

Page 22: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

// declaracao de variaveisint var;

// processamentoscanf(“%d”, &var);

if (var < 100){printf(“%d eh menor que 100“, var);

else {printf(“%d eh maior ou igual a 100“,

var);}

system(“PAUSE”);}

Page 23: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Leia dois números e imprima a diferença entre o número maior e o menor.

Exercício

Page 24: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

O comando IF pode oferecer um processamento diferenciado apenas quando, a condição avaliada der verdadeiro.

Comando IF (caso degenerado)

inicio

fim

condição?sim

instruções

Page 25: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Comando IF

Se...EntãoSe <condição> então

<instruções>

Em Linguagem Cif (<condição>) {

<instruções>

}

Page 26: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

// declaracao de variaveisint var;

// processamentoscanf(“%d”, &var);

if (var < 100){printf(“%d eh menor que 100“, var);

}

system(“PAUSE”);}

Page 27: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Faça um programa que sorteia um número (use a função rand()) de 0 a 10 e solicite para o usuário advinha-lo. Imprima “acertou” caso o número seja descoberto, e “errou” caso tenha escolhido o numero errado.

Faça um programa que calcule o Índice de Massa Corpórea (IMC) e classifique se a pessoa está com subpeso, normal, sobrepeso ou obesa.

Exercício

Page 28: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

O propósito do comando SWITCH-CASE é oferecer uma forma mais direta de obter um mecanismo de seleção para múltiplas opções.

Comando SWITCH - CASE

inicio

fim

opção?

caso opção 1 caso opção 2 caso opção 3nenhuma das

anteriores...

Page 29: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Comando Switch-Case

Comute...casoComute <condição>

caso valor1

<instruções>

caso valor2

<instruções>

...

caso nenhuma dela

<instruções>

Em Linguagem Cswitch (<condição>) {

case valor1:

<instruções>

break;

case valor2:

<instruções>

break;

...

default:

<instruções>

}

Page 30: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

// declaracao de variaveisint opcao;

// processamentoscanf(“%d”, &opcao);

switch (opcao){case 1:

printf(“Voce escolheu a opcao 1”);break;

case 2:printf(“Voce escolheu a opcao 2”);break;

case 3:printf(“Voce escolheu a opcao 3”);break;

default:printf(“Outra opcao”);break;

}

system(“PAUSE”);}

Page 31: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Fazer uma calculadora que realize as operações de adição, subtração, multiplicação, divisão, potência.

Exercícios

Page 32: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Se uma ação se repete em um algoritmo, em vez de escrevê-la várias vezes, em certos casos podemos resumir anotando uma vez só e solicitando que ela se repita, usando uma das estruturas de repetição.

Podemos executar uma ação (ou um conjunto de ações) um número definido ou indefinido de vezes, ou enquanto um estado permanecer ou até que um estado seja atingido

Estruturas de Repetição

Page 33: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Comando FOR

Para...até...repetirPara <var> = <inicio> até <fim> repetir

<instruções>

Em Linguagem Cfor ( var=inicio; var<=fim; var++) {

<instruções>

}

inicio

fim

var = inicio

operação a ser repetida

var++;

var <= fim

simnão

Page 34: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo/* contando de 1 a 10 */#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

// declaracao de variaveisint var;

// processamentofor ( var = 1; var <= 10; var++) {

printf(“%d “, var);}

system(“PAUSE”);}

Page 35: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Comando WHILE

Enquanto...Repetir

enquanto (condição) repetir

<instruções>

Em Linguagem C while (<condição>) {

<instruções>

}

inicio

fim

condição inicial

operação a ser repetida

atualiza condição

condição final ?

nãosim

Page 36: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo/* contando de 1 a 10 */#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

// declaracao de variaveisint contador;

// processamentocontador = 1;while (contador <= 10) {

printf(“%d “, contador);contador++;

}

system(“PAUSE”);}

Page 37: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Comando DO - WHILE

inicio

fim

contador inicial

operação a ser repetida

atualiza condição

condição final ?

não

sim

Em Linguagem C do {

<instruções>

} while (<condição>);

Repetir ... Enquanto

repita

<instruções>

enquanto (condição)

Page 38: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo/* contando de 1 a 10 */#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

// declaracao de variaveisint contador;

// processamentocontador = 1;do {

printf(“%d “, contador);} while (contador < 10);

system(“PAUSE”);}

Page 39: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Faça um programa para calcular e escrever o valor de S:

Faça um programa para calcular os 20 primeiros termos da série de Fibonacci

Faça um programa para calcular os números primos menores que 100

Exercícios

199

100...

5

3

3

2

1

1S

,...13,8,5,3,2,1,1,0Fibonacci

Page 40: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Uma unidade autônoma de código do programa é desenhada para cumprir uma tarefa particular.◦ Geralmente os programas em C consistem em várias

pequenas funções◦ A diretiva return é usada para terminar uma função e

retornar um valor a função que a chamou

Funções

Em Linguagem C tipoDeRetorno nomeDaFuncao(<parametro1>, ..., <parametroN> )

{

<instruções>

return valor;

}

Page 41: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

float soma(float valor1, float valor2) {return valor1+valor2;

}

float media(float n1, float n2) {return (n1+n2)/2;

}

int main(int argc, char * argv[]){

float valor1, valor2, resultado;scanf(“%f”, &valor1);scanf(“%f”, &valor2);

resultado = soma(valor1, valor2);printf(“soma = %f”, resultado);

resultado = media(valor1, valor2);printf(“media = %f”, resultado);

system(“PAUSE”);}

Page 42: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

float soma(float valor1, float valor2) {return valor1+valor2;

}

float media(float n1, float n2) {return soma(n1,n2)/2;

}

int main(int argc, char * argv[]){

float valor1, valor2, resultado;scanf(“%f”, &valor1);scanf(“%f”, &valor2);

resultado = soma(valor1, valor2);printf(“soma = %f”, resultado);

resultado = media(valor1, valor2);printf(“media = %f”, resultado);

system(“PAUSE”);}

Page 43: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Um procedimento é uma função que não retorna valor

Um procedimento é declarado com parâmetro de retorno do tipo void

Procedimento

Em Linguagem C void nomeDoProcedimento(<parametro1>, ..., <parametroN> )

{

<instruções>

}

Page 44: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

void dobro(float valor) {printf(“Dobro de %f = %f”, valor,

2*valor);}

int main(int argc, char * argv[]){

float, valor;scanf(“%f”, &valor);

dobro(valor);

system(“PAUSE”);}

Page 45: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

O valor de um argumento é copiado para o parâmetro formal da função,◦ Alterações no processamento da função não

alteram os valores das variáveis de origem

Passagem de Parâmetropor Valor

Page 46: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

void dobro(float valor) {valor *= 2;printf(“Na funcao = %f\n”, valor);

}

int main(int argc, char * argv[]){

float valor;scanf(“%f”, &valor);

printf(“Antes da funcao = %f\n”, valor);

dobro(valor);printf(“Depois da funcao = %f\n”,

valor);

system(“PAUSE”);}

Page 47: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Permite a alteração do valor de uma variável dentro de uma função◦ O valor permanece alterado mesmo após o

termino da função Para isso é necessário a passagem do

endereço do argumento para a função

Passagem de Parâmetropor Referência

Em Linguagem CtipoDeRetorno funcao(float * var) {

...(* var) = <expressão>;...

}

Page 48: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

void dobro(float * valor) {(* valor) *= 2;printf(“Na funcao = %f\n”, * valor);

}

int main(int argc, char * argv[]){

float valor;scanf(“%f”, &valor);

printf(“Antes da funcao = %f\n”, valor);

dobro(& valor);printf(“Depois da funcao = %f\n”,

valor);

system(“PAUSE”);}

Page 49: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Escreva um programa que leia dois números nas variáveis A e B. Após a chamada da função inverte, o valor de A é gravado em B e o valor de B é gravado em A.

Escreva um programa que leia dois números nas variáveis A e B. Após a chamada da função ordena, a variável A ficará com o menor valor e a variável B ficará com o maior valor.

Exercícios

Page 50: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Um vetor é uma seqüência de vários valores do mesmo tipo, armazenados seqüencialmente na memória◦ Faz uso de um mesmo nome de variável para acessar

esses valores.◦ Um vetor também pode ser entendido logicamente

como uma lista de elementos de um mesmo tipo. Cada elemento da sequencia pode ser

acessado individualmente através de um índice.◦ Os elementos são indexados de 0 até n-1, onde n é a

quantidade de elementos do vetor

Vetores

Page 51: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Declaraçãotipo variável[tamanho];

Em Linguagem Cint vet[10];int vetor[5] = {10, 3, 56, 23, 12},

5

0

6

1

19

2

14

3

Vetores

8

4

3

5

3

6

5

7

1

8

-4

9

vet

10 posições

Page 52: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

int i, vector[10], total=0;

for ( i=0; i<10; i++) {printf(“posicao %d = “);scanf(“%d”, &vector[i]);

}for ( i=0; i<10; i++) {

total += vector[i]);}printf(“Total = %d\n”, total);

system(“PAUSE”);}

Page 53: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Escreva um programa que lê 8 números e imprima os mesmos na ordem inversa de leitura

Armazene 10 números lidos do usuário e imprima◦ O menor◦ O maior◦ A média◦ A moda◦ A mediana

Faça um programa capaz de sortear automaticamente jogos da megasena (surpresinha) com 6 dezenas

Leia 10 números inteiros ao acaso e apresentem os mesmos em ordem crescente e decrescente

Crie um programa capaz de ordenar uma sequencia qualquer de 10 números

Exercícios

Page 54: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Uma matriz é uma estrutura de armazenamento multidimensional de dados em memória◦ Faz uso de um mesmo nome de variável para acessar

esses valores.◦ Uma matriz também pode ser entendida logicamente

como uma tabela de elementos de um mesmo tipo. Cada elemento da sequencia pode ser acessado

individualmente através de um índice definido por um estrutura de coordenada.◦ As dimensões são indexadas a partir do indice 0 (zero)

Matrizes

Page 55: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Declaraçãotipo variável[numeroDeLinhas][numeroDeColunas];

Em Linguagem Cint mat[3][10];int matriz[3][5] = {{10, 3, 56, 23, 12}, {1, 6, 57, 68, 80}, {65, 45, 79, 42, 7}};

5

0

6

1

19

2

14

3

Matriz Bidimensional

8

4

3

5

3

6

5

7

1

8

-4

9

mat

10 posições

5 6 19 14 8 3 3 5 1 -4

5 6 19 14 8 3 3 5 1 -4

3 posições

Page 56: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Exemplo#include <stdio.h>#include <stdlib.h>

int main(int argc, char * argv[]){

int i, j, matriz[3][10], total;

for ( i=0; i<10; i++) {for ( j=0; j<10; j++) {

printf(“posicao (%d,%d) = “, i, j);

scanf(“%d”, &matriz[i][j]);}

}for ( i=0; i<10; i++) {

total = 0;for ( j=0; j<10; j++) {

total += matriz[i][j]);}printf(“Total(%d)= %d\n”, i, total);

}system(“PAUSE”);

}

Page 57: Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da

Escreva um programa que leia uma tabela de 5 linhas 3 colunas e imprima a linha cuja soma é a maior.

Faca um programa que calcule a media de 4 alunos segundo os critérios da Facp.

Escreva um programa que simule o acompanhamento dos pontos dos pilotos de F1 ao logo das corridas

Faça um programa que simule o jogo da velha

Exercícios