Você está na página 1de 6

Universidade do Extremo Sul Catarinense

Curso de Ciência da Computação


Disciplina: 7532 - Estrutura de Dados I
Professor: Gilberto Vieira da Silva
gilbertovieirasilva@hotmail.com

REVISÃO

ESTRUTURA BÁSICA DE UM PROGRAMA EM C

Um programa em C consiste em uma ou várias funções, uma das quais precisa ser denominada main, a
qual será utilizada para iniciar a execução do programa.

Exemplo de programa em C:
#include <iostream>

using namespace std;

int main ()
{
int idade;
string nome;

//- APRESENTAÇÃO DE MENSAGENS VIA CONSOLE. Depende da inclusão do <iostream>


cout << "Meu primeiro exemplo!" << endl;//apresenta uma mensagem no console
cout << "Frase 1 - linha 1 ";
cout << "Frase 2 - linha 1 " << endl;
cout << "Frase 1 - linha 2 ";
cout << "Frase 2 - linha 2 " << endl;

//- SOLICITAÇÕES DE INFORMAÇÕES PARA O USUÁRIO VIA CONSOLE


cout << "Informe sua idade: ";
cin >> idade;
cout
ut << "Informe seu nome: ";
cin >> nome;

//-- MOSTRA NO CONSOLE OS VALORES DAS VARIÁVEIS DIGITADAS PELO USUÁRIO


cout << "Seu nome e " << nome << " e sua idade e " << idade << endl;

system("PAUSE");
return 0;
}

VARIÁVEIS

É um espaço que pode conter a cada tempo um valor diferente. Uma variável identifica o tipo e a
quantidade de bits que será ocupado em memória.

Exemplo de declaração de variáveis:


int K;
double valores;
float quadro;
char character;

VETORES / MATRIZES

Um vetor ou matriz é um tipo de dado que pode ser definido abstratamente como um conjunto finito e
ordenado de elementos homogêneos. Por "finito" entendemos que existe um número específico de elementos
no vetor. Esse número pode ser grande ou pequeno, mas ele precisa existir. Por "ordenado" entendemos que
os elementos do vetor são organizados de tal forma que exista um elemento zero, um primeiro elemento, um
segundo, um terceiro e assim por diante. Por "homogêneo" entendemos que todos os elementos no vetor
precisam ser do mesmo tipo. Por exemplo, um vetor pode conter inteiros ou caracteres, mas não ambos.

Exemplo de declaração de vetores.

int tamanhoVetor = 10;


string nomes[tamanhoVetor];

ou

int nomes[10];

Atribuindo valores aos vetores:


nomes[0] = “Gilberto”;
nomes[1] = “Elisandro”;
nomes[2] = “Alice”;
nomes[....] = “....”;
nomes[9] = “Fernanda”;

Exemplo de declaração de matrizes:

int tamanhoVetor = 10;


int numeroColunas = 2;
string nomes[tamanhoVetor][ numeroColunas];

ou
int nomes[10][2];

Atribuindo valores a matrizes:


nomes[0][0] = “Gilberto”; //primeira linha e primeira coluna
nomes[0][1] = “Vieira”; //primeira linha e segunda coluna

nomes[1][0] = “Elisandro”; //segunda linha e primeira coluna


nomes[0][1] = “Silva”; //segunda linha e segunda coluna

nomes[2][0] = “Alice”;
nomes[0][1] = “Teixeira”;

nomes[....][....] = “....”;
nomes[....][....] = “....”;

nomes[9][0] = “Fernanda”; //nona linha e primeira coluna


nomes[9][1] = “Mello”; //nona linha e segunda coluna

Uma característica importante de um vetor em C é que nem o limite máximo nem o mínimo (e
conseqüentemente a faixa também) podem ser alterados durante a execução de um programa. O limite mínimo
é sempre fixado em 0, e o limite máximo é fixado quando o programa é escrito. Uma técnica muito útil é
declarar um limite como um identificador de constante a fim de que o trabalho necessário para modificar o
tamanho de um vetor seja minimizado. Por exemplo, examine o seguinte segmento de programa para declarar
e inicializar um vetor:

int a [ 100 ] ;
for (i = 0; i < 100; a [ i + + ] = 0 ) ;

Para mudar o vetor para um tamanho maior (ou menor), a constante 100 deve ser alterada em dois
locais: uma vez nas declarações e uma vez no comando for. Examine a seguinte alternativa equivalente:

# define NUMELTS 100


int a[NUMELTS];
for ( i = 0; i < NUMELTS; a [ i++ ] = 0 ) ;

LAÇOS DE REPETICAO

for (int i = 0; i < tamanhoVetor; i++){


//bloco do laço
}

int i = 0;
while(i < tamanhoVetor){
i++;
//bloco do laço
}

do{
//bloco do laço de repetição
i++;
} while(i < tamanhoVetor);

COMANDOS DE DECISÃO

Os comandos de decisão permitem incluir no programa condições que desviam o fluxo de execução para
blocos pré-determinados.
Exemplo de comandos de decisão

int idade;

//comando if .... else


if(idade < 18){
cout << "Voce é menor de idade" << endl;
}else{
cout << "Voce é maior de idade" << endl;
}

//comando switch
switch(idade){
case 1: cout << "Voce possui 1 ano de idade" << endl;
break;
case 2: cout << "Voce possui 2 ano de idade" << endl;
break;
case 3: cout << "Voce possui 3 ano de idade" << endl;
break;
case 4: cout << "Voce possui 4 ano de idade" << endl;
break;
case 5: cout << "Voce possui 5 ano de idade" << endl;
break;
default:
cout << "Voce possui mais de 5 anos ou menos de 12 meses de
idade." << endl;
}

FUNÇÕES

“Dividir para conquistar”

Quando precisamos resolver um problema, se focarmos nele como um todo talvez sua complexidade
seja tão grande que fique difícil imaginar e raciocinar logicamente sobre todos os aspectos que podem
influenciar na solução do problema. Desta forma, podemos quebrar este problema em partes menores, ou seja,
funções.

Exemplo de funções.

//esta função não retorna valor


void mostrarDadosPessoa(pessoa *p){
cout << "\nNome....: " << p -> nome
<< "\nIdade...: " << p -> idade
<< "\nSalario.: " << p -> salario << endl;
}

//esta função retorna a soma dos números passados como parâmetro


int soma(int a, int b){
return a + b;
}

ESTRUTURAS

Agrupamento de um conjunto de dados sob um único nome, ou seja, estruturas são tipos de variáveis
que agrupam dados geralmente desiguais.
Exemplo:

struct pessoa{
string nome;
int idade;
float salario;
};

Após declarar um struct ele pode ser utilizado como um novo tipo de dado.

//declara a estrutura pessoa


pessoa pes;

pes.nome = “Gilberto”;
pes.idade = 30;
pés.salario = 100.00;

PONTEIROS

Um ponteiro proporciona um modo de acesso à variável sem referenciá-la diretamente. O mecanismo


usado para isto é o endereço da variável em memória, sendo o ponteiro a representação simbólica de um
endereço.

Exemplo:
#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
cout << "Revisao - Ponteiro" << endl;

//declara um ponteiro para uma variável to tipo int


int *pIdade;

//declara uma variável do tipo int


int idade;

//atribui 10 a variável idade


idade = 10;

//pIdade recebe o endereço da variável idade


pIdade = &idade;

cout << "idade: " << idade << endl;

//apresenta o valor mantido no ponteiro


cout << "pIdade: " << *pIdade << endl;

//apresenta o endereco mantido no ponteiro


cout << "pIdade: " << &pIdade << endl;

//se alterar o valor da variável ponteiro (pIdade),


//a variável idade também será alterada
*pIdade = 25;
cout << "\n\nAPOS ALTERAR O VALOR" << endl;
cout << "idade: " << idade << endl;
cout << "pIdade: " << *pIdade << endl;

system("PAUSE");
return 0;
}

Obs:
& é o operador utilizado para ler o endereço do ponteiro.
* é o operador utilizado para ler o valor do ponteiro.

FIM

Você também pode gostar