1) O documento descreve estruturas de dados homogêneas, especificamente vetores e matrizes. Vetores permitem armazenar múltiplas informações do mesmo tipo de dado sob um único nome, acessadas por índice. Matrizes generalizam vetores para duas ou mais dimensões.
2) Operações básicas como atribuição, leitura e escrita em vetores e matrizes são feitas elemento a elemento usando os índices para acessar cada posição. O método da bolha é usado como exemplo para ordenar vetores numericamente.
1. O documento discute vetores (arrays unidimensionais) e multidimensionais em Java, incluindo sua declaração, definição e manipulação.
2. Apresenta exemplos de uso de vetores de tipos primitivos e de referências a objetos, incluindo arrays irregulares.
3. Discutem conceitos como length, índices de vetor e exceções de array index out of bounds.
O documento apresenta um algoritmo de agenda virtual que utiliza vetores para armazenar temporariamente nomes, endereços, telefones e e-mails de 100 pessoas. O algoritmo contém falhas, mas serve como exemplo inicial para demonstrar o uso de vetores. Na próxima aula, o tópico será matrizes.
Os principais tipos de dados suportados pelo mySQL para armazenamento de strings, numéricos e datas são descritos no documento. Strings podem ser armazenadas usando CHAR, VARCHAR, TINYBLOB entre outros e ocupam espaço de 1 a 8 bytes dependendo do tipo e tamanho. Números podem ser armazenados usando TINYINT, SMALLINT, INT e outros e ocupam de 1 a 8 bytes. Datas podem ser armazenadas usando DATE, DATETIME e TIMESTAMP e ocupam de 1 a 8 bytes.
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
O documento discute estruturas de dados como vetores, matrizes e registros. Vetores permitem armazenar conjuntos de dados do mesmo tipo, matrizes permitem armazenar dados em estruturas bidimensionais indexadas, e registros permitem armazenar dados de tipos diferentes agrupados. O documento fornece exemplos e explicações sobre como declarar e usar essas estruturas de dados.
1. O documento descreve algoritmos de ordenação e busca, incluindo Selection Sort, Bubble Sort, Quicksort, busca linear e binária.
2. São fornecidos exemplos de código em C para cada algoritmo, explicando seu funcionamento de forma concisa.
3. Os algoritmos ordenam vetores comparando valores e trocando de posição quando necessário (ordenação), ou buscam por um valor específico percorrendo o vetor (busca).
Arrays, também muito conhecidos como vetores, são variáveis que servem para guardar vários valores do mesmo tipo de forma uniforme na memória.
Aprenda o que são matrizes e como usar esses arrays (ou vetores) multidimensionais
O documento apresenta os principais métodos da classe Vector em Java, incluindo adicionar, remover e obter elementos. Também fornece exemplos de como usar esses métodos para cadastrar nomes e caixas de uva em vetores e realizar operações como pesquisar, substituir e remover itens.
[1] O documento apresenta os fundamentos de algoritmos e linguagem de programação, incluindo tipos de dados, variáveis e operadores. [2] São descritos os principais tipos de dados como numéricos, literais e lógicos. [3] O conceito de variável é explicado como um local na memória para armazenar valores de acordo com um tipo de dado específico.
1. O documento discute vetores (arrays unidimensionais) e multidimensionais em Java, incluindo sua declaração, definição e manipulação.
2. Apresenta exemplos de uso de vetores de tipos primitivos e de referências a objetos, incluindo arrays irregulares.
3. Discutem conceitos como length, índices de vetor e exceções de array index out of bounds.
O documento apresenta um algoritmo de agenda virtual que utiliza vetores para armazenar temporariamente nomes, endereços, telefones e e-mails de 100 pessoas. O algoritmo contém falhas, mas serve como exemplo inicial para demonstrar o uso de vetores. Na próxima aula, o tópico será matrizes.
Os principais tipos de dados suportados pelo mySQL para armazenamento de strings, numéricos e datas são descritos no documento. Strings podem ser armazenadas usando CHAR, VARCHAR, TINYBLOB entre outros e ocupam espaço de 1 a 8 bytes dependendo do tipo e tamanho. Números podem ser armazenados usando TINYINT, SMALLINT, INT e outros e ocupam de 1 a 8 bytes. Datas podem ser armazenadas usando DATE, DATETIME e TIMESTAMP e ocupam de 1 a 8 bytes.
Algoritmos e lp parte 4-vetores matrizes e registrosMauro Pereira
O documento discute estruturas de dados como vetores, matrizes e registros. Vetores permitem armazenar conjuntos de dados do mesmo tipo, matrizes permitem armazenar dados em estruturas bidimensionais indexadas, e registros permitem armazenar dados de tipos diferentes agrupados. O documento fornece exemplos e explicações sobre como declarar e usar essas estruturas de dados.
1. O documento descreve algoritmos de ordenação e busca, incluindo Selection Sort, Bubble Sort, Quicksort, busca linear e binária.
2. São fornecidos exemplos de código em C para cada algoritmo, explicando seu funcionamento de forma concisa.
3. Os algoritmos ordenam vetores comparando valores e trocando de posição quando necessário (ordenação), ou buscam por um valor específico percorrendo o vetor (busca).
Arrays, também muito conhecidos como vetores, são variáveis que servem para guardar vários valores do mesmo tipo de forma uniforme na memória.
Aprenda o que são matrizes e como usar esses arrays (ou vetores) multidimensionais
O documento apresenta os principais métodos da classe Vector em Java, incluindo adicionar, remover e obter elementos. Também fornece exemplos de como usar esses métodos para cadastrar nomes e caixas de uva em vetores e realizar operações como pesquisar, substituir e remover itens.
[1] O documento apresenta os fundamentos de algoritmos e linguagem de programação, incluindo tipos de dados, variáveis e operadores. [2] São descritos os principais tipos de dados como numéricos, literais e lógicos. [3] O conceito de variável é explicado como um local na memória para armazenar valores de acordo com um tipo de dado específico.
O documento descreve a linguagem de programação utilizada pelo VisuAlg, chamada Portugol. Ela é uma versão simplificada de pseudocódigos, com comandos adicionais para facilitar o ensino de algoritmos. A linguagem permite apenas um comando por linha e não possui blocos de comandos ou goto. Ela suporta variáveis de diferentes tipos, operadores aritméticos, lógicos e relacionais, além de comandos de entrada, saída e desvios condicionais.
Tuplas e strings são estruturas de dados importantes em Python. Tuplas são semelhantes a listas mas imutáveis, enquanto strings podem ser manipuladas usando diversos métodos como find, join, lower, upper, replace, split, strip e translate.
O documento discute operadores e estruturas de controle de fluxo na linguagem Java. Ele explica os diferentes tipos de operadores como aritméticos, lógicos e de atribuição, além de estruturas como if/else, for loops e switch cases. O documento também fornece detalhes sobre precedência de operadores e conversão de tipos.
Este documento apresenta um capítulo sobre variáveis estruturadas chamadas arranjos unidimensionais, também conhecidos como vetores. O capítulo discute como vetores são declarados e manipulados, apresentando exemplos de algoritmos de classificação e pesquisa de dados armazenados em vetores.
O documento discute uniões, enumerações e tipos definidos pelo usuário em C. As principais informações são:
1) Uma união é um tipo de dado que permite armazenar dados de tipos diferentes no mesmo espaço de memória, economizando espaço. A união aloca espaço suficiente para o maior membro.
2) Enumerações definem conjuntos de constantes inteiras nomeadas. Os valores começam em 0 a menos que sejam explicitamente definidos. Enumerações são usadas para variáveis que podem assumir apenas valores conhecidos.
O documento descreve as principais funcionalidades da classe String em Java, incluindo métodos para concatenar, comparar, dividir e extrair substrings de objetos String. Alguns dos métodos mais importantes são length(), equals(), compareTo(), indexOf(), replace() e substring().
Uniões permitem compartilhar espaço de memória entre variáveis de tipos de dados diferentes. Uma união armazena apenas um membro de cada vez, usando espaço suficiente para o maior tipo de dado membro. Isso economiza memória em situações onde variáveis diferentes não são necessárias ao mesmo tempo. O programador deve garantir que os dados na união sejam acessados usando o tipo correto.
O documento descreve diferentes estruturas de repetição em Java, incluindo loops for, while e o uso de vetores e matrizes. Explica como usar variáveis de controle e condições para repetir comandos um número determinado de vezes ou enquanto uma condição for verdadeira. Também mostra como declarar e acessar elementos de vetores e matrizes usando índices.
O documento apresenta um resumo sobre diagrama de sequência, definindo-o como um diagrama de interação que mostra as interações entre objetos através de uma visão dinâmica do sistema. O diagrama de sequência enfatiza a sequência de mensagens trocadas entre objetos ao longo do tempo para alcançar um objetivo. É formado por objetos, relacionamentos e mensagens.
Programando em python tuplas e stringssamuelthiago
O documento discute tuplas e strings em Python. Tuplas são semelhantes a listas mas imutáveis, enquanto strings podem ser manipuladas usando métodos como find(), join(), lower(), upper() e split(). O documento também explica como formatar strings usando tuplas com o operador %.
O documento descreve os componentes e construção de diagramas de sequência no UML. Especificamente, ele explica que diagramas de sequência ilustram a interação entre objetos através da troca de mensagens, e incluem atores, objetos, mensagens, linhas de vida e foco no controle para representar a criação e destruição de objetos.
O documento apresenta a ementa da primeira aula do curso de Estrutura de Dados I. A ementa inclui conceitos básicos de estruturas de dados, tipos de listas lineares e não-lineares, e bibliografia recomendada. A aula também aborda introdução a conceitos como abstração, algoritmos, programação, computação e tipos de dados.
O documento discute diagramas de interação na UML, especificamente diagramas de sequência e colaboração. Ele explica que diagramas de interação ilustram as interações entre objetos através do envio de mensagens, e que sequência e colaboração são duas formas de diagramas de interação.
O documento descreve o diagrama de sequência, incluindo conceitos como: (1) determinar a sequência de eventos e mensagens entre elementos em um processo; (2) objetivos como ordenar eventos, mensagens e chamadas de métodos; (3) como objetos interagem. Também descreve elementos como atores, linhas de vida, mensagens, retornos, autochamadas e fragmentos combinados.
Análise Orientada a Objetos - Diagrama de SequenciaCursoSENAC
O documento descreve o diagrama de sequência como um diagrama que determina a sequência de eventos em um caso de uso, mostrando quais operações devem ser disparadas entre os objetos envolvidos e em qual ordem para completar o caso de uso. Ele explica os componentes do diagrama de sequência, incluindo atores, objetos, linhas de vida e mensagens.
1) O documento introduz os principais tipos de dados usados em programação, incluindo inteiros, reais, caracteres e lógicos.
2) Literais são as representações desses tipos de dados no código, como valores booleanos, inteiros, reais, caracteres e strings.
3) Variáveis armazenam dados na memória e devem ter um nome, tipo e valor associado.
O documento discute strings e arrays em Java. Explica que strings são objetos imutáveis que podem ser concatenados e comparados. Também explica que arrays podem armazenar tipos primitivos ou objetos e podem ser percorridos com loops for. Além disso, apresenta métodos comuns de strings e formas de declarar e acessar elementos de arrays unidimensionais e multidimensionais.
O documento discute os tipos de dados em programação, incluindo inteiros, reais, caracteres e lógicos. Variáveis armazenam dados na memória e precisam ser definidas antes do uso, incluindo nome, tipo e valor. Constantes são valores fixos também definidos no início do programa.
O documento discute estruturas de dados homogêneas, como vetores e matrizes. Vetores permitem armazenar múltiplos dados do mesmo tipo sob um único nome, acessados por índice. Matrizes podem ordenar e classificar dados, como no método da bolha para ordenar vetores numericamente. Estruturas de dados agrupam informações de forma organizada e eficiente para resolver problemas computacionais.
O documento descreve instruções primitivas como atribuição, entrada e saída de dados em computadores. Define termos como dispositivos de entrada/saída e fornece exemplos de algoritmos usando essas instruções.
1. O capítulo descreve estruturas de controle de fluxo de execução em algoritmos, incluindo estruturas sequenciais, de decisão e de repetição. Estruturas de decisão controlam o fluxo com base nos dados de entrada, enquanto estruturas de repetição executam comandos múltiplas vezes.
O documento descreve a linguagem de programação utilizada pelo VisuAlg, chamada Portugol. Ela é uma versão simplificada de pseudocódigos, com comandos adicionais para facilitar o ensino de algoritmos. A linguagem permite apenas um comando por linha e não possui blocos de comandos ou goto. Ela suporta variáveis de diferentes tipos, operadores aritméticos, lógicos e relacionais, além de comandos de entrada, saída e desvios condicionais.
Tuplas e strings são estruturas de dados importantes em Python. Tuplas são semelhantes a listas mas imutáveis, enquanto strings podem ser manipuladas usando diversos métodos como find, join, lower, upper, replace, split, strip e translate.
O documento discute operadores e estruturas de controle de fluxo na linguagem Java. Ele explica os diferentes tipos de operadores como aritméticos, lógicos e de atribuição, além de estruturas como if/else, for loops e switch cases. O documento também fornece detalhes sobre precedência de operadores e conversão de tipos.
Este documento apresenta um capítulo sobre variáveis estruturadas chamadas arranjos unidimensionais, também conhecidos como vetores. O capítulo discute como vetores são declarados e manipulados, apresentando exemplos de algoritmos de classificação e pesquisa de dados armazenados em vetores.
O documento discute uniões, enumerações e tipos definidos pelo usuário em C. As principais informações são:
1) Uma união é um tipo de dado que permite armazenar dados de tipos diferentes no mesmo espaço de memória, economizando espaço. A união aloca espaço suficiente para o maior membro.
2) Enumerações definem conjuntos de constantes inteiras nomeadas. Os valores começam em 0 a menos que sejam explicitamente definidos. Enumerações são usadas para variáveis que podem assumir apenas valores conhecidos.
O documento descreve as principais funcionalidades da classe String em Java, incluindo métodos para concatenar, comparar, dividir e extrair substrings de objetos String. Alguns dos métodos mais importantes são length(), equals(), compareTo(), indexOf(), replace() e substring().
Uniões permitem compartilhar espaço de memória entre variáveis de tipos de dados diferentes. Uma união armazena apenas um membro de cada vez, usando espaço suficiente para o maior tipo de dado membro. Isso economiza memória em situações onde variáveis diferentes não são necessárias ao mesmo tempo. O programador deve garantir que os dados na união sejam acessados usando o tipo correto.
O documento descreve diferentes estruturas de repetição em Java, incluindo loops for, while e o uso de vetores e matrizes. Explica como usar variáveis de controle e condições para repetir comandos um número determinado de vezes ou enquanto uma condição for verdadeira. Também mostra como declarar e acessar elementos de vetores e matrizes usando índices.
O documento apresenta um resumo sobre diagrama de sequência, definindo-o como um diagrama de interação que mostra as interações entre objetos através de uma visão dinâmica do sistema. O diagrama de sequência enfatiza a sequência de mensagens trocadas entre objetos ao longo do tempo para alcançar um objetivo. É formado por objetos, relacionamentos e mensagens.
Programando em python tuplas e stringssamuelthiago
O documento discute tuplas e strings em Python. Tuplas são semelhantes a listas mas imutáveis, enquanto strings podem ser manipuladas usando métodos como find(), join(), lower(), upper() e split(). O documento também explica como formatar strings usando tuplas com o operador %.
O documento descreve os componentes e construção de diagramas de sequência no UML. Especificamente, ele explica que diagramas de sequência ilustram a interação entre objetos através da troca de mensagens, e incluem atores, objetos, mensagens, linhas de vida e foco no controle para representar a criação e destruição de objetos.
O documento apresenta a ementa da primeira aula do curso de Estrutura de Dados I. A ementa inclui conceitos básicos de estruturas de dados, tipos de listas lineares e não-lineares, e bibliografia recomendada. A aula também aborda introdução a conceitos como abstração, algoritmos, programação, computação e tipos de dados.
O documento discute diagramas de interação na UML, especificamente diagramas de sequência e colaboração. Ele explica que diagramas de interação ilustram as interações entre objetos através do envio de mensagens, e que sequência e colaboração são duas formas de diagramas de interação.
O documento descreve o diagrama de sequência, incluindo conceitos como: (1) determinar a sequência de eventos e mensagens entre elementos em um processo; (2) objetivos como ordenar eventos, mensagens e chamadas de métodos; (3) como objetos interagem. Também descreve elementos como atores, linhas de vida, mensagens, retornos, autochamadas e fragmentos combinados.
Análise Orientada a Objetos - Diagrama de SequenciaCursoSENAC
O documento descreve o diagrama de sequência como um diagrama que determina a sequência de eventos em um caso de uso, mostrando quais operações devem ser disparadas entre os objetos envolvidos e em qual ordem para completar o caso de uso. Ele explica os componentes do diagrama de sequência, incluindo atores, objetos, linhas de vida e mensagens.
1) O documento introduz os principais tipos de dados usados em programação, incluindo inteiros, reais, caracteres e lógicos.
2) Literais são as representações desses tipos de dados no código, como valores booleanos, inteiros, reais, caracteres e strings.
3) Variáveis armazenam dados na memória e devem ter um nome, tipo e valor associado.
O documento discute strings e arrays em Java. Explica que strings são objetos imutáveis que podem ser concatenados e comparados. Também explica que arrays podem armazenar tipos primitivos ou objetos e podem ser percorridos com loops for. Além disso, apresenta métodos comuns de strings e formas de declarar e acessar elementos de arrays unidimensionais e multidimensionais.
O documento discute os tipos de dados em programação, incluindo inteiros, reais, caracteres e lógicos. Variáveis armazenam dados na memória e precisam ser definidas antes do uso, incluindo nome, tipo e valor. Constantes são valores fixos também definidos no início do programa.
O documento discute estruturas de dados homogêneas, como vetores e matrizes. Vetores permitem armazenar múltiplos dados do mesmo tipo sob um único nome, acessados por índice. Matrizes podem ordenar e classificar dados, como no método da bolha para ordenar vetores numericamente. Estruturas de dados agrupam informações de forma organizada e eficiente para resolver problemas computacionais.
O documento descreve instruções primitivas como atribuição, entrada e saída de dados em computadores. Define termos como dispositivos de entrada/saída e fornece exemplos de algoritmos usando essas instruções.
1. O capítulo descreve estruturas de controle de fluxo de execução em algoritmos, incluindo estruturas sequenciais, de decisão e de repetição. Estruturas de decisão controlam o fluxo com base nos dados de entrada, enquanto estruturas de repetição executam comandos múltiplas vezes.
1) A lógica de programação é necessária para desenvolvimento de sistemas e permite definir a sequência lógica para o desenvolvimento de programas. 2) Lógica de programação é a técnica de encadear pensamentos lógicos para atingir um objetivo. 3) Instruções são um conjunto de regras ou normas definidas para orientar a realização de uma tarefa pelo computador em uma ordem correta.
1) O documento introduz os conceitos de algoritmos e estruturas de dados, explicando que a construção de programas envolve ambos;
2) É destacada a relação entre algoritmos e estruturas de dados, onde decisões sobre uma dependem da outra;
3) São definidos os aspectos estático e dinâmico de um algoritmo, sendo o primeiro a representação do texto e o segundo a execução no tempo.
1. O documento discute várias formas de representar algoritmos, incluindo descrições narrativas, fluxogramas, diagramas de Chapin e pseudocódigo.
2. O pseudocódigo é apresentado como uma forma rica em detalhes que se assemelha à forma como programas são escritos, tornando a tradução para linguagens de programação direta.
3. Exemplos de algoritmos para cálculo de média de aluno são apresentados em fluxograma e diagrama de Chapin para ilustrar essas formas de representação.
O documento discute o conceito de algoritmo e como desenvolvê-los de maneira eficiente. Explica que um algoritmo é uma sequência de passos para realizar uma tarefa e que programas de computador são algoritmos escritos em linguagens de programação. Também discute fatores como complexidade, legibilidade e portabilidade que devem ser considerados ao construir algoritmos, e métodos como divisão de problemas e planejamento reverso.
Esse documento apresenta conceitos sobre redes de computadores, incluindo estruturas físicas e lógicas, tipos de redes, topologias, meios de transmissão, dispositivos de rede e novas tecnologias.
O documento introduz os conceitos de vetores e matrizes. Vetores são variáveis que podem armazenar múltiplos valores do mesmo tipo, enquanto matrizes são estruturas que armazenam vários vetores do mesmo tipo, permitindo a organização de dados em linhas e colunas. Exemplos de sintaxe para declarar, preencher e acessar elementos de vetores e matrizes no Visualg são apresentados.
O documento discute vetores em Pascal, definindo-os como variáveis compostas unidimensionais onde cada elemento é acessado por um índice. Explica como declarar vetores, atribuir e acessar valores, e realizar operações como leitura, escrita e cálculos com elementos de vetores usando laços de repetição.
O documento descreve o conceito de vetores, estruturas de dados unidimensionais que podem armazenar um conjunto de valores do mesmo tipo. Vetores são referenciados através de um nome e de um índice que indica cada posição. O documento apresenta como declarar, preencher, acessar e imprimir valores de vetores, utilizando laços de repetição para percorrer as posições. Exemplos em VisuAlg mostram como implementar vetores nessa linguagem. São também apresentados exercícios sobre vetores.
Estruturas de dados e técnicas de programaçãoEverson Wolf
O documento discute vetores (arrays) em Java, definindo-os como variáveis que armazenam vários valores do mesmo tipo. Explica como declarar, inicializar e acessar elementos de um vetor, bem como ordenar e usar vetores multidimensionais. Também apresenta um exemplo de código Java que implementa um jogo da forca usando vetores.
O documento discute matrizes, definindo-as como uma coleção de variáveis do mesmo tipo armazenadas de forma contígua na memória e acessadas através de índices. Detalha como declarar e acessar elementos de matrizes unidimensionais e multidimensionais, incluindo como preencher, copiar e mostrar os dados de uma matriz.
Vetores são variáveis compostas homogêneas unidimensionais que armazenam dados do mesmo tipo em posições sequenciais na memória. Vetores em C são declarados com colchetes após o nome da variável, indicando o tamanho, e os índices das posições começam em 0. Os valores são atribuídos e acessados usando o índice da posição correspondente.
A aula apresentou estruturas de dados homogêneas como vetores e matrizes, permitindo agrupar várias informações do mesmo tipo. Vetores são arranjos lineares estáticos de elementos do mesmo tipo, com posições numeradas de 0. A declaração de vetores inclui nome, intervalo e tipo de dado. Valores são atribuídos aos vetores por posição. Exercícios propuseram algoritmos utilizando vetores.
O documento discute vetores em lógica de programação. Apresenta como declarar vetores, inserir valores em vetores e montar vetores utilizando estruturas de repetição como enquanto e para. Fornece exemplos passo a passo de algoritmos para popular vetores com nomes e números.
O documento discute estruturas de dados como vetores e matrizes. É introduzido o conceito de vetor como uma variável que pode armazenar vários valores do mesmo tipo. Matrizes são definidas como estruturas que contêm várias variáveis do mesmo tipo organizadas em linhas e colunas, permitindo acessar elementos específicos usando dois índices. A notação para declarar e acessar elementos de matrizes também é explicada.
O documento discute vetores, que são estruturas de dados homogêneas usadas para armazenar múltiplos dados do mesmo tipo. Vetores permitem armazenar e referenciar vários elementos sob um único nome, acessados por seus índices. Exemplos demonstram como ler e manipular dados em vetores para resolver problemas que envolvam repetições.
O documento apresenta exemplos de como declarar e manipular vetores em Pascal, incluindo como ler e escrever elementos individuais, percorrer vetores com laços de repetição, e exercícios propostos para praticar o uso de vetores.
O documento discute vetores e matrizes em Java, incluindo: (1) vetores podem armazenar múltiplos valores do mesmo tipo usando índices; (2) o tamanho de um vetor determina a quantidade de espaço alocado na memória; (3) os índices de vetores começam em 0, não 1.
O documento discute registros e arrays no Pascal, definindo-os como estruturas de dados para armazenar coleções de dados similares. Registros armazenam variáveis sequencialmente na memória, permitindo acesso aos campos por índice. Arrays podem ter múltiplas dimensões e são úteis para repetições. O comando With no Pascal simplifica o acesso aos campos dos registros.
O documento discute vetores e matrizes em linguagem Pascal. Explica que vetores são coleções de variáveis do mesmo tipo indexadas por inteiros, enquanto matrizes são arranjos de variáveis dispostas em linhas e colunas. Também fornece exemplos de declaração, manipulação e limitações de vetores e matrizes, incluindo o uso de laços FOR para percorrer seus elementos. Por fim, apresenta exercícios para fixar os conceitos.
O documento discute vetores e matrizes em C, definindo-os como estruturas de dados homogêneas unidimensionais e bidimensionais respectivamente. Apresenta suas sintaxes de declaração e manipulação, incluindo inicialização, acesso a elementos e uso de loops. Fornece exemplos de programação com cada estrutura.
vamos ajudar desenvolver as tecnologias afim de termos um mundo melhjjbyvyvtvtctctiyvugohpoih4poinirenrjgporg98hrgherinrojorihjgpoirhgrhgiurgiueh9hgherheroijer9jnrj oinoijrkir
rmoinouininubbunihnonrnubjjlbh jh vehvheeh hb h jhbh09eieeujdjdkjdjkdoeweejejenendenenenehejeieee e
e
r
e
e
e
e
e
eçknjjbujjruheuyveygehvreiugerygehehehehehehehee
lefjbejbheuhbehbfjebfjebfjebfjeuv3rubuibe
jkb hkbeeeejejejeeejejbhbhbhbr
jjbjbjjrjrjrr r
r
r
r
rkbrurihrirjnrjjjjjjjjjjjjjjjjjjjjjjjjjjor, um mundo pocivel
vamos ajudar desenvolver as tecnologias afim de termos um mundo melhjjbyvyvtvtctctiyvugohpoih4poinirenrjgporg98hrgherinrojorihjgpoirhgrhgiurgiueh9hgherheroijer9jnrj oinoijrkir
rmoinouininubbunihnonrnubjjlbh jh vehvheeh hb h jhbh09eieeujdjdkjdjkdoeweejejenendenenenehejeieee e
e
r
e
e
e
e
e
eçknjjbujjruheuyveygehvreiugerygehehehehehehehee
lefjbejbheuhbehbfjebfjebfjebfjeuv3rubuibe
jkb hkbeeeejejejeeejejbhbhbhbr
jjbjbjjrjrjrr r
r
r
r
rkbrurihrirjnrjjjjjjjjjjjjjjjjjjjjjjjjjjor, um mundo pocivel vamos ajudar desenvolver as tecnologias afim de termos um mundo melhjjbyvyvtvtctctiyvugohpoih4poinirenrjgporg98hrgherinrojorihjgpoirhgrhgiurgiueh9hgherheroijer9jnrj oinoijrkir
rmoinouininubbunihnonrnubjjlbh jh vehvheeh hb h jhbh09eieeujdjdkjdjkdoeweejejenendenenenehejeieee e
e
r
e
e
e
e
e
eçknjjbujjruheuyveygehvreiugerygehehehehehehehee
lefjbejbheuhbehbfjebfjebfjebfjeuv3rubuibe
jkb hkbeeeejejejeeejejbhbhbhbr
jjbjbjjrjrjrr r
r
r
r
rkbrurihrirjnrjjjjjjjjjjjjjjjjjjjjjjjjjjor, um mundo pocivel vamos ajudar desenvolver as tecnologias afim de termos um mundo melhjjbyvyvtvtctctiyvugohpoih4poinirenrjgporg98hrgherinrojorihjgpoirhgrhgiurgiueh9hgherheroijer9jnrj oinoijrkir
rmoinouininubbunihnonrnubjjlbh jh vehvheeh hb h jhbh09eieeujdjdkjdjkdoeweejejenendenenenehejeieee e
e
r
e
e
e
e
e
eçknjjbujjruheuyveygehvreiugerygehehehehehehehee
lefjbejbheuhbehbfjebfjebfjebfjeuv3rubuibe
jkb hkbeeeejejejeeejejbhbhbhbr
jjbjbjjrjrjrr r
r
r
r
rkbrurihrirjnrjjjjjjjjjjjjjjjjjjjjjjjjjjor, um mundo pocivel vamos ajudar desenvolver as tecnologias afim de termos um mundo melhjjbyvyvtvtctctiyvugohpoih4poinirenrjgporg98hrgherinrojorihjgpoirhgrhgiurgiueh9hgherheroijer9jnrj oinoijrkir
rmoinouininubbunihnonrnubjjlbh jh vehvheeh hb h jhbh09eieeujdjdkjdjkdoeweejejenendenenenehejeieee e
e
r
e
e
e
e
e
eçknjjbujjruheuyveygehvreiugerygehehehehehehehee
lefjbejbheuhbehbfjebfjebfjebfjeuv3rubuibe
jkb hkbeeeejejejeeejejbhbhbhbr
jjbjbjjrjrjrr r
r
r
r
rkbrurihrirjnrjjjjjjjjjjjjjjjjjjjjjjjjjjor, um mundo pocivel vamos ajudar desenvolver as tecnologias afim de termos um mundo melhjjbyvyvtvtctctiyvugohpoih4poinirenrjgporg98hrgherinrojorihjgpoirhgrhgiurgiueh9hgherheroijer9jnrj oinoijrkir
rmoinouininubbunihnonrnubjjlbh jh vehvheeh hb h jhbh09eieeujdjdkjdjkdoeweejejenendenenenehejeieee e
e
r
e
e
e
e
e
eçknjjbujjruheuyveygehvreiugerygehehehehehehehee
lefjbejbheuhbehbfjebfjebfjebfjeuv3rubuibe
jkb hkbeeeejejeje
Este documento apresenta um resumo sobre vetores em C, incluindo: 1) O que é um vetor e como declará-lo; 2) Como referenciar elementos de um vetor usando índices; 3) Como armazenar e inicializar dados em vetores. Exemplos e exercícios são fornecidos para demonstrar o uso de vetores.
O documento discute estruturas de dados, incluindo vetores, matrizes e registros. Vetores são sequências homogêneas de dados acessados por índice. Matrizes são estruturas bidimensionais de dados homogêneos. Registros permitem estruturar dados heterogêneos. Essas estruturas permitem organizar e acessar dados de forma estruturada em programas.
O documento discute os tipos de dados em programação, incluindo inteiros, reais, caracteres e lógicos. Variáveis armazenam dados na memória e precisam ser definidas antes do uso, incluindo nome, tipo e valor. Constantes são valores fixos também definidos no início do programa.
1) O documento discute o que é um algoritmo e como desenvolvê-los de maneira lógica e eficiente.
2) Um algoritmo é uma sequência finita de passos para realizar uma tarefa de forma precisa. O documento mostra como algoritmos simples podem ser aprimorados através da adição de estruturas condicionais e de repetição.
3) Para construir um algoritmo de forma correta, deve-se dividir o problema em entradas, processamentos e saídas, e testá-lo para verificar se resolve o problema propost
1) O capítulo discute algoritmos, definindo-os como caminhos para solucionar problemas de forma eficiente e repetível. Algoritmos podem ser representados de diferentes formas, incluindo fluxogramas e pseudocódigo.
2) Há diversas formas de representar algoritmos, como descrição narrativa, fluxogramas, diagramas de Chapin e pseudocódigo. Pseudocódigo é uma forma rica em detalhes que facilita a tradução para linguagens de programação.
3) Um ambiente hipotético para descrever algoritmos é apresentado, com
1) A lógica de programação é necessária para desenvolvimento de sistemas e permite definir a sequência lógica para o desenvolvimento de programas. 2) Lógica de programação é a técnica de encadear pensamentos lógicos em uma sequência de instruções para atingir um objetivo. 3) Instruções são regras ou normas definidas para realizar uma tarefa no computador, indicando ações elementares a serem executadas.
1) O documento introduz os conceitos de algoritmos e estruturas de dados, explicando que a construção de programas envolve ambos;
2) É destacado que a formulação de algoritmos e escolha de estruturas de dados estão relacionadas e dependem uma da outra;
3) Dois aspectos de algoritmos são definidos: um estático referente à estrutura do texto e um dinâmico referente à execução no tempo.
O documento descreve os principais tipos de operadores e expressões em algoritmos, incluindo operadores aritméticos, relacionais, lógicos e literais. É explicada a classificação e precedência dos operadores, assim como como avaliar expressões considerando esta precedência e o uso de parênteses. Exemplos ilustram o uso dos diferentes tipos de operadores e expressões.
O documento descreve instruções primitivas de computadores, incluindo comandos de atribuição, entrada e saída de dados. Também define termos como dispositivos de entrada/saída e apresenta exemplos de algoritmos utilizando essas instruções.
Este documento descreve os principais tipos de operadores e expressões em programação. Resume:
1) Operadores atuam sobre operandos para produzir um resultado. São classificados em unários, binários, aritméticos, lógicos e literais.
2) Expressões combinam variáveis e constantes com operadores. Incluem aritméticas, lógicas e literais.
3) A avaliação de expressões considera a precedência dos operadores e a utilização de parênteses.
O documento discute os tipos de dados em programação, incluindo inteiros, reais, caracteres e lógicos. Variáveis armazenam dados na memória e precisam ser definidas antes do uso, incluindo nome, tipo e valor. Constantes são valores fixos também definidos no início do programa.
1) O documento discute o que é um algoritmo e como desenvolvê-los de maneira lógica e eficiente.
2) Um algoritmo é uma sequência de passos para realizar uma tarefa. O documento mostra como refinar um algoritmo inicial para trocar uma lâmpada, adicionando estruturas de seleção e repetição para lidar com diferentes situações.
3) Fatores como complexidade, legibilidade e portabilidade devem ser considerados ao construir algoritmos. O método cartesiano de dividir um problema em partes menores é recomendado
1) O capítulo discute algoritmos, definindo-os como caminhos para solucionar problemas de forma precisa e repetível. Algoritmos podem ser representados de diferentes formas, incluindo fluxogramas e pseudocódigo.
2) O documento descreve diferentes formas de representar algoritmos visualmente e por linguagem, como fluxogramas, diagramas de Chapin e pseudocódigo. Pseudocódigo é a forma mais adequada para este curso.
3) É apresentada uma máquina hipotética para escrever algoritmos, com partes como entrada, memória, saída
O documento discute os conceitos fundamentais de lógica de programação e programação. Aborda tópicos como: 1) a lógica de programação é necessária para desenvolvimento de sistemas; 2) seqüência lógica são passos executados para atingir um objetivo; 3) instruções indicam ações a serem executadas por um computador. Também discute paradigmas de programação como imperativo, funcional, lógico e orientado a objetos.
1) O documento introduz os conceitos de algoritmos e estruturas de dados, explicando que a construção de programas envolve ambos;
2) É destacada a relação entre algoritmos e estruturas de dados, onde decisões sobre uma dependem da outra;
3) São definidos os aspectos estático e dinâmico de um algoritmo, sendo o primeiro a representação do texto e o segundo a execução no tempo.
O documento discute estruturas de dados homogêneas, como vetores e matrizes. Vetores permitem armazenar múltiplos dados do mesmo tipo sob um único nome, acessados por índice. Matrizes podem ordenar e classificar dados, como no método da bolha para ordenar vetores numericamente. Estruturas de dados agrupam informações de forma organizada e eficiente para resolver problemas computacionais.
O documento discute estruturas de controle de fluxo em algoritmos. Ele apresenta três tipos principais de estruturas de controle: estruturas sequenciais, estruturas de decisão e estruturas de repetição. Dentro das estruturas de decisão, descreve estruturas de decisão simples, compostas e múltiplas. Nas estruturas de repetição, diferencia laços contados e laços condicionais.
1. Capítulo 9
ESTRUTURAS DE DADOS HOMOGÊNEAS
Vimos, no início deste curso, ser possível dar um nome para uma posição de memória,
sendo que a esta será associado um valor qualquer. Pois bem, acontece que, muitas vezes, esta
forma de definição, ou melhor, de alocação de memória, não é suficiente para resolver certos
problemas computacionais. Imagine por exemplo, como faríamos para construir um algoritmo,
para ler o nome de N pessoas e que imprimisse um relatório destes mesmos nomes, mas
ordenados alfabeticamente? Não seria uma tarefa simples, haja visto não ser possível determinar
quantos nomes seriam lidos. Mesmo que soubéssemos o número de pessoas, digamos 1.000
pessoas, teríamos que definir 1.000 variáveis do tipo caractere, como é mostrado abaixo:
algoritmo “loucura”
var
Nome1,Nome2,Nome3,...., Nome999, Nome1000 : caractere
inicio
<sequencia de comandos>
fimalgoritmo
Considere o tamanho do algoritmo, e o trabalho braçal necessário para construi-lo. Isto só
com 1.000 nomes. Imagine agora 1.000.000 de pessoas. A construção deste algoritmo começaria a
ficar inviável na prática. Para resolver problemas como este e outros, foi criado um novo conceito
para alocação de memória sendo, desta forma, também criado uma nova maneira de definir
variáveis, a qual foi denominada de variável indexada.
Uma variável indexada corresponde a uma sequência de posições de memória, a qual
daremos um único nome, sendo que cada uma destas pode ser acessada através do que
conhecemos por índice. O índice corresponde a um valor numérico (exceto REAL), ou a um valor
caractere (exceto STRING). Cada uma das posições de memória de uma variável indexada pode
receber valores no decorrer do algoritmo como se fosse uma variável comum, a única diferença
reside na sintaxe de utilização desta variável.
As estruturas de dados homogêneas permitem agrupar diversas informações dentro de
uma mesma variável. Este agrupamento ocorrerá obedecendo sempre ao mesmo tipo de dado, e
é por esta razão que estas estruturas são chamadas homogêneas.
A utilização deste tipo de estrutura de dados recebe diversos nomes, como: variáveis
indexadas, variáveis compostas, variáveis subscritas, arranjos, vetores, matrizes, tabelas em
memória ou arrays. Os nomes mais usados e que utilizaremos para estruturas homogêneas são:
matrizes (genérico) e vetores (matriz de uma linha e várias colunas).
Exemplos:
2. Cada elemento dos arrays podem ser referenciados através de índices. Exemplos:
V[1] = 4 M[1,1] = 3
V[2] = 7 M[2,3] = 4
V[5] = 3 M[3,1] = 2
1. MATRIZES DE UMA DIMENSÃO OU VETORES
Este tipo de estrutura em particular é também denominado por profissionais da área como
matrizes unidimensionais. Sua utilização mais comum está vinculada à criação de tabelas.
Caracteriza-se por ser definida uma única variável vinculada dimensionada com um determinado
tamanho. A dimensão de um vetor é constituída por constantes inteiras e positivas. Os nomes
dados às matrizes seguem as mesmas regras de nomes utilizados para indicar as variáveis simples.
A sintaxe do comando de definição de vetores é a seguinte:
var
<nome_da_variável> : vetor [<indice_inicial>..<indice_final>] de <tipo_de_dado>
Exemplo:
var V : vetor [1..10] de inteiro
1.1. OPERAÇÕES BÁSICAS COM VETORES
Do mesmo modo que acontece com variáveis simples, também é possível operar com
variáveis indexadas. Contudo não é possível operar diretamente com o conjunto completo, mas
com cada um de seus componentes isoladamente.
O acesso individual a cada componente de um vetor é realizado pela especificação de sua
posição no mesmo por meio do seu índice. No exemplo anterior foi definida uma variável V capaz
de armazenar 10 número inteiros. Para acessar um elemento deste vetor deve-se fornecer o nome
do mesmo e o índice do componente desejado do vetor (um número de 1 a 10, neste caso).
Por exemplo, V[1] indica o primeiro elemento do vetor, V[2] indica o segundo elemento do
vetor e V[10] indica o último elemento do vetor.
3. Portanto, não é possível operar diretamente sobre vetores como um todo, mas apenas
sobre seus componentes, um por vez. Por exemplo, para somar dois vetores é necessário somar
cada um de seus componentes dois a dois. Da mesma forma as operações de atribuição, leitura e
escrita de vetores devem ser feitas elemento a elemento.
1.1.1. Atribuição de Uma Matriz do Tipo Vetor
No capítulo sobre as instruções primitivas, o comando de atribuição foi definido como:
<nome_da_variável> := <expressão>
No caso de vetores (variáveis indexadas), além do nome da variável deve-se
necessariamente fornecer também o índice do componente do vetor onde será armazenado o
resultado da avaliação da expressão.
Exemplo:
V[1] := 15
V[2] := 150
V[5] := 10
V[10] := 35
1.1.2. Leitura de Dados de Uma Matriz do Tipo Vetor
A leitura de um vetor é feita passo a passo, um de seus componentes por vez, usando a
mesma sintaxe da instrução primitiva da entrada de dados, onde além do nome da variável, deve
ser explicitada a posição do componente lido:
LEIA <nome_da_variável> [<índice>]
Uma observação importante a ser feita é a utilização de uma estrutura de repetição (Para;
Enquanto) a fim de efetuar a operação de leitura repetidas vezes, em cada uma delas lendo um
determinado componente do vetor. De fato esta construção é muito comum quando se opera
com vetores, devido à necessidade de se realizar uma mesma operação com os diversos
componentes dos mesmos. Na verdade, são raras as situações que se deseja operar isoladamente
com um único componente do vetor.
O algoritmo a seguir exemplifica a operação de leitura de um vetor:
algoritmo “exemplo_leitura_de_vetor”
var
numeros : vetor [1..10] de inteiro
i : inteiro
inicio
para i de 1 ate 10 faca
leia (numeros[i])
fimpara
fimalgoritmo
4. O algoritmo acima ilustra a operação de leitura de um vetor usando a estrutura de
repetição Para. Podemos realizar a mesma operação usando a estrutura de repetição Enquanto.
algoritmo “exemplo_leitura_de_vetor_2”
var
numeros : vetor [1..10] de inteiro
i : inteiro
inicio
i := 1
enquanto i <= 10 faca
leia (numeros[i])
i := i + 1
fimenquanto
fimalgoritmo
1.1.3. Escrita de Dados de Uma Matriz do Tipo Vetor
A escrita de um vetor obedece à mesma sintaxe da instrução primitiva de saída de dados e
também vale lembrar que, além do nome do vetor, deve-se também especificar por meio do
índice o componente a ser escrito.
ESCREVA <nome_da_variável> [ <índice> ]
O algoritmo a seguir exemplifica a operação de leitura e escrita de um vetor, utilizando a
construção Para:
algoritmo “exemplo_escrita_de_vetor”
var
numeros : vetor [1..10] de inteiro
i : inteiro
inicio
para i de 1 ate 10 faca
leia (numeros[i])
fimpara
para i de 1 ate 10 faca
escreva (numeros[i])
fimpara
fimalgoritmo
Um exemplo mais interessante é mostrado a seguir, onde um vetor de dez números é lido
e guardado no vetor numeros. Paralelamente, a soma destes números é calculada e mantida na
variável soma, que posteriormente é escrita.
5. algoritmo “exemplo_escrita_de_vetor_com_soma”
var
numeros : vetor [1..10] de inteiro
i : inteiro
soma : inteiro
inicio
soma := 0
para i de 1 ate 10 faca
leia (numeros[i])
soma := soma + numeros[i]
fimpara
para i de 1 ate 10 faca
escreva (numeros[i])
fimpara
escreva (“Soma = ”, soma)
fimalgoritmo
1.2. EXEMPLOS DE APLICAÇÃO DE VETORES
O espectro de aplicação de vetores em algoritmos é muito extenso, mas normalmente os
vetores são usados em duas tarefas muito importantes no processamento de dados: pesquisa e
classificação.
A pesquisa consiste na verificação da existência de um valor dentro de um vetor. Trocando
em miúdos, pesquisar um vetor consiste em procurar dentre seus componentes um determinado
valor.
A classificação de um vetor consiste em arranjar seus componentes numa determinada
ordem, segundo um critério específico. Por exemplo, este critério pode ser a ordem alfabética de
um vetor de dados caractere, ou então a ordem crescente ou decrescente para um vetor de dados
numéricos. Há vários métodos de classificação, mas o mais conhecido é o método da bolha de
classificação (Bubble Sort).
1.2.1. O Método da Bolha de Classificação
Este método não é o mais eficiente, mas é um dos mais populares devido à sua
simplicidade.
A filosofia básica deste método consiste em “varrer” o vetor, comparando os elementos
vizinhos entre si. Caso estejam fora de ordem, os mesmos trocam de posição entre si. Procede-se
assim até o final do vetor. Na primeira “varredura” verifica-se que o último elemento do vetor já
está no seu devido lugar (no caso de ordenação crescente, ele é o maior de todos). A segunda
“varredura” é análoga à primeira e vai até o penúltimo elemento. Este processo é repetido até que
seja feito um número de varreduras igual ao número de elementos a serem ordenados menos um.
Ao final do processo o vetor está classificado segundo o critério escolhido.
6. O exemplo a seguir ilustra o algoritmo bubble sort para ordenar 50 número inteiros em
ordem crescente:
algoritmo "Bubble Sort"
var
i, j : inteiro
aux : inteiro
numeros : vetor[1..10] de inteiro
inicio
para i de 1 ate 10 faca
leia(numeros[i])
fimpara
para i de 1 ate 10 faca
para j de 1 ate 9 faca
se numeros[j] > numeros[j+1] entao
aux <- numeros[j]
numeros[j] <- numeros[j+1]
numeros[j+1] <- aux
fimse
fimpara
fimpara
para i de 1 ate 10 faca
escreval(i, " - ", numeros[i])
fimpara
fimalgoritmo
Podemos observar também que para ordenar o vetor em ordem decrescente basta
inverter o sinal de comparação no teste da condição lógica:
Se numeros[j] > numeros[j+1] para Se numeros[j] < numeros[j+1]
2. MATRIZES COM MAIS DE UMA DIMENSÃO
Este tipo de estrutura também tem sua principal utilização vinculada à criação de tabelas.
Caracteriza-se por ser definida uma única variável vinculada dimensionada com um determinado
tamanho. A dimensão de uma matriz é constituída por constantes inteiras e positivas. Os nomes
dados às matrizes seguem as mesmas regras de nomes utilizados para indicar as variáveis simples.
A sintaxe do comando de definição de matrizes de duas dimensões é a seguinte:
var
<nome_da_variável> : vetor [<linha_inicial>..<linha_final> ,
<coluna_inicial>..<coluna_final>] de <tipo_de_dado>
7. Exemplo:
var M : vetor [1..5,1..10] de inteiro
Também é possível definir matrizes com várias dimensões, por exemplo:
var
N : vetor [1..4] de inteiro
O : vetor [1..50,1..4] de inteiro
P : vetor [1..5,1..50,1..4] de inteiro
Q : vetor [1..3,1..5,1..50,1..4] de inteiro
R : vetor [1..2,1..3,1..5,1..50,1..4] de inteiro
A utilidade de matrizes desta forma é muito grande. No exemplo acima, cada matriz pode
ser utilizada para armazenar uma quantidade maior de informações:
a matriz N pode ser utilizada para armazenar 4 notas de um aluno
a matriz O pode ser utilizada para armazenar 4 notas de 50 alunos
a matriz P pode ser utilizada para armazenar 4 notas de 50 alunos de 5 disciplinas
a matriz Q pode ser utilizada para armazenar 4 notas de 50 alunos de 5 disciplinas, de 3
turmas
a matriz R pode ser utilizada para armazenar 4 notas de 50 alunos de 5 disciplinas, de 3
turmas, de 2 colégios
2.1. OPERAÇÕES BÁSICAS COM MATRIZES DE DUAS DIMENSÕES
Do mesmo modo que acontece com os vetores, não é possível operar diretamente com o
conjunto completo, mas com cada um de seus componentes isoladamente.
O acesso individual a cada componente de uma matriz é realizado pela especificação de
sua posição na mesma por meio do seu índice. No exemplo anterior foi definida uma variável M
capaz de armazenar 10 número inteiros em cada uma das 5 linhas. Para acessar um elemento
desta matriz deve-se fornecer o nome da mesma e o índice da linha e da coluna do componente
desejado da matriz (um número de 1 a 5 para a linha e um número de 1 a 10 para a coluna, neste
caso).
Por exemplo, M[1,1] indica o primeiro elemento da primeira linha da matriz, M[1,2] indica
o segundo elemento da primeira linha da matriz, M[1,10] indica o último elemento da primeira
linha da matriz e M[5,10] indica o último elemento da última linha da matriz.
Da mesma forma como vetores, não é possível operar diretamente sobre matrizes como
um todo, mas apenas sobre seus componentes, um por vez. Por exemplo, para somar duas
matrizes é necessário somar cada um de seus componentes dois a dois.
Da mesma forma, as operações de atribuição, leitura e escrita de matrizes devem ser feitas
elemento a elemento.
8. 2.1.1. Atribuição de Uma Matriz de Duas Dimensões
Na atribuição de matrizes, da mesma forma que nos vetores, além do nome da variável
deve-se necessariamente fornecer também o índice do componente da matriz onde será
armazenado o resultado da avaliação da expressão. O índice referente ao elemento é composto
por tantas informações quanto o número de dimensões da matriz. No caso de ter duas dimensões,
o primeiro número se refere à linha e o segundo número se refere à coluna da matriz em que se
encontra a informação.
Exemplo:
M[1,1] := 15
M[1,10] := 10
M[3,5] := 20
M[5,10] := 35
2.1.2. Leitura de Dados de Uma Matriz de Duas Dimensões
A leitura de uma matriz é feita passo a passo, um de seus componentes por vez, usando a
mesma sintaxe da instrução primitiva da entrada de dados, onde além do nome da variável, deve
ser explicitada a posição do componente lido:
LEIA <nome_da_variável> [<linha>,<coluna>]
Uma observação importante a ser feita é a utilização de estruturas de repetição aninhadas
ou encadeadas a fim de efetuar a operação de leitura repetidas vezes, em cada uma delas lendo
um determinado componente da matriz. Esta construção é muito comum quando se opera com
matrizes, devido à necessidade de se realizar uma mesma operação com os diversos componentes
das mesmas.
O algoritmo a seguir exemplifica a operação de leitura de uma matriz:
algoritmo “exemplo_leitura_de_matriz”
var
mat : vetor [1..5,1..10] de inteiro
lin, col : inteiro
inicio
para lin de 1 ate 5 faca
Para col de 1 ate 10 faca
leia (mat[lin,col])
fimpara
fimpara
fimalgoritmo
O algoritmo acima ilustra a operação de leitura de uma matriz usando a estrutura de
repetição Para. Podemos realizar a mesma operação usando a estrutura de repetição Enquanto.
9. algoritmo “exemplo_leitura_de_matriz_2”
var
mat : vetor [1..5,1..10] de inteiro
lin, col : inteiro
inicio
lin := 1
col := 1
enquanto lin <= 5 faca
enquanto col <= 10 faca
leia (mat[lin,col])
col := col+1
fimenquanto
col := 1
lin := lin+1
fimenquanto
fimalgoritmo
2.1.3. Escrita de Dados de Uma Matriz de Duas Dimensões
A escrita de uma matriz obedece à mesma sintaxe da instrução primitiva de saída de dados
e também vale lembrar que, da mesma forma que com vetores, além do nome da matriz, deve-se
também especificar por meio do índice o componente a ser escrito:
ESCREVA <nome_da_variável> [<linha>,<coluna>]
O algoritmo a seguir exemplifica a operação de leitura e escrita de uma matriz, utilizando
as construções Para aninhadas ou encadeadas:
algoritmo “exemplo_escrita_de_matriz”
var
mat : vetor [1..5,1..10] de inteiro
lin, col : inteiro
inicio
para lin de 1 ate 5 faca
para col de 1 ate 10 faca
leia (mat[lin,col])
fimpara
fimpara
para lin de 1 ate 5 faca
para col de 1 ate 10 faca
escreva (mat[lin,col])
fimpara
fimpara
fimalgoritmo
10. Um exemplo mais interessante é mostrado a seguir, onde uma matriz de 5 linhas por 10
colunas é lida e guardada na matriz numeros. A seguir é efetuada e escrita a soma dos elementos
da 2ª linha e também a soma dos elementos da 3ª coluna.
algoritmo “exemplo_escrita_de_matriz_com_soma”
var
mat : matriz[1..5,1..10] de inteiro
lin, col : inteiro
somal2, somac3 : inteiro
inicio
para lin de 1 ate 5 faca
para col de 1 ate 10 faca
leia (mat[lin,col])
fimpara
fimpara
para lin de 1 ate 5 faca
para col de 1 ate 10 faca
escreva (mat[lin,col])
fimpara
fimpara
somal2 := 0
somac3 := 0
para col de 1 ate 10 faca
somal2 := somal2 + mat[2,col]
fimpara
para lin de 1 ate 5 faca
somac3 := somac3 + mat[lin,3]
fimpara
escreva (“Soma Linha 2 = ”, somal2)
escreva (“Soma Coluna 3 = ”, somac3)
fimalgoritmo
EXERCÍCIOS PROPOSTOS
Questão 01:
Quais são os valores impressos pelo algoritmo abaixo?
algoritmo “1”
var
a : inteiro
x : real
v : vetor [1..5] de real
inicio
v[1] := 2
v[2] := 4
11. v[3] := 1
v[4] := 5
v[5] := 3
x := v[1]+v[5]
escreva (x)
x := v[2]-v[5]
escreva (x)
x := v[4]*v[1]-x
escreva (x)
a := 3
x := v[a]
escreva (x)
x := v[a]/v[v[a]]
escreva (x)
fimalgoritmo
Questão 02:
Mostre qual é a configuração do vetor depois de executado o algoritmo abaixo.
I A M O S R O G L A
1 2 3 4 5 6 7 8 9 10
algoritmo “2”
var
x : inteiro
palavra : vetor [1..10] de caractere
aux : caractere
inicio
para x de 1 ate 5 faca
aux := palavra[5+x]
palavra[5+x] := palavra[x]
palavra[x] := aux
fimpara
para x de 1 ate 2 faca
aux := palavra[x]
palavra[x] := palavra[6-x]
palavra[6-x] := aux
fimpara
palavra[7] := “T”
fimalgoritmo
Questão 03:
Calcule o número de elementos de cada um dos vetores abaixo:
a) vet *-5..5+
b) nome *0..10+
c) oc *1..10+
12. d) arr *0..n+
e) conta*1..50+
Questão 04:
Dado um vetor VET, inteiro de 100 posições, fazer um algoritmo para cada um dos itens abaixo:
a) preenche-lo com o valor inteiro 30.
b) preenche-lo com os números inteiros 1, 2, 3, 4, … 100
c) preencher VET*i+ com 1, se i é ímpar e com 0 se i for par
Questão 05:
Fazer um algoritmo para ler as notas de 40 alunos de uma turma, calcular e mostrar a média das
notas e o número de alunos que tiraram nota acima da média.
Questão 06:
Construir um algoritmo que leia dois vetores (A e B) de 50 elementos cada um e crie um 3º vetor
acumulando a soma dos elementos desses dois vetores, sempre utilizando o mesmo índice.
Mostre os valores do 3º vetor somente.
Obs.: Leia os valores dos vetores primeiramente para depois imprimir o vetor C resultante.
Questão 07:
Escrever um algoritmo que construa um vetor A de 10 elementos reais. Após isso, construa e
imprima um outro vetor B formado da seguinte maneira:
a) os elementos de índice par têm o valor de A dividido por 2
b) os elementos de índice ímpar têm o valor de A multiplicado por 3
Questão 08:
Fazer um algoritmo para ler 20 números e mostrá-los na ordem inversa de leitura, ou seja, o último
número lido deve ser o primeiro a ser apresentado.
Questão 09:
Fazer um algoritmo para ler 50 números. Ordenar os números em ordem crescente. Mostrar os
números sequencialmente depois de ordenados.
Questão 10:
Fazer um algoritmo para ler 50 números. Ordenar os números em ordem decrescente. Mostrar os
números sequencialmente depois de ordenados.
13. Questão 11:
Dada a matriz MAT abaixo:
ANTES DEPOIS
1 2 3 4 1 2 3 4
1 O Q * I 1
2 E * E S 2
3 R E U S 3
4 A * * S 4
Qual será a configuração de MAT depois de executado o algoritmo abaixo?
algoritmo “11”
var
mat : vetor [1..4,1..4] de caractere
lin, col : inteiro
aux : caractere
inicio
para lin de 1 ate 3 faca
para col de lin+1 ate 4 faca
aux := mat[lin,col]
mat[lin,col] := mat[col,lin]
mat[col,lin] := aux
fimpara
fimpara
aux := mat[1,1]
mat[1,1] := mat[4,4]
mat[4,4] := aux
aux := mat[2,2]
mat[2,2] := mat[3,3]
mat[3,3] := aux
fimalgoritmo
Questão 12:
Escreva algoritmos independentes para a criação e inicialização das seguintes matrizes:
a)
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
15 17 18 19 20
21 22 23 24 25
14. b)
18 20 22 24
10 12 14 16
2 4 6 8
c)
P S
P S
S P
S P
Questão 13:
Elabore um algoritmo para ler as cinco notas de cada um dos 50 alunos de uma sala. O total de
linhas corresponde a quantidade de alunos. Calcule e mostre a média de cada aluno. Calcule e no
final informe a média geral da turma.
Questão 14:
Fazer um algoritmo que:
a) Leia uma matriz A, de dimensão 5 x 3. Cada linha da matriz é fornecida como entrada.
b) Determine a matriz transposta de A.
c) Mostre a matriz transposta.
Questão 15:
Fazer um algoritmo que:
a) Leia uma matriz A, de dimensão 3 x 3. Cada linha da matriz é fornecida como entrada.
b) Some todos os elementos da matriz.
c) Encontre quais elementos da matriz são pares.
d) Multiplique os elementos da coluna 3.
e) Mostre os elementos da diagonal principal.
Questão 16:
Fazer um algoritmo que:
a) Leia uma matriz A, de dimensão 4 x 4. Cada linha da matriz é fornecida como entrada.
b) Verifique se os valores da diagonal secundária são primos.
15. Questão 17:
Preencha uma matriz 5x5 de números inteiros e escreva os números cuja soma da linha e coluna
resultem num número ímpar.
Questão 18:
Preencha uma matriz 5x5 de números inteiros e escreva os dados contidos em uma coluna
fornecida.
Questão 19:
Dado uma matriz de ordem NxN faça um algoritmo que verifique se a matriz é simétrica (aij=aji).
Questão 20:
Dado uma matriz NxM de valores reais faça um algoritmo que faça a leitura destes valores e ao
final da leitura de todos, imprimir o seguintes relatório:
a) Qual a soma dos valores de cada coluna da matriz;
b) Listar os valores que são menores que a média dos valores;
c) Qual a soma dos elementos da diagonal secundária;
Questão 21:
Dado uma matriz NxM de valores inteiros escreva um algoritmo que faça a leitura destes valores e
ao final coloque os elementos ordenados primeiro pela linha e depois pela coluna.