16
Objetivos Identificar e agrupar dados sobre diferentes objetos. Criar e utilizar registros de dados. Relacionar dados de registros diferentes.

Algoritmos

Embed Size (px)

DESCRIPTION

Algoritmos

Citation preview

Objetivos

• Identificar e agrupar dados sobre

diferentes objetos.

• Criar e utilizar registros de dados.

• Relacionar dados de registros

diferentes.

Para começar... Você usa alguma rede social?

Quais informações ela armazena sobre você?

Informações pessoais:

nome: STRING [40];

cidadeOndeMora: STRING [20];

:

Educação e trabalho:

:

Atividades e interesses:

:

Conhecendo a teoria para programar Um registro é uma reunião de dados sobre um objeto com o objetivo

de facilitar sua organização e uso.

Cada um desses dados, também chamados atributos ou campos,

podem também ser outras estruturas de dados como, por exemplo,

outros registros.

Exemplo:

amigo1 é um registro com três atributos:

nome, string [30], com o valor “Carol”.

cidadeOndeMora, string [20], com o valor “São Paulo”.

Sexo, caracter, com o valor “F” (feminino).

Assim, o registro amigo1 ocupa 51 bytes (30+20+1).

Armazenamento na memória

Em VisuAlg não há registros. Se houvesse, seria

algo como:

Vamos ProgramarVisuAlg

tipo

dadosAmigos = registro

nome: caractere

cidadeOndeMora: caractere

sexo: caractere

fimregistro

Definição do novo tipo dadosAmigos, com três

campos (nome, cidadeOndeMora e sexo): 

Vamos ProgramarPascal

type

dadosAmigos = record

nome: string;

cidadeOndeMora: string;

sexo: char;

end;

A variável amigos irá armazenar 100 registros com dados dos amigos:  

Vamos ProgramarPascal (continuação)

vari: integer;amigos: array[1..100] of dadosAmigos;

A seguir, o vetor será preenchido com os dados de 100

amigos:for i:= 1 to 100 dobegin

readln (amigos[i].nome);readln (amigos[i].cidadeOndeMora);readln (amigos[i].sexo);

end;

O trecho de código a seguir imprime apenas os nomes dos

amigos do sexo feminino:

Vamos ProgramarPascal (continuação)

for i:= 1 to 100 do

if amigos[i].sexo =’F’ then

writeln (amigos[i].nome);

Definição do novo tipo dadosAmigos: Declaração da variável amigos e

leitura dos dados:

struct dadosAmigos {

char nome[30];

char

cidadeOndeMora[20];

char sexo;

};

struct dadosAmigos amigos[100];

for (i=0; i<100; i++){ printf("\n\nDigite o nome:"); gets(amigos[i].nome); printf("\nDigite a cidade:"); gets(amigos[i].cidadeOndeMora); printf("\nDigite o sexo:"); scanf("%c", &amigos[i].sexo); };

Vamos ProgramarC

Impressão dos nomes dos amigos do sexo feminino:

Vamos ProgramarC (continuação)

printf("Amigos do sexo feminino:\n");

for(i=0;i<100;i++)

if ((amigos[i].sexo=='F')||(amigos[i].sexo=='f'))

printf("Nome: %s\n", amigos[i].nome);

Definição da classe DadosAmigo:

Vamos ProgramarJava

class DadosAmigo {

String nome;

String cidadeOndeMora;

String sexo;

}

Impressão dos dados:

Vamos ProgramarJava (continuação)

for(contadorCadastro = 0 ; contadorCadastro < 100 ; contadorCadastro++){

amigo.nome = dados.readLine("%s","\n Digite seu nome : ")

amigo.cidadeOndeMora = dados.readLine("%s","\n Digite nome da sua cidade : amigo.sexo = dados.readLine("%s","\n Digite [M] Masculino ou [F] Feminino : ");

//Salva o amigo no array de amigos variosAmigos[contadorCadastro] = amigo;//Cria uma nova instância de amigoamigo = new DadosAmigo();

}

}

Leitura dos dados:

Vamos ProgramarJava (continuação)

for(int contadorImpressao = 0 ; contadorImpressao < 100 ; contadorImprssao++){

System.out.println("\n Nome : "+variosAmigos[contadorImpressao].nome);

System.out.println("\n Cidade : "+variosAmigos[contadorImpressao].cidadeOndeMora);

System.out.println("\n Sexo : "+variosAmigos[contadorImpressao].sexo);

}

Página para cadastro de amigos:

Vamos ProgramarPHP <html>

<head><title>Cadastro de amigos</title></head><body><form action="salvo.php" method="post"> <table> <tr> <td> <label>Nome :</label> </td> <td> <input name="nome" type="text"> </td> </tr> <tr> <td> <label>Cidade :</label> </td> <td> <input name="cidade" type="text"> </td>

</tr> <tr> <td> <label>Sexo :</label> </td> <td> <input name="sexo" type="text"> </td> </tr> </table>

<input type="submit" value="Salvar"></form></body></html>

DadosAmigo com os atributos iguais dos exemplos anteriores:

Vamos ProgramarPHP

session_start();class DadosAmigo{

var $_nome;var $_cidade;var $_sexo;public function __construct($_nome,$_cidade,$_sexo){ $this->_nome = $_nome; $this->_cidade = $_cidade; $this->_sexo = $_sexo; }

}$_dadosAmigo = new DadosAmigo($_POST['nome'],$_POST['cidade'],$_POST['sexo']);$_SESSION["DadosAmigos"][] = $_dadosAmigo;

Estamos trabalhando cada vez mais com estruturas

de dados mais complexas e que nos permitirão

desenvolver sistemas mais complexos de forma mais

organizada e eficaz.

Existe ainda um tipo de variável muito poderoso,

que permite o desenvolvimento de sistemas muito mais

flexíveis e eficientes: são os ponteiros.