UNIVERSIDADE ESTADUAL PAULISTA. Apostila Pascal Ed Prof. Dr. Galeno José de Sena DMA/FEG CAPÍTULO 8
|
|
- Marta Pereira Balsemão
- 7 Há anos
- Visualizações:
Transcrição
1 unesp UNIVERSIDADE ESTADUAL PAULISTA Apostila Pascal Ed 2006 Prof Dr Galeno José de Sena DMA/FEG CAPÍTULO 8 ARQUIVOS DE DADOS EM PASCAL: ARQUIVOS SEQUENCIAIS - UMA INTRODUÇÃO 81 ARQUIVOS SEQUENCIAL E DIRETO Sequencial: todos os registros são armazenados sequencialmente um após o outro; para se acessar um particular registro, é necessário começar do início e pesquisar todo o arquivo até que o registro desejado seja encontrado Direto: cada registro pode ser acessado diretamente, sem que se tenha que proceder à leitura de todo o arquivo desde o seu início 82 DEFINIÇÃO DE ARQUIVOS Definição do registro; Declaração de tipo arquivo; Declaração de variáveis do tipo arquivo Exemplo: type reg_aluno = record arquivo = file of reg_aluno; var info_alunos: arquivo; 83 PROCEDIMENTOS E FUNÇÕES ÚTEIS NA GERAÇÃO, CONSULTA E ATUALIZAÇÃO DE ARQUIVOS (i) ASSIGN Associa o nome de arquivo lógico (como definido no programa) a um nome de arquivo físico (como armazenado na unidade de memória secundária) 146
2 Exemplos: assign (info_alunos, 'alunos1dat'); assign (info_alunos, 'a:alunos2dat'); (ii) REWRITE Prepara um arquivo externo (memória secundária: disquete, disco rígido) Arquivo inexistente: Cria e abre o arquivo Arquivo já existente: abre o arquivo para escrita, apagando o seu conteúdo anterior Ex: rewrite (info_alunos); (iii) WRITE Gravação de registro no arquivo Forma geral: write (id_arquivo, id_registro); Ex: var info_alunos: arquivo; aluno: reg_aluno; write (info_alunos, aluno); (iv) CLOSE Fechamento de um arquivo anteriormente aberto Sintaxe: close (id_arquivo); Ex: close (info_alunos); Observação: os procedimentos WRITE e REWRITE: são específicos para a geração de novos arquivos 147
3 (v) RESET Abertura de um arquivo já existente para leitura Forma geral: reset (id_arquivo); Ex: reset (info_alunos); (vi) READ Leitura de registro do arquivo Forma geral: read (id_arquivo, id_registro); Ex: read (info_alunos, aluno); (vii) EOF ("end of file") Função booleana para sinalizar se o final do arquivo foi ou não alcançado, retornando TRUE caso não haja mais elementos no arquivo e FALSE caso contrário Exemplo: while not eof (info_alunos) do (* o registro *) read (info_alunos, aluno); Observação: os procedimentos RESET, READ e a função EOF são específicos para consulta a um arquivo existente (viii) ERASE Remove o arquivo físico associado ao identificador lógico do meio de armazenamento (disquete ou winchester) 148
4 Forma geral: erase (id_arquivo); Ex: erase (info_alunos); Observação: O arquivo deve ser fechado (se estiver aberto) antes da execução do comando ERASE (ix) RENAME Renomeia o arquivo físico associado ao identificador de arquivo lógico, usando o nome fornecido como parâmetro do procedimento Forma geral: rename (id_arquivo_logico, id_arquivo_fisico); Ex: rename (cop_alunos, 'alunos1dat'); Programa Exemplo: Criação de um arquivo de dados contendo informações sobre os clientes de uma instituição financeira Codificação: program prjcontrolebancario; { cria um arquivo de dados contendo informações sobre contas correntes de clientes de uma instituição financeira } uses Crt; type tiposaldo = (devedor, credor, nulo); cliente = record conta : ; nome : string[10]; saldo : real; tipo : tiposaldo; arq_clientes = file of cliente; var info_clientes : arq_clientes; reg_cliente : cliente; I,N : integer; vsaldo : real; (* associa nome lógico a nome físico *) assign (info_clientes,'c:\cadastro\clientesdat'); 149
5 (* abre arquivo para escrita *) rewrite (info_clientes); (* numero de clientes *) writeln; write ('Numero de clientes? '); readln(n); For i := 1 to n do (* estrutura registro de cliente *) writeln; writeln ('Dados do ', I,'ocliente'); write ('Nome? '); readln (reg_clientenome); write ('saldo? '); readln (vsaldo); if (vsaldo < 0) then reg_clientesaldo := -vsaldo; reg_clientetipo := devedor; end else if (vsaldo > 0) then reg_clientesaldo := vsaldo; reg_clientetipo := credor; end else (* vsaldo = 0 *) reg_clientesaldo := 0; reg_clientetipo := nulo; reg_clienteconta := (i - 1) * 10; (* grava registro no arquivo *) write (info_clientes, reg_cliente); readln; (* fecha arquivo *) close(info_clientes); end (* principal *) Tela de execução: 150
6 Programa Exemplo: Leitura exaustiva dos registros do arquivo de clientes criado pelo programa anterior Codificação: program prjacessocontasclientes; { Efetua leitura exaustiva do arquivo de contas dos clientes } uses Crt; type tiposaldo = (devedor, credor, nulo); cliente = record conta : ; nome : string[10]; saldo : real; tipo : tiposaldo; arq_clientes = file of cliente; var info_clientes : arq_clientes; reg_cliente : cliente; (* associa nome lógico a nome físico *) assign (info_clientes,'c:\cadastro\clientesdat'); (* abre arquivo para leitura *) reset(info_clientes); writeln; writeln('registros do arquivo: '); writeln; 151
7 while not eof(info_clientes) do (* le registro do arquivo *) read(info_clientes,reg_cliente); (* apresenta informações do registro na tela *) with reg_cliente do writeln('conta : ', conta); writeln('nome : ', nome); if (tipo=devedor) then writeln('saldo: ', -saldo:7:2); if (tipo=credor) then writeln('saldo: ', saldo:7:2); if (tipo=nulo) then writeln('saldo: ',0); writeln; readln; (* fecha arquivo *) close(info_clientes); end Tela de execução: Programa Exemplo: Busca das informações de um cliente específico, a partir do arquivo de dados dos clientes da instituição Codificação: 152
8 program prjacessodadosumcliente; { Apresenta as informações das contas para os clientes cujos nomes são fornecidos } uses Crt; type tiposaldo = (devedor, credor, nulo); cliente = record conta : ; nome : string[10]; saldo : real; tipo : tiposaldo; arq_clientes = file of cliente; var info_clientes : arq_clientes; reg_cliente : cliente; aux_nome : string[10]; (* associa nome lógico a nome físico *) assign (info_clientes,'c:\cadastro\clientesdat'); (* abre arquivo para leitura *) reset(info_clientes); (* identificação do cliente a ser pesquisado no arquivo *) writeln; write('nome do cliente : '); readln(aux_nome); writeln; (* processamento informações clientes *) while (aux_nome <> 'FIM') do (* while (1) *) (* busca dados do cliente no arquivo *) while not eof(info_clientes) do (* while (2) *) (* le registro do arquivo *) read(info_clientes,reg_cliente); (* o registro lido é do cliente? *) if (reg_clientenome=aux_nome) then (* dados cliente *) (* apresenta informações do registro na tela *) with reg_cliente do writeln('conta : ', conta); writeln('nome : ', nome); if (tipo=devedor) then writeln('saldo: ', -saldo:7:2); if (tipo=credor) then writeln('saldo: ', saldo:7:2); if (tipo=nulo) then writeln('saldo: ',0); writeln; readln; (* dados cliente *) (* while (2) *) write('nome do cliente : '); readln(aux_nome); writeln; reset(info_clientes); (* while (1) *) readln; (* fecha arquivo *) close(info_clientes); end 153
9 Tela de execução: 84 ESTUDO DE CASO: CODIFICAÇÃO DE UM PROGRAMA PARA MANIPULAÇÃO DE UM ARQUIVO DE REGISTROS DE INFORMAÇÕES SOBRE ESTUDANTES DE UM CURSO Codificação em Pascal: program prjcontracad; { Sistema simplificado de controle academico: utilização de arquivos sequenciais em Pascal } uses Crt; const Nexames = 4; type reg_aluno = record Nro_aluno: string[8]; Nome_aluno : string[20]; Notas : array[1nexames] of real; Media: real; arquivo = file of reg_aluno; var aluno: reg_aluno; info_alunos: arquivo; opcao: integer; procedure cria_arquivo_inicial(var info_alunos: arquivo); { Cria arquivo de dados inicial, contendo informações dos alunos } var soma : real; i : integer; { prepara arquivo externo para ser gravado } rewrite(info_alunos); { estrutura registro e grava registro no arquivo } 154
10 with aluno do { estrutura registro } writeln; write ('Numero? (FIM p/ termino)'); readln(nro_aluno); while (Nro_aluno <> 'FIM' ) do write('nome? '); readln(nome_aluno); write('notas? (',Nexames:2,' exames) : '); soma := 0; for i := 1 to Nexames do read(notas[i]); soma := soma + Notas[i]; readln; media := soma/nexames; { gravação do registro } write(info_alunos, aluno); { inicia proximo registro ou finaliza } write('numero =? (FIM p/ termino) '); readln(nro_aluno); (* while *) (* with *) { fechamento do arquivo } close(info_alunos); (* cria_arquivo_inicial *) procedure lista_arquivo(var info_alunos: arquivo); { Apresenta dados de um aluno, a partir de seu registro no arquivo } var Nro_pesq: string [8]; achou: boolean; i: integer; reset(info_alunos); // abre arquivo write('numero =? ' ); readln(nro_pesq); // nro do aluno a pesquisar no arquivo achou := false; // supõe inicialmente que registro não esta no arquivo { percorre o arquivo, buscando o registro do aluno } while not eof(info_alunos) and not achou do (* while *) read(info_alunos, aluno); if (alunonro_aluno = Nro_pesq) then // aluno encontrado writeln; achou:= true; // achou sinaliza registro encontrado with aluno do // apresenta informações do aluno write(nro_aluno,' ',Nome_aluno,' ' ); for i := 1 to Nexames do write(notas[i]:5:1); writeln(media:5:1); readln; break; // break interrompe a execução do laço de repetição (* while *) if not achou then // registro nao encontrado writeln('aluno nao cadastrado no arquivo!'); readln; close(info_alunos); procedure atualiza_arquivo(var info_alunos: arquivo); { Permite atualizar (alterar) campos dos registros do arquivo } 155
11 var resp: char; cop_alunos: arquivo; soma: real; i: integer; procedure alterar(var resp:char); { para confirmar a alteração (ou não) de um campo de um registro } writeln('atualizar? (S/N): '); readln(resp); while ((resp <> 'S' ) and (resp <> 'N')) do writeln('atualizar? (S/N)'); readln(resp); (* alterar *) (* atualiza_arquivo *) reset(info_alunos); // arquivo original assign(cop_alunos, 'c:\cadastro\alunos2dat' ); // arquivo temporario rewrite (cop_alunos); // abre arquivo temporário para escrita while not eof(info_alunos) do // processamento: atualização dos registros do arquivo read(info_alunos, aluno); // leitura de registro do arquivo with aluno do // atualização dos campos de um registro writeln('dados DO ALUNO CORRENTE: ' ); write(nro_aluno, ' ', Nome_aluno); for i := 1 to Nexames do write(notas[i]:5:1); writeln(media:5:1); alterar(resp); // pergunta se o registro deverá ser modificado if (resp = 'S') then writeln('numero = ', Nro_aluno); alterar(resp); // alterar o numero? if (resp = 'S') then write('numero =? '); readln(nro_aluno); writeln('nome = ', Nome_aluno); alterar(resp); // alterar o nome? if (resp= 'S' ) then write('nome =? '); readln(nome_aluno); soma := 0; // guarda soma das notas p/ calculo da media (atualizada) for i := 1 to Nexames do writeln('notas[',i:2,' ] = ', Notas[i]:5:1); alterar(resp); // alterar a i-ésima nota? if resp = 'S' then write('notas[ ',i:2,'] =? ' ); readln(notas[i]); soma := soma + Notas[i]; media := soma/nexames; (* with *) write(cop_alunos, aluno); // gravação do registro atualizado (arq temporário) (* while *) close(info_alunos); // fecha arquivo original erase(info_alunos); // apaga o arquivo original do disco close(cop_alunos); // fecha arquivo temporário 156
12 rename(cop_alunos, 'c:\cadastro\alunos1dat'); // renomeia temporário p/ arq original (* atualiza_arquivo *) procedure menu_entrada; var i: integer; { menu de opcoes } for i := 1 to 5 do writeln; writeln( ' (1) Criar arquivo de dados inicial' ); writeln( ' (2) Listar dados de um aluno' ); writeln( ' (3) Atualizar dados de alunos' ); writeln( ' (4) Fim' ); writeln; write( 'Opcao =? ' ); readln(opcao); { chamada do procedimento correspondente à opção } case opcao of 1 : cria_arquivo_inicial(info_alunos); 2 : lista_arquivo(info_alunos); 3: atualiza_arquivo(info_alunos); 4: exit; else writeln; writeln('opcao invalida'); menu_entrada; (* case *) { retorna ao menu principal } menu_entrada; (* menu_entrada *) (* principal *) { associa arquivo logico a arquivo fisico } assign(info_alunos, 'c:\cadastro\alunos1dat' ); { ativa menu de opcoes } menu_entrada; end (* principal *) 157
13 Telas de execução correspondentes às opções do menu: Exercícios 1) Modificar os programas_exemplo anteriores segundo o esquema abaixo, modularizando o programa, introduzindo procedimentos para: (i) Criar o arquivo de cadastro (ii) Listar informações sobre todos os clientes (iii) Listar informações sobre um cliente dado o número de sua conta (iv) Listar informações sobre um cliente dado o seu nome 158
14 (iv) Gerar listagem ordenada (por nome) dos cliente cadastrados (v) Modificar o arquivo em função de uma transação (depósito ou retirada) 2) Modificar o programa anterior para criar um arquivo ordenado Criar procedimentos (selecionáveis através de menu) para: (a) Listar todos os registros do arquivo (b) Listar um registro em particular (selecionável através de uma chave como número de conta ou nome do cliente) (c) Inserir um registro no arquivo (mantendo-o ordenado) (d) Excluir um registro do arquivo (mantendo-o ordenado) (e) Efetuar uma transação (depósito ou retirada) para um cliente específico (f) Finalizar o processamento Referências: 1 Forbellone, A L V; Elberspächer, H F Lógica de Programação - A Construção de Algoritmos e Estruturas de Dados São Paulo: Makron Books, Farrer, H e outros PASCAL ESTRUTURADO Rio de Janeiro: Guanabara Dois S A, Catlin, A Pascal for Engineers and Scientists with Turbo Pascal Englewood Cliffs, N J: Prentice-Hall, Inc, Schmitz, E A; Teles, A A S Pascal e Técnicas de Programação Rio de Janeiro: LTC, Grillo, M C A Turbo Pascal 50 e 55 Rio de Janeiro: LTC,
ESTRUTURA DE DADOS -ARQUIVOS. Prof. Angelo Augusto Frozza, M.Sc.
ESTRUTURA DE DADOS -ARQUIVOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br DEFINIÇÃO DO ARQUIVO Opção 1 type = [text] [file [of ]]; = ; Opção 2
Leia maisPascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string
Pascal -Cabeçalho do programa Áreas do programa -Área de declarações -Corpo do programa - label - const - type - var - procedure - function - integer - real - byte - boolean - char - string Program
Leia maisLista de Comandos: Arquivo texto e Binário
Lista de Comandos: Arquivo texto e Declaração de arquivo do tipo binário program sequencial; type endereco = record end; rua : string[40]; numero : integer; CEP : real; cadastro = record end; nome : string[30];
Leia maisConstrução de Algoritmos II Aula 04
exatasfepi.com.br Construção de Algoritmos II Aula 04 André Luís Duarte Porque mil anos são aos teus olhos como o dia de ontem que passou, e como a vigília da noite. Salmos 90:4 Arquivos Declaração de
Leia maisPROG. DE COMPUTADORES II SI Arquivos
1 PROG. DE COMPUTADORES II SI Arquivos Arquivos Permitem que gravemos nossas informações em dispositivos físicos Pendrive HD Estão organizados logicamente em registros Cada registro é similar a um campo
Leia maisARQUIVOS. Os arquivos criados em meios magnéticos poderão ser acessados para leitura e escrita na forma seqüencial, direta ou indexada.
Texto retirado e adaptado da apostila A Linguagem Pascal, disponível no site http://www.portaldaprogramacao.com (autor: desconhecido) ARQUIVOS Anteriormente, foi estudado o conceito de tabelas em memória
Leia maisManipulação de Arquivos em Pascal
Manipulação de Arquivos em Pascal Estrutura de Dados II Aula 03 UFS - DComp Adaptados a partir do material da Profa. Kenia Kodel Cox 1 Para implementar programa infantil para ordenação (alfabética) de
Leia maisLinguagem Pascal. Prof. Antonio Almeida de Barros Junior
Linguagem Pascal Prof. Antonio Almeida de Barros Junior 1 Linguagem Pascal Criada para ser uma ferramenta educacional (Década de 70); Prof. Niklaus Wirth (Universidade de Zurique); Blaise Pascal (Matemático
Leia maisLinguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;
Linguagem Pascal Prof. Sérgio Rodrigues Introdução Algoritmo É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa; Programa é a formalização de um algoritmo
Leia mais6) ESTRUTURA DE UM PROGRAMA
Página 1 de 16 6) ESTRUTURA DE UM PROGRAMA = = program ; = uses
Leia maisSintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)
Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Não-terminais são nomes mnemônicos colocados entre parênteses angulares. Vocabulário terminal formado por
Leia maisArmazenamento de Dados. Prof. Antonio Almeida de Barros Junior
Armazenamento de Dados Prof. Antonio Almeida de Barros Junior 1 Armazenamento de Dados Todos os dados que utilizamos até o momento, ficavam armazenados apenas na memória. Ao final da execução dos programas,
Leia maisEngenharia Civil e Engenharia Básica Programação de Computadores Wedson Quintanilha da Silva
Página 1 de 10 APOSTILA DE PASCAL MAPEAMENTO DE ALGORITMOS PARA PASCAL Algoritmo Exercicio1 Program Exercicio1; declare nome : caracter; nome : string; aux : inteiro; aux : integer; salario : real; salario
Leia maisElementos básicos das linguagens de programação
Elementos básicos das linguagens de programação Objetivos: Apresentar os últimos elementos básicos das linguagens de programação Elementos básicos já estudados Entrada (read, readln) Saída (write, writeln)
Leia maisTutorial de Turbo Pascal
Página 1 de 7 Este tutorial foi completamente escrito por Rodrigo Brambilla pode ser distribuído livremente sem nenhuma modificação. Agradecimentos: Leomar Pacheco Rocha, Rodrigo Hoffmann dos Santos, Paulo
Leia maisComputação Eletrônica. Arquivo
Computação Eletrônica Arquivo Memória RAM (1 Giga Byte) Processador (Intel Pentium) Disco ou (100 Giga Bytes) Por que temos 2 memórias? : permanente (pode desligar o computador), barato e lento O é representado
Leia maisConsidere uma máquina que utiliza uma palavra de 10 bits. Suponha o seguinte padrão de bits:
PROVA DE CONHECIMENTOS ESPECÍFICOS 1 a QUESTÃO: (1, ponto) Representação binária Considere uma máquina que utiliza uma palavra de 1 bits. Suponha o seguinte padrão de bits: 1111. a) Indique o valor em
Leia maisUnidade VI. Técnicas de Teste de Software Teste Estrutural. Profa. Dra. Sandra Fabbri
Unidade VI Técnicas de Teste de Software Profa. Dra. Sandra Fabbri Os requisitos de teste são extraídos de uma implementação em particular Teste dos detalhes procedimentais A maioria dos critérios dessa
Leia maisLinguagem Computacional. Estruturas de Controle: Estruturas de Repetição. Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves
Informática II Linguagem Computacional Estruturas de Controle: Estruturas de Repetição Prof. Dr. Adriano Cansian Prof. Dr. Leandro Alves Neves 1 Sumário q Estruturas de Controle de Fluxo Repetição Enquanto
Leia maisLinguagem de programação: Pascal
Aula 04 Linguagem de programação: Pascal Prof. Tecgº Flávio Murilo 26/03/2013 1 Pascal Introdução Pascal é uma linguagem de programação estruturada, criada em 1970 pelo suíço Niklaus Wirth, dando este
Leia maisVariáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea
Variáveis Compostas Heterogêneas Variável Composta Heterogênea Conjunto de dados logicamente relacionados, mas de tipos diferentes. Também chamada de registro. Variável Composta Heterogênea 1 Declaração
Leia maisComputação I. Prof. Miguel Elias Mitre Campista.
Computação I Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Linguagens de Programação DEL-Poli/UFRJ Introdução ao Pascal Níveis de Linguagens de Programação Linguagens declarativas Linguagens
Leia maisENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO
ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO 1. INTRODUÇÃO O que é um programa? Programa constitui uma seqüência lógica de passos para solução de um problema. Um programa pode ser codificado em
Leia maisTeoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.
Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.
Leia maisAula Anterior. Decomposição algorítmica (continuação)
Aula Anterior Decomposição algorítmica (continuação) Degenerescência da decomposição básica da solução em três etapas Método de decomposição modificado à entrada Associação de diferentes valores de entrada
Leia maisUNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática
Programação 1 Prof. Osório Aula 10 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 10 Disciplina: Linguagem
Leia maisIntrodução ao Pascal. Computação I. Níveis de Linguagens de Programação. Níveis de Linguagens de Programação. Como um Programa é Executado?
Computação I Introdução ao Pascal Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Linguagens de Programação DEL-Poli/UFRJ Níveis de Linguagens de Programação Linguagens declarativas Linguagens
Leia maisINTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO
INTRODUÇÃO À LINGUAGEM PASCAL CESAR BEZERRA TEIXEIRA,MSC PREFÁCIO A linguagem Pascal foi criada pelo Prof Niklaus Wirth na universidade de Zurich, com o propósito de ensinar os conceitos de uma linguagem
Leia maisAulas Anteriores. Detalhes da linguagem de programação
Aulas Anteriores Detalhes da linguagem de programação Elementos básicos (identificadores, constantes, símbolos gráficos) Estrutura básica de um programa (cabeçalho, parte declarativa, parte de execução)
Leia mais= = = = = = = = = = = = = = = =
Página 1 de 7 A Linguagem PASCAL = = = = = = = = = = = = = = = = 1) ALFABETO: são os símbolos (ié, caracteres ) permitidos na linguagem. São as letras (maiúsculas e minúsculas), os algarismos (ou dígitos)
Leia maisSumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 10. Algoritmos e Programação. Enquanto (Teste no início) Repeat (Teste no final)
Algoritmos e Programação Informática II Ciência da Computação Prof. Dr. Leandro Alves Neves Aula 10 1 Sumário Estruturas de Controle de Fluxo q Repetição Enquanto (Teste no início) Repeat (Teste no final)
Leia maisAnálise Semântica e Tratamento de Erros Dependentes de Contexto
Análise Semântica e Tratamento de Erros Dependentes de Contexto O componente Semântico de uma LP Tarefas da Análise Semântica Implementação da Tabelas de Símbolos Ações Semânticas em Compiladores Dirigidos
Leia maisVARIÁVEIS NUMÉRICAS : integer - Números inteiros entre e real - Números reais de 11 algarismos significativos.
TURBO PASCAL Histórico Origem: desenvolvida nos anos entre 1968 e 1970 por Nicklaus Wirth na Universidade Técnica de Zurique, Suíça. Em 1970 é disponibilizado o primeiro compilador para a linguagem. Objetivo:
Leia maisLinguagem de Programação Pascal - Introdução
Linguagem de Programação Pascal - Introdução História Pascal é uma linguagem de programação que recebeu o seu nome em homenagem ao matemático Blaise Pascal. A linguagem Pascal foi criada em 1970 pelo suíço
Leia maisArquivos em C. Material da Prof. Ana Eliza
em C Material da Prof. Ana Eliza Definição Um arquivo é uma estrutura de dados linear ( lista ) que é mantida fora da memória principal, em um dispositivo de armazenamento (memória secundária). Um arquivo
Leia maisMétodos de Programação I (2005/2006) 1. Ficheiro (file)
Métodos de Programação I (2005/2006) 1 Ficheiro (file) O tipo estruturado file representa, em Pascal, uma estrutura de dados capaz de armazenar dados ou resultados de qualquer outro tipo É uma estrutura
Leia maisUNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática
Programação 1 Prof. Osório Aula 05 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 05 Disciplina: Linguagem
Leia maisLinguagem Pascal. Definição e Tipos de Dados. Professora Lara Popov Zambiasi Bazzi Oberderder. Linguagem PASCAL 1
Linguagem Pascal Definição e Tipos de Dados Professora Lara Popov Zambiasi Bazzi Oberderder Linguagem PASCAL 1 Origem Linguagem de programação largamente utilizada no ensinoaprendizagem de programação
Leia maisNotas de Aula de Algoritmos e Programação de Computadores
Notas de Aula de Algoritmos e Programação de Computadores FLÁVIO KEIDI MIYAZAWA com a colaboração de TOMASZ KOWALTOWSKI Instituto de Computação - UNICAMP Versão 2000.1 Estas notas de aula não devem ser
Leia maisCapítulo IV : A Linguagem Pascal Ficheiros de Texto
Capítulo IV : A Linguagem Pascal Ficheiros de Texto 1 _ Capítulo IV : A Linguagem Pascal Ficheiros de Texto Um Programa Pascal pode comunicar com um ou vários Ficheiros, tanto para a Leitura de Dados,
Leia maisCiclo com Contador : instrução for. for de variável := expressão to. expressão do instrução
Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Algoritmos de busca Basicamente podem ser citadas duas estratégias para procurar (ou buscar) algo em uma coleção de dados: Busca
Leia maisProgramação I. Departamento de Engenharia Rural Centro de Ciências Agrárias
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Aula 08 Programação em pascal Pascal Pascal
Leia maisLinguagens de Programação
Linguagens de Programação Paradigma Imperativo Matheus Hafner Tiago Xavier CET 087 - Conceitos de Linguagens de Programação (CLP) 10 de novembro de 2011 Sumário 1 Introdução 2 Paradigma imperativo Modelo
Leia maisRepresentação de Algoritmos - Linguagens de Programação
Representação de Algoritmos - Linguagens de Programação A representação de algoritmos em uma pseudo-linguagem mais próxima às pessoas é bastante útil principalmente quando o problema a ser tratado envolve
Leia maisTexto retirado e adaptado da apostila Curso de Linguagem Pascal, disponível no site (autor: desconhecido).
Texto retirado e adaptado da apostila Curso de Linguagem Pascal, disponível no site http://www.portaldaprogramacao.com (autor: desconhecido). Leitura indicada: Notas de Aula de Algoritmos e Programação
Leia mais1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18
ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados
Leia maisIntrodução à Ciência da Computação
Introdução à Ciência da Computação Variáveis Conceitos Básicos Variáveis x Constantes a = x + 5 a, x e 5 são variáveis ou constantes? Variáveis As variáveis são recipientes de valores É um espaço reservado
Leia maisLISTA 14 Gabarito. 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série:
LISTA 14 Gabarito 1) Preparar um algoritmo para calcular a soma de 100 termos da seguinte série: 1 1/2 + 1/4-1/6 + 1/8-1/10 + 1/12 -... Program questao1; i,a: integer; s: real; s:= 1; for i:= 1 to 99 do
Leia maisExercícios. Resposta: a) var valor: real; i: integer. b)
Exercícios 1.Sabendo que a função frac retorna a parte fracionária de um número. Ex: frac(10.7) 0.7 Faça: a) Declare as iáveis do código abaixo. b) Escreva como seria a saída desse código na tela do computador.
Leia maisLinguagem Pascal. Prof. Jonatas Bastos Site:
Linguagem Pascal Prof. Jonatas Bastos Email: jonatasfbastos@gmail.com Site: http://jonatasfbastos.wordpress.com/ 1 Linguagem Pascal Foi desenvolvida pelo prof. Niklaus Wirth como uma linguagem simples
Leia maisSCC 202 Algoritmos e Estruturas de Dados I. Pilhas (Stacks) (implementação dinâmica)
SCC 202 Algoritmos e Estruturas de Dados I Pilhas (Stacks) (implementação dinâmica) Operações alocação encadeada dinâmica typedef struct elem{ tipo_info info; struct elem *lig; tipo_elem; typedef struct{
Leia maisDisciplina Programação Prof. Esp. Armando Hage. Programação em Turbo Pascal
Disciplina Programação Prof. Esp. Armando Hage Programação em Turbo Pascal Introdução A linguagem de programação pascal foi escrita por Niklaus Wirth entre 1969 e 1971, e deriva das linguagens ALGOL-60
Leia maisCapítulo V : Um Tipo Estruturado de Dados: o array
Capítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 1 _ Capítulo V : Um Tipo Estruturado de Dados: o array Ex1: Vector, Variável com um índice, Tabela unidimensional. var x : array [0..7]
Leia maisCapítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 18. Para limite de n até 2 (* passagens de 1 até (n-1) *)
Capítulo V : A Linguagem Pascal Um Tipo Estruturado de Dados: o array 18 _ Métodos de Ordenamentos: Borbulhamento (BubbleSort) Estratégia: Os elementos de um vector a[1..n] estão dispostos por ordem não
Leia maisLinguagem de Programação
Linguagem de Programação Aula 10 Arquivos Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno Persistência
Leia maisAPÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL.
APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL. 1. INTRODUÇÃO Este apêndice tem o objetivo de fornecer as regras básicas para transformar algoritmos (em Natural) em programas (em PASCAL).
Leia maisLinguagem de Programação C. Arquivos
Arquivos Cristiano Lehrer Introdução Em C um arquivo é apenas um conjunto de bytes colocados uns após os outros de forma sequencial: Utilização de arquivos: Fonte de dados para o programa: Trata-se de
Leia maisFACCAT Sistemas de Informação. Estruturas de Dados
FACCAT Sistemas de Informação Estruturas de Dados Aula 1 http://professores.faccat.br/azambuja (Estrutura de Dados) Definição de variáveis Podemos imaginar uma variável como o local onde se pode colocar
Leia maisManipulação de Arquivos Binários
Introdução à Computação I Departamento de Física e Matemática FFCLRP-USP Prof. Dr. José Augusto Baranauskas IBm1006 1º Semestre/2006 Notas de Aula Manipulação de Arquivos Binários Até agora vimos como
Leia mais9/24/2014. Prof. André Backes
Prof. André Backes 1 Arquivos Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não sequencial; Acesso concorrente aos
Leia maisEstrutura de Decisão - Case
FTC Faculdade de Tecnologia e Ciências Engenharia Civil 1º Semestre Estrutura de Decisão - Case Rafael Barbosa Neiva rafael@prodados.inf.br Definição Para a execução de um determinado comando CASE, somente
Leia maisEste capítulo apresenta as técnicas de manipulação de arquivos texto, binários e suas principais funções de I/O.
TRABALHANDO COM ARQUIVOS E DIRETÓRIOS Capítulo 9 Este capítulo apresenta as técnicas de manipulação de arquivos texto, binários e suas principais funções de I/O. ARQUIVOS TEXTO (File of Text) Os Arquivos
Leia maisLista 13. Program Pzim ; var dez : array [ ] of real; i:integer; Begin //lê 10 valores for i:= 1 to 10 do readln(dez[i]); //calcula
Lista 13 1) Desenvolva um programa em Pascal que receba do usuário um vetor de 10 posições, multiplique os valores em índice ímpar por 10 e divida os valores em índice par por 10. Depois apresente ao usuário
Leia maisSimulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Armazenamento de dados Armazenamento de dados Você adquiriu muitas habilidades de programação. Os programas cresceram em tamanho
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Exercícios Variáveis compostas homogêneas Multidimensionais (matrizes e outras abstrações) Manipulação de Strings e caracteres
Leia maisLinguagem de Programação
Linguagem de Programação Aula 2 Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno O que
Leia maisRefinamentos sucessivos
Refinamentos sucessivos Objetivos: Estudar a técnica de refinamentos sucessivos Jogo: 2048 Implementaremos o jogo 2048, com o objetivo de estudar a manipulação dos elementos de uma matriz Utilizaremos
Leia maisLISTA DE EXERCÍCIOS 15 ( Matrizes (7Cs))
LISTA DE EXERCÍCIOS 15 ( Matrizes (7Cs)) 1) Faça um programa que gere a seguinte matriz: 1 1 1 1 1 1 1 2 2 2 2 1 1 2 3 3 2 1 1 2 3 3 2 1 1 2 2 2 2 1 1 1 1 1 1 1 Com base no comando, complete o algoritmo
Leia maisPLANO DE ENSINO. Súmula:
INF01211 NOME DA DISCIPLINA: Algoritmos e Programação Semestre: 2009/2 Carga horária: 4 h Créditos: 4 Professor: Luis de França G. Ferreira Súmula: Formulação de problemas, construção de algoritmos e implementação
Leia maisAlgumas notas sobre PASCAL
Algumas notas sobre PASCAL PARTE I Anjolina Grisi de Oliveira 1 Um programa em PASCAL Esse texto inclui algumas notas sobre a linguagem PASCAL. As diferenças existentes entre os diversos compiladores não
Leia mais10) REGISTROS : Exemplos: var N,I: integer; A,B,C: real; CHAVE: boolean; CARAC: char; V: array[1..20] of real; M: array[1..10,1..
Página 1 de 10 10) REGISTROS : De um modo geral, as variáveis podem ser: - simples (integer, real, boolean, char) e - compostas: - homogêneas (array) - heterogêneas (record) Exemplos: var N,I: integer;
Leia maisIntrodução ao Fortran 90. Aula 3
Introdução ao Fortran 90 Aula 3 Usando vetores e matrizes Definição Uma matriz ou vetor consiste de um conjunto retangular de elementos, todos do mesmo tipo e espécie do tipo. Uma matriz ou vetor é um
Leia maisProgramação II. Arquivos - Conceito. Arquivos
Programação II Arquivos Jocélio Passos joceliodpassos@bol.com.br C Comp Total, Cap 9 Espaço para armazenar dados em memória auxiliar (não volátil) Arquivos em C podem ser também terminais ou impressoras
Leia maisEstruturas de Controle
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Prof. Yandre Maldonado - 1 Estruturas de Controle Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Estrutura de Seleção Prof. Yandre
Leia maisTeste de P1 12 de Dezembro 2001
Teste de P1 12 de Dezembro 2001 Pergunta 1: Converta o seguinte segmento de código trocando o bloco de if para o bloco do sem modificar o resultado do programa if ( (i=1) OR (i=x) OR (j=1) OR (j=y) ) then
Leia maisDepartamento de Engenharia Rural Centro de Ciências Agrárias. Programação I
Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Tipos definidos pelo programador Variáveis compostas heterogêneas Tipos definidos pelo usuário Os tipos integer, real, boolean,
Leia maisArquivos. Arquivos correspondem a unidades de armazenamento, tipicamente gravados em unidades de memória secundária.
Arquivos Arquivos correspondem a unidades de armazenamento, tipicamente gravados em unidades de memória secundária. Sistemas operacionais, como Linux ou Windows, permitem que arquivos sejam criados e recuperados
Leia maisIntrodução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores
Introdução à programação em PASCAL Aula de 22/10/2001 Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores Conteúdo Conceito de linguagem de programação O processo
Leia maisProf. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1
INE5603 Introdução à POO Prof. A. G. Silva 13 de novembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de 2017 1 / 1 Introdução à manipulação de arquivos Prof. A. G. Silva INE5603
Leia maisPROF. Menezes. program ex17; uses wincrt; var i, a, cont: integer;
ENGENHARIA DE PRODUÇÃO LISTA RESOLVIDA PROF. Menezes. DISCIPLINA : ICCII TURMAS : 22431N / 22432N 01. Escrever um algoritmo/programa em Pascal que lê 5 valores para a, um de cada vez, e conta quantos destes
Leia maisCapítulo VI : Subprogramas
Capítulo VI : Subprogramas 1 _ Capítulo VI : Subprogramas Subdivisão dos programas em unidades funcionais. Procedimento (procedure): realiza uma acção Função (function) : calcula e fornece um valor 5.1.
Leia maisDisciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2015 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia mais2.2.5 EXPRESSÕES - Regras para o cálculo de valores
Métodos de Programação I Departamento de Matemática, FCTUC 30 2.2.5 EXPRESSÕES - Regras para o cálculo de valores As expressões fornecidas ao computador, quer tenham variáveis, constantes ou apenas literais,
Leia maisDepartamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos
Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I Aula 13 Arquivos Responsável Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com
Leia maisEstruturas de Controle. Estrutura de Seleção. Estrutura de Seleção
UNIVERSIDADE ESTADUAL DE MARINGÁ DEPARTAMENTO DE INFORMÁTICA Prof. Yandre Maldonado - 1 Estruturas de Controle Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Estrutura de Seleção Prof. Yandre
Leia maisGrupo 3: 8,3 - Parte Léxica (2,0): 1,9 - Na parte I especificou tamanho de identificador com 512 caracteres, mas não tratou (-0,1) -Parte Sintática
Grupos revisem os problemas da análise léxica e sintática ANTES de passarem para as fases seguintes. Os grupos que não fizeram revisão hoje (13/5), podem fazer na semana dia 24/5 Grupo 1: 6,0 - Parte Léxica
Leia maisRateio por Despesas por Contas Contábeis
Rateio por Despesas por Contas Contábeis Introdução É possível efetuar configuração no sistema para que a contabilização das despesas seja rateada entre departamentos/centros de custo, de acordo com percentuais
Leia mais- UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática
Programação 1I Prof. Osório Listas simplesmente encadeadas Pag.: 1 - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática Programação II Disciplina:
Leia maisUNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática
Programação 1 Prof. Osório Aula 03 Pag.: 1 UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática PROGRAMAÇÃO I AULA 03 Disciplina: Linguagem
Leia maisCURSO de CIÊNCIA DA COMPUTAÇÃO NITERÓI - Gabarito
. UNIVERSIDADE FEDERAL FLUMINENSE TRANSFERÊNCIA 2 o semestre letivo de 2008 e 1 o semestre letivo de 2009 CURSO de CIÊNCIA DA COMPUTAÇÃO NITERÓI - Gabarito Verifique se este caderno contém: INSTRUÇÕES
Leia maisExercícios: Arquivos
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Arquivos 1. Codifique, compile e execute um programa que: (a) crie/abra
Leia maisConjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo;
Conjunto (set) O tipo estruturado set representa, em Pascal, um conjunto de objectos de um dado tipo; O tipo de dados tem por base um tipo simples (enumerável); Na verdade, um set representa o conjunto
Leia maisESTRUTURA HOMOGÊNEA: VETORES/ARRAYS
Lógica de Programação Professora Lucélia ESTRUTURA HOMOGÊNEA: VETORES/ARRAYS Um vetor é um arranjo de elementos armazenados na Memória Principal, um após o outro, todos com o mesmo nome. A idéia é a mesma
Leia maisPASCAL Adriano Mauro Cansian André Proto
PASCAL Adriano Mauro Cansian André Proto UNESP - São José do Rio Preto Linguagem Computacional Programação Pascal Prof. Dr. Adriano Mauro Cansian 1 Programando em Pascal (1) Pascal é uma linguagem altamente
Leia maisUSP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria
USP - ICMC - SSC SSC 0501-1o. Semestre 2011 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/
Leia maisExercícios sobre o Capítulo III
A Linguagem Pascal Exercícios 1 Exercícios sobre o Capítulo III Problema: Dado um número inteiro e positivo, representando segundos, convertê-lo em horas, minutos e segundos. O resultado deve ser dado
Leia mais1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir:
Introdução à Informática 1 de 6 Data: 29/05/04 1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir: program eq2grau; uses WinCrt, Strings;
Leia mais