Upload
guilherme-souza
View
213
Download
0
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).
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.