Buscar

ATP-Prática-VCH

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Algoritmos e Técnicas de 
Programação
Prática 02 – Aplicações com Vetores
Aplicação de Vetores em C
� Vetor é uma matriz 1D (unidimensional ou 
linear)
� Matriz é uma estrutura de dados homogênea:
� arranjo sequencial de variáveis do mesmo tipo, 
referenciadas por:
� um nome identificador matriz; e
� um índice ou posição dentro da estrutura:
int Vet[2]; //v: vetor de até 2 inteiros
Vet[0] = 25; //atribui 25 ao 1º elemento
Vet[1] = Vet[0]+7; //atribui 32 ao 2º elem.
Matrizes 1D - Vetor
� Uma matriz pode ser:
� Unidimensional (1D): Vetor (vetor algébrico)
� Exemplo: vetor “V” com 6 elementos: 1x6
� O nome do vetor é uma referência
(ponteiro) para o 1º byte da estrutura! 
 V[0] V[1] V[2] V[3] V[4] V[5] 
 
 
V
Exercício 1 – Armazenamento em Vetor
� Implemente um programa que leia até cinco (5) 
inteiros não negativos do teclado, finalizando a 
leitura com a digitação de um inteiro negativo, que 
não deve fazer parte dos dados.
� O programa deve listar o números digitados: a 
seqüência de números 12 08 15 -1, o programa 
deve exibir algo como:
� Os 3 números digitados foram: 12 08 15
Solução 1:
#include <stdio.h>
#include <stdlib.h> 
void main()
{ int v[5];
int i, x=0, n=0;
while (x >=0 && n < 5){
printf("Digite o elemento v[%d]: ", n);
scanf("%d", &x);
if (x >=0)
v[n++] = x; //armazena x e incrementa n;
}
printf("Os numeros digitados foram: ");
for (i=0; i<n; i++)
printf("%d ", v[i]);
printf("\n\n");
system("pause");
}
Exercício 2 – Estatística Básica
� Modifique o programa anterior para processar a 
mesma entrada de dados e fornecer como saída
as seguintes estatísticas:
� Max: valor mínimo
� Min: valor máximo
� Med: A média aritmética dos valores
� Dp: O desvio padrão dos valores, como tarefa pós-
aula (pesquisar a fórmula).
2
Exercício 3: Uso de Strings (Vetor de 
Caracteres)
� Em C, uma string (cadeia de caracteres) é representada por 
meio de um vetor de caracteres.
� Se n é o número de caracteres da string, então a posição n 
será sempre ocupada pelo caracter ‘\0’ (lê-se “caracter nulo”
ou simplesmente “barra-zero”).
� Exemplo:
� char s[8] = “Lapis”
� As funções para manipular strings requerem a inclusão 
da biblioteca <string.h>.
L a p i s \0
0 1 2 3 4 5 6 7
Exercício 3: Uso de Strings (Vetor de 
Caracteres)
� Considere o programa abaixo que lê uma string via 
teclado e informa o seu comprimento.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main(){
char s[30];
int n;
printf("Digite uma string: ");
scanf("%s", s);
n = strlen(s);
printf("\nA string %s tem %d caracteres\n\n", s, n);
system("pause");
printf("\n\n");
}
Exercício 3: Uso de Strings (Vetor de 
Caracteres)- Continuação...
� Com base neste protótipo de programa, implemente:
� uma função para inverter a ordem dos caracteres de uma string 
passada como parâmetro: aula ⇒ alua; sexta ⇒ atxes etc.
� uma função para checar (V/F) se a string passada como 
parâmetro é palíndromo, isto é, se a sequencia de caracteres é a 
mesma nos dois sentidos. Exemplos: osso, radar, arara etc.
� Incorpore as funções dentro do programa, ou seja, 
implemente as chamadas para a mesma, com uma 
interface que permita a escolha de qual função deve ser 
executada.
NOTA: Um palíndromo contendo apenas algarismos arábicos (0, 1, 
2...) é também chamado de capicuia.

Continue navegando