A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

1 Wellington Felix

2  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

3  Apostila: Curso de Linguagem C – UFMG, http://www.inf.ufsc.br/~fernando/ine5412/C _UFMG.pdf http://www.inf.ufsc.br/~fernando/ine5412/C _UFMG.pdf  Kernighan, Brian W. – C, A Linguagem de Programação Padrão Ansi, Editora Campus

4  Compilador utilizado para converter código fonte em código de maquina executável  Pode ser baixado em: http://www.bloodshed.net/devcpp.html http://www.bloodshed.net/devcpp.html

5 diretivas 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 }

6  Diretiva #include permite incluir uma biblioteca  Bibliotecas contêm funções pré-definidas, utilizadas nos programas BibliotecaUsos #include Funções de entrada e saída #include Funções padrões #include Funções matemáticas #include Funções de texto

7  “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. #include int main(int argc, char * argv[]) { printf (“Hello World!”); system(“PAUSE”); }

8  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

9 /* Meu primeiro programa em C */ #include int main(int argc, char * argv[]) { printf (“Hello World!”); // Imprime system(“PAUSE”); // Fica parado }

10  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.

11 #include int main(int argc, char * argv[]) { int idade; float altura; int x, y=1, z; double a = 1.5; char letra = ‘c’;... }

12  Atribui o valor da direita à variável da esquerda  O valor pode ser: ◦ uma constante ◦ uma variável ◦ uma expressão idade = 22; // idade recebe 22 altura = 1.8; // altura recebe 1.8 x = 4; // x recebe 4 a = 1.5 + x; // a recebe 1.5 + x x = x + 1; // Incrementa x de 1 letra = ‘c’; // letra recebe c

13 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); %d inteiro decimal %f float %lf double %c char %s string

14 OperadorExemploComentário +b + cAdição -b – cSubtração *b * cMultiplicação /b / cDivisão %b % cResto da divisão ++b++Incrementa de 1 --b--Decrementa de 1

15 OperadorExemploComentário =a = bAtribuição +=a += bEquivalente “a = a + b” -=a -= bEquivalente “a = a - b” *=a *= bEquivalente “a = a * b” /=a /= bEquivalente “a = a / b” %a %= bEquivalente “a = a % b”

16 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

17 #include int main(int argc, char * argv[]) { // declaracao de variaveis int idade; float altura, imc; // leitura de dados printf(“Digite sua idade: “); scanf(“%d”, &idade); printf(“Digite sua altura: “); scanf(“%f”, &altura); // processamento imc = idade / (altura * altura); // saida de dados printf(“IMC = %f”, imc); system(“PAUSE”); }

18 FunçãoExemploComentário ceilArredonda para cima cosCosseno expExponencial fabsAbsoluto floorArredonda para baixo logLogaritmo natural log10Logaritmo decimal powPotência sinSeno sqrtRaiz quadrada tanTangente

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

20  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. inicio fim instruções condição? sim não instruções

21 Se...Então...Se Não Se então Se não Em Linguagem C if ( ) { } else { }

22 #include int main(int argc, char * argv[]) { // declaracao de variaveis int var; // processamento scanf(“%d”, &var); if (var < 100){ printf(“%d eh menor que 100“, var); else { printf(“%d eh maior ou igual a 100“, var); } system(“PAUSE”); }

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

24  O comando IF pode oferecer um processamento diferenciado apenas quando, a condição avaliada der verdadeiro. inicio fim condição? sim instruções

25 Se...Então Se então Em Linguagem C if ( ) { }

26 #include int main(int argc, char * argv[]) { // declaracao de variaveis int var; // processamento scanf(“%d”, &var); if (var < 100){ printf(“%d eh menor que 100“, var); } system(“PAUSE”); }

27  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.

28  O propósito do comando SWITCH-CASE é oferecer uma forma mais direta de obter um mecanismo de seleção para múltiplas opções. inicio fim opção? caso opção 1caso opção 2caso opção 3 nenhuma das anteriores...

29 Comute...caso Comute caso valor1 caso valor2... caso nenhuma dela Em Linguagem C switch ( ) { case valor1: break; case valor2: break;... default: }

30 #include int main(int argc, char * argv[]) { // declaracao de variaveis int opcao; // processamento scanf(“%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”); }

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

32  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

33 Para...até...repetir Para = até repetir Em Linguagem C for ( var=inicio; var<=fim; var++) { } inicio fim var = inicio operação a ser repetida var++; var <= fim sim não

34 /* contando de 1 a 10 */ #include int main(int argc, char * argv[]) { // declaracao de variaveis int var; // processamento for ( var = 1; var <= 10; var++) { printf(“%d “, var); } system(“PAUSE”); }

35 Enquanto...Repetir enquanto (condição) repetir Em Linguagem C while ( ) { } inicio fim condição inicial operação a ser repetida atualiza condição condição final ? não sim

36 /* contando de 1 a 10 */ #include int main(int argc, char * argv[]) { // declaracao de variaveis int contador; // processamento contador = 1; while (contador <= 10) { printf(“%d “, contador); contador++; } system(“PAUSE”); }

37 inicio fim contador inicial operação a ser repetida atualiza condição condição final ? não sim Em Linguagem C do { } while ( ); Repetir... Enquanto repita enquanto (condição)

38 /* contando de 1 a 10 */ #include int main(int argc, char * argv[]) { // declaracao de variaveis int contador; // processamento contador = 1; do { printf(“%d “, contador); } while (contador < 10); system(“PAUSE”); }

39  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

40  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 Em Linguagem C tipoDeRetorno nomeDaFuncao(,..., ) { return valor; }

41 #include 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”); }

42 #include 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”); }

43  Um procedimento é uma função que não retorna valor  Um procedimento é declarado com parâmetro de retorno do tipo void Em Linguagem C void nomeDoProcedimento(,..., ) { }

44 #include 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”); }

45  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

46 #include 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”); }

47  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 Em Linguagem C tipoDeRetorno funcao(float * var) {... (* var) = ;... }

48 #include 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”); }

49  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.

50  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

51 Declaração tipo variável[tamanho]; Em Linguagem C int vet[10]; int vetor[5] = {10, 3, 56, 23, 12}, 5 0 6 1 19 2 14 3 8 4 3 5 3 6 5 7 1 8 -4 9 vet 10 posições

52 #include 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”); }

53  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

54  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)

55 Declaração tipo variável[numeroDeLinhas][numeroDeColunas]; Em Linguagem C int 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 8 4 3 5 3 6 5 7 1 8 -4 9 mat 10 posições 56191483351-4 56191483351-4 3 posições

56 #include 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”); }

57  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


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google