Pesquisa ppi 2

1,557 views
1,430 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,557
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pesquisa ppi 2

  1. 1. Pesquisa Vetores/Arrays Pesquisa Prática Interdisciplinar II Sistema de Informação 2º Semestre Professor: Marcos Pacheco Alunos: Wallace Bezerra e Otaviano Viana
  2. 2. Topicos Gerais <ul><li>Conceito </li></ul><ul><li>Quando utilizar </li></ul><ul><li>Índices em vetores/arrays </li></ul><ul><li>Vetores/arrays de 2 dimensões </li></ul><ul><li>Exemplos </li></ul><ul><li>Referências </li></ul>
  3. 3. Conceito <ul><ul><li>Agrupam elementos com o mesmo tipo de dados; </li></ul></ul><ul><ul><li>Um array é constituído por elementos e dimensões; </li></ul></ul><ul><ul><ul><li>Elementos </li></ul></ul></ul><ul><ul><ul><ul><li>Dados que constituem o array; </li></ul></ul></ul></ul><ul><ul><ul><li>Dimensão </li></ul></ul></ul><ul><ul><ul><ul><li>Comprimento, altura e profundidade de um array ; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Um array pode ter mais de uma dimensão ou até 2(31)-1 elementos por dimensão, se a memória permitir; </li></ul></ul></ul></ul><ul><ul><li>Tipos de arrays </li></ul></ul><ul><ul><ul><li>Numérico </li></ul></ul></ul><ul><ul><ul><li>Booleano </li></ul></ul></ul><ul><ul><ul><li>String </li></ul></ul></ul><ul><ul><ul><li>Float </li></ul></ul></ul>
  4. 4. Quando utilizar? <ul><ul><li>Deve utilizar arrays quando trabalhar com uma coleção de dados similares e efetuar computações repetitivas. Os arrays são ideais para guardar dados coletados de waveforms e gerados por ciclos, onde cada iteração de um ciclo produz um elemento de array . </li></ul></ul>IMPORTANTE! Não se pode criar um array de arrays . Contudo pode se criar um array de clusters , em que cada cluster contém um ou mais arrays .
  5. 5. Índices em vetores/arrays <ul><ul><li>Os elementos de um array são ordenados utilizando-se de seu índice para ter acesso de leitura de cada elemento. </li></ul></ul><ul><ul><li>O índice de um array é zero-based (baseado em zero), o que significa que o seu intervalo é de 0 a n-1, n é o número de elementos do array . </li></ul></ul><ul><ul><li>Exemplo: </li></ul></ul><ul><ul><ul><li>Se criarmos um array dos planetas do sistema solar, n= 9 para os nove planetas e o intervalo do índice é de 0 a 8. </li></ul></ul></ul><ul><ul><ul><li>A terra é o 3º Planeta, por isso o seu índice é 2. </li></ul></ul></ul>
  6. 6. Vetores/arrays de 2 dimensões <ul><ul><li>Um array de 2 Dimensões guarda elementos em uma tabela, ou planílha sendo que, para localizar um elemento são necessários índice de coluna e de linha, ambos devem ser zero-based . </li></ul></ul>
  7. 7. Vetores/arrays de 2 dimensões <ul><ul><li>A Figura 2 mostra um array a 2 Dimensões de 6 colunas e 4 linhas, que contém 24 elementos = 6 X 4. </li></ul></ul>
  8. 8. Vetores/arrays: Exemplo <ul><ul><li>Supor, que se pretendia um programa para ler a média das notas de cada um dos alunos de uma escola, calcular a média das médias, e depois para cada aluno determinar o desvio da sua média relativamente à média das médias. Uma solução para guardar cada uma das médias, seria definir por exemplo 3000 variáveis (número hipotético de alunos), por exemplo : </li></ul></ul>float med_1,med_2,med_3,med_4,med_5,med_6,med_7,med_8, ... ; até med_3000 , mais as instruções para a leitura das médias: printf ( Introduza a média do aluno n.º1:); scanf (%f,med_1);
  9. 9. Vetores/arrays: Exemplo <ul><ul><li>Seguindo a idéia anterior, seriam necessários 3000 linhas de comando scanf para leitura das informações de média por aluno, revelendo-se um código completamente impraticável. </li></ul></ul><ul><ul><li>Seria preferível a possibilidade de definir as 3000 variáveis de uma só vez da seguinte forma : </li></ul></ul><ul><ul><li>Sendo assim media[0] guardaria a média do aluno 1, media[1] a do aluno 2 e assim sucessivamente fazendo variar o valor do índice até 2999. </li></ul></ul><ul><ul><ul><li>Para melhorar o processo, seria conveniente definir uma variável para índice: </li></ul></ul></ul>float media[3000]; int i;
  10. 10. Vetores/arrays: Exemplo <ul><ul><li>Deste modo, para a leitura das 3000 variáveis, poder-se-ia utilizar um ciclo, como a seguir se ilustra: </li></ul></ul><ul><ul><li>for (i=0;i<3000;i++) </li></ul></ul><ul><ul><li>{ </li></ul></ul><ul><ul><ul><li>printf ( Introduza a média do aluno n.º %d,i); </li></ul></ul></ul><ul><ul><ul><li>scanf (%f,media[i]); </li></ul></ul></ul><ul><ul><li>} </li></ul></ul>
  11. 11. Referências: <ul><li>http://www.dcc.ufrj.br/~jonathan/docsPascal/apostila/capitulo5.html </li></ul><ul><li>http://www.cin.ufpe.br/~mlf/notas03 </li></ul><ul><li>http://pt.wikipedia.org/wiki/Array </li></ul><ul><li>http://www.lsd.ic.unicamp.br/projetos/e-lane/introPascal/aula6.html </li></ul>
  12. 12. Pesquisa Prática Interdisciplinar II Sistemas de Informação 2º Semestre Professor: Marcos Pacheco Alunos: Wallace Bezerra e Otaviano Viana Pesquisa Sobre Registros
  13. 13. Tópicos Gerais <ul><li>Definição </li></ul><ul><li>Tipos de Armazenamentos </li></ul><ul><li>Curiosidades sobre os registros </li></ul><ul><li>Histórico </li></ul><ul><li>Uso no Pascal </li></ul><ul><li>Comando With (no Pascal) </li></ul><ul><li>Sem o comando With </li></ul><ul><li>Usando With (no Pascal) </li></ul><ul><li>( no Pascal) </li></ul>
  14. 14. Definição Um registro é uma das mais simples estruturas de dados, armazenando variáveis na memória em posições sequenciais, permitindo que cada membro (ou campo) seja acessado incrementando a posição inicial de memória (offset). Por isso que é obrigatória a definição de todas as variáveis, para se saber qual o offset a ser aplicado .
  15. 15. Tipos de Armazenamento <ul><li>Os registros podem ser armazenados em diversos locais. Entre eles são: </li></ul><ul><ul><li>Memória RAM </li></ul></ul><ul><ul><li>Arquivos físicos (em qualquer dispositivo de armazenamento) </li></ul></ul><ul><li>Ou seja, o registro é uma estrutura muito utilizada para rotinas de armazenamento de dados. </li></ul>
  16. 16. Curiosidades Sobre os Registros <ul><ul><li>Na orientação a objetos um objeto é essencialmente um registro, onde existem rotinas especializadas para manipulação do registro. </li></ul></ul>
  17. 17. <ul><ul><li>Na maioria das linguagens procedurais (a exemplo do Pascal), os parâmetros das funções e procedimentos são internamente compostos de registros. </li></ul></ul>Curiosidades Sobre os Registros
  18. 18. Curiosidades Sobre os Registros <ul><ul><li>O Pascal foi a primeira linguagem a dar suporte completo para registros (principalmente a integração com outros tipos de dados). A partir daí, todas as linguagem subseqüentes também implementaram este . </li></ul></ul>
  19. 19. Histórico O uso de registros como estrutura de dados já vem desde o século XIX, tendo a sua primeira utilização documenta na calculadora mecânica da máquina analítica de Babbage. Porém, o uso se consolidou na primeira metade do século XX, onde a utilização de cartões perfurados foi massificado. Em cada cartão, eram perfurados furos seqüenciais, onde cada seqüencia de furo significava um campo.
  20. 20. Uso no Pascal A referência ao conteúdo de um dado campo do registro será indicada pela notação: identificador-do-registro.identificador-do-campo Conjunto de registros: Var tab : Array[1..50] of Record    matr  : Integer;    nome  : String[30];    media : Real; End;
  21. 21. Comando With (no Pascal) Permite que os campos de um registro sejam denotados unicamente por seus identificadores, sem a necessidade de serem precedidos pelo identificador do registro. Forma geral: WITH identificador-do-registro DO      comandos
  22. 22. Sem o Comando With (no Pascal) Var TAB : Array[1..N] of Record   COD : String[6]; NOME : String[15];   PRECO: Real;     EST : Integer; end; ... for I:=1 to N do Begin    Write('Código: '); readln(TAB[I].COD);    Write('Nome: '); readln(TAB[I].NOME);    Write('Preço: '); readln(TAB[I].PRECO);    Write('Estoque: '); readln(TAB[I].EST); End;
  23. 23. Usando With (no Pascal) Var TAB : Array[1..N] of Record   COD : String[6]; NOME : String[15];   PRECO: Real;     EST : Integer; end; ... for I := 1 to N do   With TAB[I] do   Begin      Write('Código: '); readln(COD);      Write('Nome: '); readln(NOME);      Write('Preço: '); readln(PRECO);      Write('Estoque: '); readln(EST);   End;
  24. 24. Referências <ul><li>Slideshare.net </li></ul><ul><li>InfoAbril.com.br </li></ul><ul><li>Yahoo </li></ul><ul><li>Wikipedia.org </li></ul>
  25. 25. Pesquisa Subprogramas, Procedure e Funções - Pascal <ul><li>Pesquisa Prática Interdisciplinar II </li></ul><ul><li>Sistemas de Informação 2º Semestre </li></ul><ul><li>Professor: Marcos Pacheco </li></ul><ul><li>Alunos: Wallace Bezerra e Otaviano Viana </li></ul>
  26. 26. Tópicos Gerais <ul><li>Definições Subprogramas </li></ul><ul><li>Diferenças entre Funções e Procedimentos </li></ul><ul><li>Escopo </li></ul><ul><li>Parâmetros </li></ul><ul><li>Sintaxe </li></ul><ul><li>Procedures </li></ul><ul><li>Referências </li></ul>
  27. 27. Definições Subprogramas: Em PASCAL podemos definir blocos de execução internos a um programa, chamados subprogramas. Cada bloco executa uma tarefa deternimada. Isto favorece a legibilidade e manutenção do programa, além de auxiliar no domínio da complexidade quando definimos o programa, já que podemos tratar partes do problema de forma isolada. 
  28. 28. Diferenças entre Funções e Procedimentos    1. As funções são avaliadas e retornam um valor  ao programa que as chama, além dos possíveis parâmetros de saída. 2. Um procedimento não retorna valor nenhum, a função obrigatoriamente retorna um valor a uma determinada variável.  
  29. 29. Diferenças entre Funções e Procedimentos (continuação) 3. Uma função é ativada quando é avaliada uma expressão que a contém, isto é, as funções são utilizadas da mesma forma que as funções predefinidas, como SQR, ORD, LN etc.     4. Um procedimento é ativado através de um comando de chamada do procedimento .
  30. 30. Escopo <ul><ul><li>Variáveis Globais: São as variáveis declaradas no programa que são conhecidas em todo programa e inclusive nos subprogramas contidos nele. </li></ul></ul>
  31. 31. Escopo (continuação) <ul><ul><li>Variáveis Locais: São as variáveis declaradas em um subprograma, que são conhecidas em todo o subprograma, mas não no programa que contém o subprograma.  Caso um subprograma contenha a definição de um outro subprograma (chamemos de &quot;subsubprograma),  as variáveis declaradas no programa e no subprobrama serão visïveis no subsubprograma, mas o contrário não é verdadeiro. </li></ul></ul>
  32. 32. Escopo (continuação) <ul><ul><li>Uso de mesmos nomes: se um subprograma definir nomes de variáveis iguais ao do programa principal, ao referenciar uma variável vale a do escopo local . </li></ul></ul>
  33. 33. Parâmetros No cabeçalho de um subprograma (Funções ou procedimentos) definimos que tipo de dados que serão passados como parâmetros. Há duas formas de passagem de parâmetros de um programa para um subprograma: passagem por valor ou passagem por referência .
  34. 34. Parâmetros (continuação) - Passagem por valor: o parâmetro formal comporta-se como uma variável local do subprograma, de maneira que as alterações feitas nessa variável dentro do subprograma não tenham efeito sobre o parâmetro real, que pertence ao programa que fez a chamada. Assim, o subprograma só utiliza o valor da variável para um determindao fim, tendo o poder de alterá-la só dentro do subprograma, depois da execução desse subprograma, a variável volta a ter o valor que tinha antes da execução do subprograma. 
  35. 35. Parâmetros (continuação) - Passagem por referência: o parâmetro formal comporta-se como se fosse uma variável global, e todas as alterações feitas nesta variável são feitas efetivamente no parâmetro real. Assim, a variável pode ser alterada pelo subprograma e continuar com o valor alterado.
  36. 36. Sintaxe:        Na lista de parâmetros podemos usar as seguintes formas para passagem por valor:                           <nome da funcao ou procedimento> ( i,j,k: integer; y: real; z: boolean);                           <nome da funcao ou procedimento> ( i: integer; j: integer; k: integer; y: real; z: boolean);               Para parâmetros por referência deve-se utilizar &quot;var&quot; no cabeçalho. 
  37. 37. PROCEDURES Cabeçalho:     PROCEDURE <nome do procedimento>(<lista de parâmetros>);     Exemplo:     PROCEDURE Estatistica (VAR media: real; VAR s,m: real; ka: integer);     Os parâmetros formais são media, s, m e ka. O parâmetro media e as variáveis s e m são do tipo real, e ka é do tipo inteiro.
  38. 38. Referências <ul><li>http://www.leandro.wives.nom.br/pascal/Apostila/procedures.htm </li></ul><ul><li>http://duguedes.blogspot.com/2009/10/procedures-e-functions-pascal.html </li></ul><ul><li>http://www.inf.pucrs.br/~fldotti/lapro1/prfun.htm </li></ul>
  39. 39. Pesquisa Manipulação de Arquivos Pesquisa Prática Interdisciplinar II Sistema de Informação 2º Semestre Professor: Marcos Pacheco Alunos: Wallace Bezerra e Otaviano Viana
  40. 40. Tópicos Gerais <ul><li>O que é manipulação de arquivo? </li></ul><ul><li>Procedimentos e funções para manipulação de arquivos </li></ul>
  41. 41. O que é manipulação de arquivos?
  42. 42. Manipulação de arquivos <ul><li>Um arquivo é um recurso manipulado pelo sistema operacional ao qual a linguagem de programação tem acesso. É uma abstração que permite acessar convenientemente dispositivos externos de entrada e saída de dados. Embora tipicamente um arquivo seja associado a um espaço de armazenamento em disco, outros dispositivos de entrada e saída são manipulados como arquivos, tais como o teclado e a tela de um monitor. </li></ul>
  43. 43. Procedimentos e funções para manipulação de arquivos <ul><li>ASSIGN (nomedoarquivo, ‘nomeexterno’); Associa o nomedoarquivo declarado no programa ao nomeexterno (arquivo físico) localizado no ambiente do sistema operacional. O nomeexterno do arquivo deve seguir as regras do MSDOS, ou seja até 12 caracteres, sendo 8 para o nome, seguido do ponto e mais 3 para extensão, que é opcional. Este procedimento deve anteceder qualquer outro procedimento de manipulação de arquivo. </li></ul>
  44. 44. <ul><li>RESET (nomedoarquivo); Abre arquivo existente, com registros gravados. Os registros que foram gravados anteriormente serão preservados. Posiciona o ponteiro no 1º registro. </li></ul><ul><li>REWRITE (nomedoarquivo); Cria e abre um novo arquivo, caso o arquivo já exista os registros gravados anteriormente serão eliminados. O arquivo será aberto sempre vazio. </li></ul>Procedimentos e funções para manipulação de arquivos(conti)
  45. 45. <ul><li>CLOSE (nomedoarquivo); Fecha um arquivo aberto, atualizando as informações do arquivo. </li></ul><ul><li>ERASE (nomedoarquivo); Elimina o arquivo do diretório. </li></ul>Procedimentos e funções para manipulação de arquivos(conti)
  46. 46. <ul><li>RENAME (nomedoarquivo,’nomeexterno’); Altera o nome interno do arquivo para outro nome externo. </li></ul><ul><li>READ (nomedoarquivo,nomedoregistro); Lê um registro e avança o ponteiro para o próximo registro. </li></ul>Procedimentos e funções para manipulação de arquivos(conti)
  47. 47. <ul><li>WRITE (nomedoarquivo,nomedoregistro); Grava um registro e avança o ponteiro para o próximo registro. </li></ul><ul><li>EOF (nomedoarquivo); Retorna true se o fim do arquivo foi atingido. </li></ul>Procedimentos e funções para manipulação de arquivos(conti)
  48. 48. <ul><li>FILEPOS (nomedoarquivo); Retorna o número do registro ativo, onde se encontra o ponteiro. Posição física do registro. </li></ul><ul><li>SEEK (nomedoarquivo,posição); Posiciona o ponteiro no registro de número posição. </li></ul><ul><li>FILESIZE (nomedoarquivo); Retorna o tamanho do arquivo, ou a quantidade de registros gravados. </li></ul>Procedimentos e funções para manipulação de arquivos(conti)
  49. 49. Referências: <ul><li>http://www.unimep.br/~vmdzilio/mod2_4.html </li></ul><ul><li>http://www.dca.fee.unicamp.br/cursos/EA876/apostila/HTML/node33.html </li></ul>
  50. 50. Pesquisa Sistemas de Informação Pesquisa Prática Interdisciplinar II Sistema de Informação 2º Semestre Professor: Marcos Pacheco Alunos: Wallace Bezerra e Otaviano Viana
  51. 51. Topicos Gerais <ul><li>1 Definição. </li></ul><ul><li>1.1 Aplicações e Benefícios. </li></ul><ul><li>2 Modelagem.. </li></ul><ul><li>3 Análise e reestruturação. </li></ul><ul><li>4 Tipos de SI’s </li></ul><ul><li>4.1 Sistemas de Informação Rotineiros ou Transacionais (SIR’s, SIT’s, SPT’s) </li></ul><ul><li>4.2 Sistemas de Gestão Empresarial Integrada - ERP (Enterprise Resource Planning) </li></ul><ul><li>4.3 Sistemas de Gestão de Suprimentos </li></ul>
  52. 52. Definição <ul><li>            Um Sistema de Informação (SI) é um sistema cujo elemento principal é a informação. Seu objetivo é armazenar, tratar e fornecer informações de tal modo a apoiar as funções ou processos de uma organização. </li></ul>
  53. 53. Aplicações e Benefícios <ul><li>Produtividade </li></ul><ul><li>- Marketing </li></ul><ul><li>- Marketing de Precisão </li></ul><ul><li>- Business Intelligence </li></ul><ul><li>- Inteligência Competitiva </li></ul><ul><li>- Gestão do Conhecimento (capital intelectual) </li></ul>
  54. 54. Modelagem <ul><li>DFD estendido </li></ul><ul><li>exemplo para retirada de livros </li></ul>
  55. 55. Análise e reestruturação <ul><li>mesmo exemplo </li></ul><ul><li>tempo, paralelismo, gargalos, onde investir </li></ul><ul><li>projeto ??? </li></ul><ul><li>  </li></ul>
  56. 56. Tipos de SI’s <ul><li>A seguir, serão detalhados vários tipos de SI’s possíveis de serem utilizados em organizações. Os sistemas foram classificados de acordo com seus objetivos e tipos de informações que manipulam, mas nada impede que um mesmo SI, encontrado em alguma organização, esteja classificado em mais de um tipo. </li></ul>
  57. 57. Sistemas de Informação Rotineiros ou Transacionais (SIR’s, SIT’s, SPT’s) <ul><li>   Os SI’s Rotineiros são os mais simples e os mais comuns nas organizações. Eles apoiam as funções operacionais da organização, aquelas realizadas no dia-a-dia. Por isto, são facilmente identificados no nível operacional da organização. </li></ul>
  58. 58. Sistemas de Gestão Empresarial Integrada <ul><li>São sistemas que unem e integram os diversos sistemas rotineiros ou transacionais de uma organização. Permitem integrar os departamentos, de forma a agilizar processos e ainda gerar o Just-in-time (produção por demanda, sem estoques). </li></ul>
  59. 59. Sistemas de Gestão de Suprimentos <ul><li>Objetivo: controlar produtos, peças, matérias primas, materiais, composição, aquisição e fluxo de materiais por toda a cadeia produtiva. </li></ul><ul><li>  </li></ul><ul><li>Problemas comuns: </li></ul><ul><li>- comprar o que já existe em estoque </li></ul><ul><li>- comprar itens que estão faltando quando há similares ou compatíveis em estoque </li></ul><ul><li>- não saber de que fornecedor veio determinada peça, nem para onde foi (para que cliente) </li></ul><ul><li>- códigos de barra ou RFID em alfaces </li></ul>
  60. 60. Referências: <ul><li>WWW.GOOGLE.COM.BR </li></ul><ul><li>WWW.WIKIPÉDIA.COM.BR </li></ul>

×