ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO...

12
13/08/2014 1 ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com AULA 07 VETORES MATRIZES EXERCÍCIOS

Transcript of ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO...

Page 1: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

1

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

PROF. FABIANO TAGUCHIhttp://fabianotaguchi.wordpress.com

AULA 07VETORES

MATRIZES

EXERCÍCIOS

Page 2: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

2

Imagine o seguinte problema:

“Crie um programa que solicite a nota de 100alunos e calcule a média desta turma,informando qual foi a maior e qual foi menornota. Quantas variáveis precisamos?

SITUAÇÃO

Um vetor é uma coleção de objetos que têm amesma natureza. Cada elemento de um vetor éidentificado pelo nome seguido de um índice.

VETORES

Page 3: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

3

No exemplo abaixo é apresentado um vetorpara notas de um aluno do tipo float. A sintaxepara declaração é:

Tipo nome[tamanho];

VETORES

10 222 21

7,0 6,7 7,8 ... 8,0 6,6

Assim como uma variável, um vetor pode serdeclarado e já iniciado, a seguir é apresentadoalguns exemplos:

• Int dia[7] = {12,30,14,7,13,15,6};• Float notas[5] = { 5.4, 8.5, 7.5, 6.5, 4.2};

INICIALIZANDO UM VETOR

Page 4: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

4

#include <stdio.h>#include <stdlib.h>main(){

int i,numero[10];for(i=0;i<10;i++){

numero[i] = 2*i;printf("%d\n", numero[i]);

}system("PAUSE");

}

EXEMPLO

#include <stdio.h>#include <stdlib.h>main(){

int num[100];int cont=0, totalnum;do{

printf("Digite um número ou -999 para sair: ");scanf("%d", &num[cont]);cont++;

}while (num[cont-1]!=-999);totalnum=cont-1;printf("\n\n Os numeros digitados foram: ");for(cont=0;cont<totalnum;cont++){

printf("%d\n",num[cont]);}system("PAUSE");

}

Page 5: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

5

Um vetor de caracteres é uma string, A entradae saída de caracteres em uma stringcorretamente deve ser feita através docomando getchar e putchar.

STRINGS

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

main(){

char ch;ch = getchar();putchar(ch);system("PAUSE");

}

GETCHAR E PUTCHAR

Page 6: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

6

#include <stdio.h>#include <stdlib.h>main(){

char c;printf(“Digite uma letra ou número: “);c = getchar();if((c>=‘0’) && (c<=‘9’)

printf(“E um numero”);else

printf(“E uma letra”);system(“PAUSE”);

}

LETRA OU NÚMERO

char s1[] = “”;char s2[] = “Rio de Janeiro;char s3[81];char s4[81] = “Rio”;

CADEIA DE STRINGS

Page 7: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

7

O comando scanf não identifica caracteres embranco, por isso é necessário o comando gets.

ch[15] = “Rio de Janeiro”

Saída do scanf = RioSaída do gets = Rio de Janeiro

SCANF E GETS

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

main(){

char ch[15];printf("Digite cidade: ");scanf("%s", ch);printf("%s", ch);system("PAUSE");

}

SCANF E GETS

Page 8: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

8

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

main(){

char palavra[20];printf(“Digite uma string: “);gets(palavra);printf(“String digitada: “);puts(palavra);system (“PAUSE”);

}

GETS E PUTS

#include <stdio.h>#include <stdlib.h>main(){

char palavra[20];int i;printf(“Digite uma string: “);gets(palavra);for (i=0;palavra[i]!=‘\0’;i++){

printf(“%c”, palavra[i]);}system(“PAUSE”);

}

IMPRIMINDO CARACTERE INDIVIDUAIS

Page 9: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

9

#include <stdio.h>#include <stdlib.h>main(){

char palavra[20];int i, n=0;printf(“Digite uma string: “);gets(palavra);for(i=0;palavra[i]!=‘\0‘;i++){

n++;}printf(“O tamanho da palavra e %d”, n);system (“PAUSE”);

}

CALCULAR NÚMERO DE CARACTERES

A biblioteca string.h possui algumasfunções de manipulação de strings que sãobastante úteis, como:

• Cópias de strings;• Concatenação de strings;• Tamanho de strings;• Comparação de strings.

BIBLIOTECA STRING.H

Page 10: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

10

#include <stdio.h>#include <stdlib.h>#include <string.h>main(){

char p1[30], p2[30], p3[30];printf(“Digite uma string: “);gets(p1);strcpy(p2,p1);strcpy(p3, “Voce digitou a string”);printf(“\n\n %s %s”, p3, p2);system (“PAUSE”);

}

STRCPY

#include <stdio.h>#include <stdlib.h>#include <string.h>main(){

char p1[100], p2[100];printf(“Digite uma string: “);gets(p1);strcpy(p2,”Você digitou a string”);strcat(p2, p1);printf(“\n\n %s”, p2);system (“PAUSE”);

}

STRCAT

Page 11: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

11

#include <stdio.h>#include <stdlib.h>#include <string.h>main(){

int tamanho;char palavra[100];printf(“Digite uma string: “);gets(palavra);tamanho = strlen(palavra);printf(“Tamanho string %d: “, tamanho);system (“PAUSE”);

}

STRLEN

#include <stdio.h>#include <stdlib.h>#include <string.h>main(){

char p1[20], p2[20];printf(“Digite uma string: “);gets(p1);printf(“Digite outra string: “);gets(p2);if(strcmp(p1,p2))

printf(“Strings são iguais: “);else

printf(“Strings são diferentes”;;system (“PAUSE”);

}

STRCMP

Page 12: ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO · ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI ... AULA 07 VETORES MATRIZES EXERCÍCIOS. 13/08/2014 2 Imagine o seguinte

13/08/2014

12

01 – Escreva um programa que solicite aousuário uma string, e retorne a string de tráspara frente.

02 – Escreva um programa que solicite a umusuário que seja digitado uma frase, e mostrequantas vezes cada vogal aparece nesta frase.

03 - Crie um programa que recebe uma string eum caractere, e apague todas as ocorrênciasdesses caractere na string.

EXERCÍCIOS

01 – Solicite ao usuário que digite dez valores, apartir destes valores, apresente:• Soma desses valores;• Média dos valores digitados;• Maior valor digitado;• Menor valor digitado.

02 – Crie um vetor que possa armazenar 06números. Peça ao usuário que preencha o vetorcom os 06 números, e a partir disso permiteque sejam pesquisados números para saber seforam digitados ou não.

EXERCÍCIOS