Descrição do Algoritmo LZ77
|
|
|
- Sérgio Custódio
- 6 Há anos
- Visualizações:
Transcrição
1 Departamento de Ciência da Computação IME-USP MAC 110 Introdução à Computação BCC Primeiro Semestre de 2007 Terceiro Exercício-Programa Prazo de entrega: até 12 de junho de Compressão de Arquivos O objetivo deste exercício-programa é implementar um compressor de arquivos utilizando um algoritmo que foi proposto por J. Ziv e A. Lempel, em 1977, e que ficou conhecido como LZ77. Uma variante refinada desse algoritmo, conhecida como DEFLATE, é a base para dois formatos populares de arquivos comprimidos (ZIP e gzip), para a biblioteca de compressão de arquivos zlib e para inúmeros programas, incluindo PKZIP, WinZip, WinRAR e gzip. Quem estiver curioso para saber mais sobre o LZ77 e sobre a utilização de sua variante DEFLATE em programas de compressão de arquivos, visite as seguintes páginas: and LZ file format Descrição do Algoritmo LZ77 A idéia fundamental é muito simples: à medida que um arquivo é lido, seqüências repetidas de caracteres são substituídas por referências para ocorrências prévias dessas seqüências. Essas referências são pares (dist, compr), onde dist é a distância (número de caracteres) entre uma ocorrência da seqüência e a sua ocorrência prévia, e compr é o comprimento dessa seqüência. Quando um caractere c ocorrer pela primeira vez no texto, a referência será o par (0,c). Exemplo Arquivo original: le=0;while(le==0){hi=0;while(hi==0){hi= Arquivo comprimido: 0l 0e 0= 00 0; 0w 0h 0i 8 2 0( ) 0{ Repare que o arquivo original possui 39 caracteres (39 bytes), mas o arquivo comprimido possui 18 pares (36 bytes). A 9 ā referência, ou seja, o par 8 2, está indicando que os caracteres le da primeira ocorrência da palavra while já ocorreram no texto a uma distância de 8 caracteres. Note agora a 11 ā referência, ou seja, o par Apesar da seqüência le já ter ocorrido no final da palavra while, é mais vantajoso registrar a repetição da seqüência le=, que possui 3 caracteres e ocorre a uma distância de 11 caracteres. Repare também na economia de caracteres causada pela antipenúltima referência: a seqüência =0;while( foi substituída pelo par
2 O algoritmo de expansão (ou descompressão) é ainda mais simples: basta trocar cada referência por uma cópia do trecho referenciado por ela. No exemplo anterior, após a descompressão dos 8 primeiros pares, todos começando com 0, teremos o texto le=0;whi. A descompressão do 9 ō par, ou seja, do par 8 2, pode ser interpretada como: olhe oito caracteres para trás e copie dois caracteres a partir daí. Obtém-se, então, o texto le=0;while. Implementação do Algoritmo Na prática, os comprimentos das repetições procuradas têm um limite máximo e as buscas não são feitas em toda a parte já vista do arquivo original, mas apenas numa janela contendo o trecho mais recentemente examinado desse arquivo. Como essa janela parece deslizar sobre o arquivo original, o algoritmo LZ77 é também conhecido como compressão com janela deslizante. Declare um vetor de caracteres janela, com 510 posições, indexadas de 0 a 509. A primeira metade desse vetor (posições de 0 a 254), denominada dicionário, armazena o trecho mais recentemente examinado do arquivo original; a segunda metade (posições de 255 a 509), denominada look-ahead, armazena o próximo trecho do arquivo original a ser comprimido. Compressão Cada passo do processo de compressão consiste das seguintes ações: a) procure nos caracteres do (começando da posição 255) o segmento de maior comprimento que seja uma repetição de algum segmento de caracteres do dicionário (posições 0 a 254) e escreva no arquivo comprimido o par (dist,compr) correspondente; b) desloque todos os caracteres do vetor janela de compr posições para a esquerda (ou uma posição, no caso de dist = 0; c) leia do arquivo original os próximos compr caracteres necessários para preencher o (ou apenas um caractere, no caso de dist = 0. Apenas para facilitar a explicação, vamos supor que o vetor janela tem apenas 22 posições. No exemplo visto anteriormente, teremos: Situação após o 1 ō passo (quando foi gerado o par 0l ): l e = 0 ; w h i l e ( l Situação após o 10 ō passo (já foram gerados os 10 primeiros pares, de 0l a 0(): l e = 0 ; w h i l e ( l e = = 0 ) { h i = 0 2
3 No 11 ō passo ocorrerá o seguinte: será descoberto que o segmento de maior comprimento do look-ahead que seja uma repetição de algum segmento do dicionário é le=, o que gera o par (dist,compr) = (11,3); todos os caracteres de janela serão deslocados de 3 posições para a esquerda; serão lidos mais 3 caracteres do arquivo original: 0 ; w h i l e ( l e = = 0 ) { h i = 0 ; w h Note que tanto a distância dist quanto o comprimento compr podem variar apenas de 0 a 255, ou seja, cabem em um byte. Descompressão Para a descomprimir um arquivo que foi comprimido pelo método acima, também é preciso utilizar uma janela com um dicionário (contendo os últimos 255 caracteres já descomprimidos) e um look-ahead (onde são armazenados os caracteres que estão sendo gerados pela descompressão do par (dist, compr) que acabou de ser lido). Operação do programa Inicialmente, seu programa deve perguntar ao usuário se deseja comprimir ou descomprimir um arquivo. Em seguida, o programa deve pedir os nomes dos arquivos de entrada e de saída. Finalmente, o programa deve realizar a tarefa desejada. Note que o arquivo resultante de uma compressão pode ter mais bytes do que o arquivo original. (Quando ocorre esta situação?) Seu programa deve avisar caso isto ocorra. Em caso contrário, o programa deve determinar também o fator de compressão fc, definido como onde fc = ((nbao nbac)/nbao) 100 nbac = número de bytes do arquivo comprimido e nbao = número de bytes do arquivo original. Requisitos (1) O seu programa deve conter pelo menos as seguintes funções: comprimir um arquivo; descomprimir um arquivo; deslocar todos os caracteres no vetor janela de n posições para a esquerda; determinar o par (dist,compr) para o próximo trecho a ser comprimido. 3
4 Para esta última funcão, considere como parâmetros o vetor janela, a posição inicial do texto que já passou para a parte do dicionário (repare que no início o dicionário está vazio e, portanto, esta posição é 255), a posição do último caractere do look-ahead (repare que no final da compressão o vai esvaziando), e o par (dist,compr) a ser determinado. Exemplo: l e = 0 ; w h i l e ( l e = = 0 ) Nesse exemplo, a posição inicial é 244, a posição do último caractere é 260, e o par (dist,compr) devolvido é (11, 3). (2) Teste seu programa com os seguintes arquivos: um arquivo contendo um texto literário; o arquivo-fonte deste exercício-programa; um arquivo cujo arquivo comprimido correspondente tenha muito mais bytes do que o original; um arquivo cujo arquivo comprimido correspondente tenha muito menos bytes do que o original. (3) Não é possível examinar o conteúdo de um arquivo binário diretamente num editor de textos. Então, para que você possa conferir os pares (dist, compr) gerados durante a fase de compressão, seu programa deverá criar ao mesmo tempo um arquivo texto contendo esses pares. (5) Não devem ser usadas variáveis globais em nenhuma das funções do seu programa. 4
5 Observações Importantes 1) Todos os exercícios-programa devem ter um cabeçalho como o seguinte: /**********************************************************/ /* Aluno: Fulano de Tal */ /* Número USP: */ /* Exercicio-Programa 3 -- Compress~ao de Arquivos */ /* MAC110 (BCC) Professor: Reverbel */ /* Compilador:... (DevC++ ou gcc) vers~ao... */ /**********************************************************/ 2) O exercício-programa é estritamente individual. Exercícios copiados (com ou sem eventuais disfarces) receberão nota ZERO. 3) Exercícios atrasados não serão aceitos. 4) Exercícios com erros de sintaxe (ou seja, erros de compilação) receberão nota ZERO. 5) É muito importante que seu programa tenha comentários e esteja bem indentado, ou seja, digitado de maneira a ressaltar a estrutura de subordinação dos comandos do programa (conforme visto em aula). A avaliação dos exercícios-programa levará isto em conta. 6) Cada programa deve ter sido executado tantas vezes quantas forem necessárias para testar os vários casos possíveis para as entradas. 7) Você entregará seu exercício-programa através do sistema Paca/Moodle ( Para isto você precisa estar cadastrado nesse sistema (use o seu número USP para se cadastrar) e registrado no Paca como aluno da disciplina MAC110-BCC (uma vez cadastrado no Paca, basta entrar na área da disciplina MAC110-BCC que o sistema perguntará a você se deseja se registrar como aluno da disciplina). 8) Entregue apenas o programa fonte em C, num arquivo com nome ep3-<seu-número-usp>.c. (Exemplo: se seu número USP for , você deverá entregar um arquivo ep c.) 9) Enquanto o prazo de entrega não expirar, você poderá entregar várias versões do mesmo exercício-programa. Apenas a última versão entregue será guardada pelo sistema. Encerrado o prazo, o sistema não aceitará mais a entrega de exercícios-programa. Não deixe para entregar seu exercício na última hora! 10) Guarde uma cópia do seu exercício-programa pelo menos até o final do semestre. Bom trabalho! 5
1 O filtro da mediana
Departamento de Ciência da Computação IME-USP MAC0115 Introdução à Computação para Ciências Exatas e Tecnologia Instituto de Física Turma 21 Segundo Semestre de 2008 Quarto Exercício-Programa Prazo de
Compressão de Dados. Prof. Flávio Humberto Cabral Nunes
Compressão de Dados Prof. Flávio Humberto Cabral Nunes Conteúdo 1. Introdução 2. Compressão Unária 3. Compressão Elias-Gama 4. Run Length Encoding 5. Huffman 6. LZ77, LZ78 e LZW Capítulo: 12 (POSTIL).
PROGRAMAÇÃO DE COMPUTADORES I BCC Aula Prática 15
Exercício 1 PROGRAMAÇÃO DE COMPUTADORES I BCC701 2017-1 Aula Prática 15 No jogo Inventei, cada posição do tabuleiro é representada por suas coordenadas x e y e contém um número. O tabuleiro pode ser representado
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Algoritmos e Programação
Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes [email protected] 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes
Um Minotauro Perdido & Percolação
Departamento de Ciência da Computação IME-USP Segundo Semestre de 2014 MAC 115 Introdução à Computação IF Noturno (Versão quase final) Um Minotauro Perdido & Percolação Exercício-Programa 4 (EP4) Data
Programação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Exercícios: Vetores e Matrizes
Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Faça um programa que possua um vetor
Problema do Caminho Hamiltoniano
Universidade de São Paulo Escola de Artes, Ciências e Humanidades Bacharelado em Sistemas de Informação Introdução à Ciência da Computação II Professores Luciano Digiampietri e Fábio Nakano Data de entrega:
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes [email protected] 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Computação Eletrônica. Aula 12 Arquivos Texto e Binário. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Aula 12 Arquivos Texto e Binário Prof: Luciano Barbosa Relembrando a Arquitetura Básica de um Computador Até agora, toda a informação armazenada por nossos programas estava na memória
Trabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão
15/07/2013 Trabalho de LP Prof. Flávio Miguel Varejão OBSERVAÇÃO IMPORTANTE: LEIA ATENTAMENTE TODA A ESPECIFICAÇÃO DO TRABALHO E INSTRUÇÕES DE SUBMISSÃO DE MODO A NÃO COMETER ENGANOS POR DESATENÇÃO E SER
Abaixo seguem os comandos e suas particularidades, bem como exemplos para o indicador de linha
Trabalho II de CI067 - Oficina de Computação 2º Semestre - 2018 Tema: Editor compactador de arquivos Data de Entrega: 1. Introdução O editor a ser implementado edit([arquivo]) edita arquivos de texto ASCII.
Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:
Compressão de Textos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM O volume
Algoritmos e Estruturas de Dados II. Trabalho Prático 4
Algoritmos e Estruturas de Dados II Trabalho Prático 4 Entrega: 23/11/09 Devolução: 10/12/09 (sem possibilidade de entrega com atraso) Trabalho em dupla Prof. Jussara Marques de Almeida Problema 1: Construção
Desenvolvimento de programas. Análise do problema. Análise do problema. Análise do problema. Desenvolvimento do algoritmo. Codificação do programa
Desenvolvimento de programas 1 Análise do problema Desenvolvimento do algoritmo Codificação do programa Compilação e execução Teste e depuração Análise do problema 2 Conhecer exatamente o que o problema
Trabalho de Programação 2 Processador CESAR
Trabalho de Programação 2 Processador CESAR 1. Descrição Geral A empresa TABLETEROS S.A. assinou um contrato milionário de fornecimento de ultrabooks e teve que aumentar o número de estantes. Agora, a
1 O filtro da mediana
CCM0118 Computação I Departamento de Ciência da Computação IME-USP Curso de Ciências Moleculares Turma 22 Segundo Semestre de 2012 Quarto Exercício-Programa Prazo de entrega: até 4 de dezembro de 2012.
DCC001 - Programação de Computadores. Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores).
DCC-UFMG 1 semestre de 2007 DCC001 - Programação de Computadores Prof. Martín Gómez Ravetti Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores). Valor: 5 pontos 1. Escreva um algoritmo em
4ª Lista de Exercícios de Programação I
4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores
Aula 5 - Mais C e repetição
Vamos nesta aula mostrar mais detalhes e a forma geral dos comandos C vistos até agora. O comando de atribuição A forma geral do comando de atribuição é: = A expressão
SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo
SME0230 - Introdução à Programação de Computadores Primeiro semestre de 2017 Professora: Marina Andretta ([email protected]) Monitores: Douglas Buzzanello Tinoco ([email protected]) Amanda Carrijo
Comandos de repetição while
Programação de Computadores I UFOP DECOM 2014 1 Aula prática 6 Comandos de repetição while Resumo Nesta aula vamos trabalhar com problemas cuja solução envolve realizar um cálculo ou tarefa repetidas vezes,
Registros, Vetores e Matrizes
Registros, Vetores e Matrizes Lista de Exercícios - 05 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior 1) Elabore um algoritmo que leia 10 números inteiros digitados pelo usuário
4ª Lista de Exercícios de Programação I
4ª Lista de Exercícios de Programação I Instrução As questões devem ser implementadas em C. 1. Faça um algoritmo que leia 10 valores inteiros armazenando-os em um vetor e depois calcule a soma dos valores
BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35
BCC 201 - Introdução à Programação Portugol Guillermo Cámara-Chávez UFOP 1/35 Introdução I Lógica A lógica é usada no dia a dia das pessoas que trabalham com computação para solucionar problemas de forma
VETORES Motivação AULA 19
AULA 19 VETORES 19.1 Motivação Considere o problema de calcular a média aritmética das notas de 5 alunos de uma disciplina e determinar e escrever o número de alunos que obtiveram nota superior à média
Listas Estáticas. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich. *Baseado no material do Prof.
Listas Estáticas SCC0202 - Algoritmos e Estruturas de Dados I Prof. Fernando V. Paulovich *Baseado no material do Prof. Gustavo Batista http://www.icmc.usp.br/~paulovic [email protected] Instituto de
Introdução à Programação
Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos [email protected] Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de
Linguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
AULA A 6 ESTRUTURA DE DADOS. Compressão de dados
AULA A 6 ESTRUTURA DE DADOS Compressão de dados Esperamos que, ao final desta aula, você seja capaz de: compreender a importância da compressão de dados; conhecer algoritmos de compressão de dados (freqüência
Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3
Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Exercício - Seleção Escreva um algoritmo que leia o ano, mês e dia que uma pessoa nasceu
Aula 4 Introdução ao C
Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções
Aula 15 - Estruturas de Repetição (p3)
BCC701- Programação de Computadores I Aula 15 - Estruturas de Repetição (p3) Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM http://www.decom.ufop.br/bcc701 BCC701-2019-01
LINGUAGEM DE PROGRAMAÇÃO
Técnico em Informática LINGUAGEM DE PROGRAMAÇÃO Profª Ana Paula [email protected] Estruturas de Repetição Em muitos casos, o algoritmo solução para uma determinada classe de problemas, apresenta
Oficina de Python Prof. Me. José Carlos Perini
Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação
Unidade 4: Introdução à Lógica de Programação - Parte II
Lógica de Programação para Engenharia 1 Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação
ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior
ALGORITMOS E APLICAÇÕES FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior Formato Básico do Pseudocódigo Tipos de dados O VisuAlg prevê quatro tipos de dados: inteiro, real,
Apêndice B. Cadeias de Caracteres (Strings)
Apêndice B. Cadeias de Caracteres (Strings) Até agora, quando desejávamos indicar o número de elementos existentes em um vetor qualquer, utilizávamos uma variável inteira, digamos tam, para armazenar tal
Trabalho Prático. Descrição Considere os seguintes dados a respeito de uma pessoa:
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri Trabalho
COMANDOS DE REPETIÇÃO (ENQUANTO)
COMANDOS DE REPETIÇÃO (ENQUANTO) Disciplina: Algoritmos Professora: Alba Lopes [email protected] http://docente.ifrn.edu.br/albalopes COMANDOS DE REPETIÇÃO Usada quando se deseja que um trecho do
Estruturas de Repetição WHILE e DO- WHILE
Universidade Federal do Pampa UNIPAMPA Campus Itaqui RS Engenharia de Agrimensura Introdução à Programação (prof. Dr. Rogério Vargas) Lista 2 (entrega: 1 de junho de 2015) Instruções: Trabalhos iguais
Trabalho Prático 2 Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas
Disciplina: Algoritmos e Estrutura de Dados I CIC / 9 Trabalho Prático Mundo dos Blocos Alocação Dinâmica / Listas Encadeadas Valor:,5 pontos (5% da nota total) Documentação não-latex: -, pontos Impressão
Vetores. e o programa deverá ler os valores separadamente:
Vetores Vetor é um tipo de dado usado para representar uma certa quantidade de variáveis de valores homogêneos (do mesmo tipo). Imagine o seguinte problema: calcular a média das notas da prova de 5 alunos.
Algoritmos e Programação
Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes [email protected] 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a
Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano
Lógica de Programação para Engenharia 1 Unidade 4: Introdução à Lógica de Programação - Parte II Português Estruturado - Versão Estácio Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos
Estrutura de Dados Básica
Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 5: Registros O objetivo desta aula é apresentar os tipos de dados definidos pelo programador, bem como exibir usos comuns desses tipos de
Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.
Curso Básico de Programação Aula 11 Revisão Aula Anterior Laços de Repetição While; Do-While; For. Introdução à Linguagem C Laços de Repetição While Do-While For while () { } do {
Oficina de Python Prof. Me. José Carlos Perini
Oficina de Python Prof. Me. José Carlos Perini Prof. José Carlos Perini Formação em Análise de Sistemas Univ. S. Francisco Pós em Administração Universidade S. Francisco Mestrado em Ciência da Computação
Lista de Exercícios 5
Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Disciplina: BCC201 Introdução a Programação Professores: Túlio A. M. Toffolo e Puca
MAC 115 Introdução à Ciência da Computação ROTHELO
MAC 115 Introdução à Ciência da Computação INSTITUTO DE FÍSICA - BACHARELADO NOTURNO SEGUNDO SEMESTRE DE 2010 Terceiro Exercício-Programa (EP3) Data de entrega: até 06 de dezembro de 2010 (2a.feira) ROTHELO
Aula 11: Laços e exercícios
Aula 11: Laços e exercícios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2018/2 Departamento de Computação UFOP Aula Anterior Manipulação de laços Exercício 2 /
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores
BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores 1- Faça um programa que preencha um vetor com seis elementos numéricos inteiros, calcule e mostre: a.
MATRIZES - PARTE Definição e Manipulação de Matrizes AULA 21
AULA 21 MATRIZES - PARTE 1 21.1 Definição e Manipulação de Matrizes Sabemos como definir variáveis de um novo tipo de dados, denominado vetor, que representam seqüências de valores de um mesmo tipo. Por
1, caso haja uma mina na posição (i, j),
MAC 2166 Introdução à Ciência da Computação Primeiro Semestre de 2017 Terceiro Exercício-Programa: Busca minas Muitos de vocês devem conhecer o jogo do campo minado. Existem implementações para o Windows
Introdução à Computação II AULA 08 BCC Noturno - EMA896115B
Introdução à Computação II AULA 08 BCC Noturno - EMA896115B Prof. Rafael Oliveira [email protected] Universidade Estadual Paulista Júlio de Mesquita Filho UNESP Rio Claro 2014 (Sem 2) O ambiente de execução
BCC201 Introdução à Programação ( ) Prof. Reinaldo Silva Fortes. Prática 04 Estruturas de Dados Homogêneas Vetores
Professor David Menotti ([email protected]) BCC0 Introdução à Programação (0-0) Prof. Reinaldo Silva Fortes Prática 0 Estruturas de Dados Homogêneas Vetores ) Escreva um programa que armazene em um vetor
CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres
CURSO BÁSICO DE PROGRAMAÇÃO AULA 11 Revisão Aula Anterior Vetores Cadeia de Caracteres Introdução a Linguagem C Laços de Repetição While Do-While For while() { } do { }while();
Laboratório 3 Comandos de repetição while, do-while e for
Laboratório 3 Comandos de repetição while, do-while e for Computação I (MAB-120) Prof. Silvana Rossetto 1 DCC/IM/UFRJ 29 de março de 2019 O objetivo desta aula de laboratório é praticar o uso dos comandos
Exercícios TVC2 PARTE I:
Exercícios TVC2 Esta lista de exercícios foi elaborada como preparatório para a segunda avaliação que será realizada em breve, abordando repetições, vetores numéricos e strings. Algumas instruções: Desenvolva
<identificador>[<tamanho>]: <tipo>;
Vetores e Constantes Imagine uma situação na qual fosse necessário armazenar 100 valores para processamento. Por exemplo, pode ser necessário armazenar as notas de 100 provas de uma turma de alunos. Uma
