Baixe o app para aproveitar ainda mais
Prévia do material em texto
2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 ESTRUTURAS DE DADOS - CCT0637 PROFESSOR: EDIBERTO MARIANO programacaoedi@gmail.com 1 Aula 01 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Apresentação da disciplina. Revisão de Agregados Homogêneos e Heterogêneos. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Disciplina CCT0637: Estrutura de Dados Objetivos Gerais • Desenvolver técnicas para representação de estruturas de dados e as operações sobre as mesmas, de maneira que seja possível solucionar problemas, escolhendo as estruturas de dados mais adequadas para representação e manipulação dos dados em problemas específicos. Objetivos Específicos 1. Identificar e construir os agregados heterogêneos. 2. Aplicar os fundamentos da modularização de código. 3. Aplicar modularização de código em situações contextualizadas. 4. Aplicar os fundamentos da alocação dinâmica de dados em memória. 5. Construir as principais estruturas de dados lineares. 6. Identificar os Fundamentos da estrutura de dados Árvore; 7. Descrever os fundamentos da ordenação de elementos em estrutura de dados. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Disciplina CCT0637: Estrutura de Dados • Ementa: 1. Agregados Homogêneos e Heterogêneos, 2. Modularização, 3. Alocação Dinâmica de Memória, 4. Tipos Abstratos de Dados, 5. Listas, Pilhas, Filas, 6. Árvores, 7. Ordenação. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Disciplina CCT0637: Estrutura de Dados BALIEIRO, Ricardo. Estrutura de dados [BV:RE]. 1. Rio de Janeiro:: Universidade Estácio de Sá, 2015. Disponível em: http://api.repositorio.savaestacio.com.br/api/objetos/efetuaDownload/2d35a 184-bf644419-9da9-d1ed12a97017 Bibliografia Básica MANZANO, José A. N. G. Algoritmos: lógica para desenvolvimento de programação [BV:MB]. 29 ed.. São Paulo: Érica, 2009. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536531472/cfi/0!/4/4 @0.00:10.5 VETORAZZO, Adriano S, et al. Estrutura de dados [BV:MB]. Porto Alegre: SAGAH, 2018. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788595023932/cfi/0!/4/2 @100:0.00 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Disciplina CCT0637: Estrutura de Dados Ascencio, Ana Fernanda Gomes. Araujo, Graziela S. Estrutura de Dados: Algoritmos, Análise da Complexidade e implementações em Java e C/C++ [BV:PE]. 1. São Paulo: Pearson Prentice Hall, 2010. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/1995 Bibliografia Complementar DRIZDEK, Adam. Estrutura de dados e algoritmos em C++ [BV:MB]. 4 ed.. São Paulo: Cengage Learning, 2016. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788522126651/cfi/0!/4/4 @0.00:0.00 GOODRICH, Michael T.; TAMASSIA, Roberto. Estruturas de Dados & Algoritmos em Java [BV:MB]. 5ª Ed.. Bookman: Addison Wesley, 2013. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788582600191/ 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Disciplina CCT0637: Estrutura de Dados KOFFMAN, Elliot B., WOLFGANG, Paul A.T. Objetos, Abstração, Estrutura de dados e Projeto usando C++ [BV:MB]. 1. Rio de Janeiro: LTC, 2008. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/978-85- 216-27807/cfi/6/2!/4/2/2@0:0 Bibliografia Complementar PUGA, Sandra; RISSETIi, Gerson. Lógica de Programação e Estrutura de Dados: com aplicações em Java [BV:MB]. 2 ed.. São Paulo: Pearson, 2009. Disponível em: https://plataforma.bvirtual.com.br/Acervo/Publicacao/447 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Disciplina CCT0637: Estrutura de Dados 1. Tipo de aula: teórica e prática Pode-se trabalhar os 4 tempos da semana reservando 2 tempos para o laboratório e 2 tempos para a sala de aula. Procedimentos de ensino Utilizar os exercícios apresentados em listas de exercícios como base para desenvolvimento dos programas em laboratório utilizando a linguagem C++ Utilizar os exercícios apresentados em listas de exercícios como base para desenvolvimento dos programas em laboratório utilizando a linguagem C++ Para implementação dos programas em uma linguagem de programação, sugere-se o uso da linguagem C usando o compilador do C++ e do ambiente de desenvolvimento integrado Dev-C++. Trata-se de uma ferramenta gratuita e de código aberto que pode ser baixada diretamente da Internet, no site https://www.bloodshed.net/dev/devcpp.html. Alternativamente se necessário o site https://repl.it/repls/DeepskyblueDualDos possui um compilador de C++ on line que funciona sem necessidade de instalação. https://repl.it/repls/DeepskyblueDualDos 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Disciplina CCT0637: Estrutura de Dados Avaliação • O processo de avaliação será composto de três etapas: • Avaliação 1 (AV1) • Avaliação 2 (AV2) • Avaliação 3 (AV3) 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 1. Agregados Homogêneos e Heterogêneos • Introdução: ✓Um programa de computador envolve a definição de um algoritmo para a resolução de um problema. ✓Um algoritmo é representado através de expressões simbólicas de modo a descrever e a encontrar a solução de problemas do mundo real. ✓Um algoritmo representa uma sequência finita e não ambígua de instruções elementares bem definidas, conducente à solução de um determinado problema, cada uma das quais pode ser executada mecanicamente numa quantidade finita de tempo. Programa = Algoritmo + Estruturas de Dados (Nicholas Wirth - Criador da Linguagem Pascal) Implementação concreta de algoritmos abstratos em uma determinada linguagem de programação com a utilização de estruturas de dados compatíveis ao problema. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Algoritmos • Sequência de instruções organizadas e sistematizadas utilizadas para resolver um problema; • Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Algoritmos • Um algoritmo é uma ferramenta para resolver um problema computacional bem especificado (bem definido). • Os algoritmos são amplamente utilizados na área da computação, seja na elaboração de soluções voltadas à construção de interfaces, software e hardware, seja no planejamento de redes. • Os algoritmos também constituem uma parte importante da documentação de sistemas, pois descrevem as tarefas a serem realizadas pelos programas. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Importância dos algoritmosna Computação • O uso/desenvolvimento de algoritmos “eficientes” é desejável em vários contextos: ✓projetos de genoma de seres vivos ✓rede mundial de computadores ✓sistemas de informação geográfica ✓comércio eletrônico ✓planejamento da produção de indústrias ✓logística de distribuição © Cid, Cândida, Orlando 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Algoritmos e Tecnologia • O avanço da tecnologia permite a construção de máquinas cada vez mais rápidas. Isto possibilita que um algoritmo para determinado problema possa ser executado mais rapidamente. • Paralelamente a isto, encontra-se projetos/desenvolvimento de algoritmos “intrinsecamente mais eficientes” para um determinado problema. Isto leva em conta apenas as características inerentes ao problema, desconsiderando detalhes de software/hardware. © Cid, Cândida, Orlando 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Algoritmos (modo Recursivo) – Paradígma de programação • A representação, a descrição de um conceito faz referência ao próprio conceito. São elementos fundamentais de uma definição recursiva: o caso-base (base da recursão) e a reaplicação da definição. As linguagens de programação funcionais têm, na recursão, seu principal elemento de repetição. No que diz respeito ao poder computacional, as estruturas iterativas e recursivas são equivalentes. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Estrutura de Dados (ED) • A disciplina de "Estrutura de Dados" estuda as possíveis alternativas que um programador pode ter na hora de escolher a estrutura de dados adequada para determinada necessidade, considerando um melhor gerenciamento de memória e o acesso mais rápido à informação; • Trata do armazenamento e manipulação de dados em memória principal. • Uma estrutura de dados retrata as relações lógicas existente entre os dados; Forma de organização dada às informações de forma a permitir o acesso a elas por um algoritmo durante as operações de manipulação que ocorrem na resolução de um problema. • O estudo de estrutura de dados é necessariamente orientado para uma aplicação, ou seja é um estudo bastante prático; 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Estrutura de Dados (ED) • Programadores precisam de conhecimento profundo de técnicas de programação; • Usuários precisam reconhecer requisitos dos softwares nas áreas onde atuam e um conhecimento adequado de programação lhes permite tirar proveito do acesso configurável que as aplicações oferecem. • Ao escolher uma estrutura de dados devemos considerar alguns elementos importantes: • De que forma essa estrutura de dados será utilizada? • Que métodos de manipulação essas estruturas nos oferecem? • Que tipo de alocação de memória ela utiliza? 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Estrutura de Dados (ED) • A estrutura de dados é um meio para armazenar e organizar dados com o objetivo de facilitar o acesso e as modificações. • As ED representam de modo simbólico entidades e objetos do mundo real e definem a parte estática de um algoritmo. • A manipulação das ED através de declarações e instruções precisas de controle definem a parte dinâmica de um algoritmo. • A ED diminui sensivelmente a complexidade da representação dos dados, como também tende a criação de programas com maior desempenho. • As EDs têm um papel importante no desenvolvimento de software permitindo criar programas com uma representação dos dados mais relevante de um problema real, de forma mais clara e limpa. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Estrutura de Dados (ED) • Uma ED retrata as relações lógicas existente entre os dados. Forma de organização dada às informações de forma a permitir o acesso a elas por um algoritmo durante as operações de manipulação que ocorrem na resolução de um problema. • Ao escolher uma estrutura de dados devemos considerar alguns elementos importantes: ✓De que forma essa ED será utilizada? ✓Que métodos de manipulação essas ED nos oferecem? ✓Que tipo de alocação de memória da ED utiliza? 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Estrutura de Dados (ED) • Estruturas de dados e algoritmos estão intimamente ligados: ✓não se pode estudar estruturas de dados sem considerar os algoritmos associados a elas, ✓assim como a escolha dos algoritmos em geral depende da representação e da estrutura dos dados. • Para resolver um problema é necessário escolher uma abstração da realidade, em geral mediante a definição de um conjunto de dados que representa a situação real. • A seguir, deve ser escolhida a forma de representar esses dados. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Complexidade de Algoritmos • A análise de algoritmo fornece uma medida objetiva de desempenho proporcional ao tempo de execução do algoritmo. • Queremos projetar/desenvolver algoritmos eficientes (rápidos). • Mas o que seria uma boa medida de eficiência de um algoritmo? • Não estamos interessados em quem programou, em que linguagem foi escrito e nem qual a máquina foi usada! • Queremos um critério uniforme para comparar os diversos algoritmos. • O fato de um algoritmo resolver um dado problema não significa que seja aceitável na prática. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Projetos de Algoritmos x Projetos de Software • O Projeto de algoritmos é um método para identificar e analisar um problema da vida real e desenvolver uma solução de modo eficiente. • Etapas: 1. Definição do problema 2. Desenvolvimento de um modelo 3. Especificação do algoritmo 4. Projetando um algoritmo 5. Verificação da exatidão do algoritmo 6. Análise do algoritmo 7. Implementação do algoritmo 8. Teste de programa 9. Preparação da documentação. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 ED – Escolha de representação dos dados • A escolha da representação dos dados é determinada, entre outras, pelas operações a serem realizadas sobre os dados. • Considere a operação de adição: • A representação por dígitos decimais requer regras relativamente complicadas, as quais devem ser memorizadas. • Entretanto, quando consideramos a adição de grandes números é mais fácil a representação por dígitos decimais (devido ao princípio baseado no peso relativo da posição de cada dígito). 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 ED – Tipos de Dados • Tipo de dado = conjunto de valores (domínio) que uma variável pode assumir e um conjunto de operações que podem ser aplicadas sobre ele. ✓Tipos de dados básicos (tipos primitivos): - Inteiro, caractere, decimal, booleano, etc. - Não é possível decompor um tipo primitivo em partes menores (eles são indivisíveis) ✓Tipos de dados estruturados: -Vetores,matrizes, registros. - Uma variável que pode agregar mais de um valor. - Agregados de valores de tipos primitivos. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 ED – Tipos de Dados • Os tipos de dados básicos ou primitivos ou simples são grupos de valores indivisíveis (como os tipos básicos integer, boolean, char e real da linguagem Pascal). ✓Exemplo: uma variável do tipo boolean pode assumir o valor verdadeiro ou falso, e nenhum outro valor. • Os tipos estruturados em geral definem uma coleção de valores simples (homogênea), ou um agregado de valores de tipos diferentes (heterogênea). 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 ED – Tipos de Dados • As EDs podem ser divididas em duas formas: ✓homogênea (vetores e matrizes). ✓heterogênea (registros). • As estruturas homogêneas visam armazenar dados de um único tipo, como por exemplo, strings, booleanos, inteiros ou reais. • As EDs homogêneas são empregadas em situações onde as informações podem ser organizadas em um único tipo de dados, normalmente utilizando vetores e matrizes. • As EDs são heterogêneas são usadas na composição de diversos tipos de dados (registros). 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Tipo Abstrato de Dado (TAD) • TAD = Modelo matemático, acompanhado das operações definidas sobre o modelo. • Os tipos abstratos de dados são formados por um conjunto de tipos de dados e um conjunto de procedimentos (funções) que podem ser aplicadas sobre este conjunto de tipos de dados. • Tipos Abstratos de Dados: ✓Especificam conceitualmente os dados (sua organização física e lógica). ✓Definem operações para manipulação da estrutura. ✓Geralmente não são fornecidos diretamente pela linguagem de programação. ✓Exemplos: Fila, Lista, Pilha, Árvore, etc. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Tipo Abstrato de Dado (TAD) • Os TAD’s são utilizados extensivamente como base para o projeto de algoritmos. • A implementação do algoritmo em uma linguagem de programação específica exige a representação do TAD em termos dos tipos de dados e dos operadores suportados. • A representação do modelo matemático por trás do tipo abstrato de dados é realiza da mediante uma estrutura de dados. • Podemos considerar TAD’s como generalizações de tipos primitivos e procedimentos como generalizações de operações primitivas. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Variável composta homogênea • Estrutura de dados composta pelo mesmo tipo. • Vetores e Matrizes. • Tipos Char, int, double, boolean. • Vetor: um arranjo unidimensional de dados do tipo básico, com um mesmo identificador (nome), mas diferenciado pela sua posição (índice) dentro do vetor. Acesso aleatório aos seus elementos, por intermédio de índices. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Variável composta homogênea - Vetor 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Vetor – atribuição e acesso • Para atribuir um valor x numa determinada posição do vetor, escreve-se: ✓nome_do_vetor [posição] = valor; • Exemplo: notas[0]= 4; ou notas = {4, 7, 5}; • O índice zero indica a primeira posição no vetor. A expressão notas[0] referencia a posição de memória correspondente ao elemento de índice zero no vetor. • Para somar os primeiros três elementos e armazenar o valor calculado no quarto elemento, escrevemos: • notas[3]= notas[0] + notas[1] + notas[2]; 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Vetor - declaração • Uma vez que as variáveis que compõem o vetor têm o mesmo nome, o que distingue cada uma delas é um índice, que referencia sua localização dentro da estrutura. • Os Vetores são matrizes de 1 dimensão. • <TIPO> <VARIÁVEL><[TAMANHO]><;> • tipo variável [tamanho]; • Exemplo: int notas[10]; • O TAMANHO precisa ser necessariamente um número inteiro e constante. Ele não pode ser resultado de uma expressão. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Vetor - declaração • O nome da variável também é chamado de uma expressão de referência de memória, ou simplesmente de referência de memória. • Com os vetores, temos uma nova expressão de referência de memória: o operador de índice [ ]. Ele utiliza uma referência de memória (normalmente uma variável do tipo vetor) e um número inteiro (o índice). • Ele retorna uma referência para o elemento correspondente ao índice. • O tipo do valor retornado é o mesmo tipo da declaração do vetor 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Vetor - declaração Uso de Constantes para definir o tamanho de um vetor #define TAM_MAX 5 double VetReais[TAM_MAX]; for(i=0<TAM_MAX; i++) VetReais[i] = TAM_MAX - i; // coloca 5,4,3,2,1 no vetor Copiar os dados de um vetor para outro #define TAM_MAX 5 double VetReais[TAM_MAX], Copia[TAM_MAX]; for(i=0; i<TAM_MAX; i++) VetCopia[i] = VetReais[i]; // Copia os dados de um vetor para outro 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Vetor – exemplo • É muito comum utilizar a estrutura de repetição “for” para percorrer todos os elementos de um vetor. • EX1- “Construa um programa que declare um vetor de inteiros com 12 elementos e o inicialize com números fornecidos pelo usuário, através da entrada padrão”. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Vetor – Leitura dos dados #define TAM_MAX 10 double Vet1[TAM_MAX]; for(i=0; i<TAM_MAX; i++) cin >> Vet1[i]; Encontrar o maior valor dentro de um vetor #define TAM_MAX 10 double Vet1[TAM_MAX]; double Maior; for(i=0; i<TAM_MAX; i++) cin >> Vet1[i];// le os dados Maior = Vet1[0]; // assume que o primeiro é o maior for(i=0; i<TAM_MAX; i++) if Vet1[i] > Maior Maior = Vet1[i]; cout << "O maior elemento é: " << Maior << endl; Pergunta: Como fazer a mesma busca e imprimir também a posição do dado dentro do vetor. Tente fazer isto usando apenas 1 variável. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Matrizes • Uma matriz é um arranjo de várias dimensões de dados do tipo básico, com um mesmo identificador (nome), mas diferenciado pelas suas posições (índices) dentro da matriz. • Uma matriz é uma coleção de variáveis de mesmo tipo, acessíveis com um único nome e armazenados contiguamente na memória. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Matrizes • EX2 - “Construa um programa que declare uma matriz denúmeros reais que permita fazer a leitura de 3 notas para 5 estudantes. Inicialize a matriz com as notas fornecidas pelo usuário, através da entrada padrão”. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Exercícios – aula 01 1 – elabore um programa em C++ que preencha um vetor com os número de 1 a 5. 2 - elabore um programa em C++ que preencha um vetor com os número de 5 a 1. 3 - elabore um programa em C++ que preencha um vetor com os número de 5 a 1, usando uma constante para definir o tamanho do vetor. 4 - elabore um programa em C++ que preencha um vetor com os número de 5 a 1, realize a cópia de todos os elementos deste vetor para um segundo vetor. 5 - elabore um programa em C++ que copie os dados de um VET1 para as primeiras 5 posições do vetor COPIA e VET2 para as outras 5. 6 - Crie um programa em C++ que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, e seu valor. 7 - Crie um programa em C++ que peça 10 números, armazene eles em um vetor e diga qual elemento é o maior, qual é o menor e quais são os seus valores. 8 - Crie um aplicativo em C++ que peça um número inicial ao usuário, uma razão e calcule os termos de uma P.G (Progressão Geométrica), armazenando esses valores em um vetor de tamanho 10. 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Exercícios – aula 01 9 – Crie um tabuleiro de jogo da velha, usando uma matriz de caracteres (char) 3x3, onde o usuário pede um número da linha (1 a 3) e o da coluna (1 a 3). A cada vez que o usuário entrar com esses dados, colocar um “X” ou “0” no local selecionado. 10 – Criar um programa que checa se o número é palíndromo. Número palíndromo é aquele que, se lido de trás para frente e de frete para trás, é o mesmo. Exemplos: 2112, 666, 2442 etc. 11 - Ano: 2014 / Banca: CESGRANRIO / Órgão: CEFET-RJ / Prova: Técnico de Laboratório ? Informática Considere o seguinte algoritmo, descrito em pseudocódigo, que manipula um vetor de oito posições, indexadas de 1 a 8 Ao final da execução, o conteúdo do vetor M será: a) 10, 20, 30, 40, 50, 60, 70, 80 b) 40, 10, 80, 20, 70, 30, 60, 50 c) 40, 30, 20, 10, 80, 70, 60, 50 d) 50, 60, 70, 80, 10, 20, 30, 40 e) 80, 70, 60, 50, 40, 30, 20, 10 2019.2 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 Professor: Ediberto Mariano - Estrutura de Dados - Aula 01 2020.1 Exercícios – aula 01 12 – Ano: 2013 / Banca: CESPE / Órgão: SERPRO / Prova: Analista - Suporte Técnico Segundo o pseudocódigo abaixo, um vetor de 100 números é lido e, em seguida, é montado um segundo vetor a partir dos valores do primeiro vetor multiplicados por 3. início VET1,VET2 : vetor [1..100] numérico CONTADOR : numérico para CONTADOR de 1 até 100 faça leia "Digite um número: ",VET1[CONTADOR] VET2[CONTADOR] = (VET1[CONTADOR] * 3) fim-para fim ( ) Certo ( ) Errado
Compartilhar