SlideShare uma empresa Scribd logo
1 de 1
Baixar para ler offline
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA - IFMA
Curso: Sistemas de Informação
Algoritmos e Estrutura de Dados – Prof. Gentil Cutrim Serra Jr
1ª Avaliação – 17/Mar/2014
Aluno: ________________________________________________________
1) Seja uma função de utilização (considere as operações predefinidas para uma TAD Lista)
denominada de intercala(l1,l2,l3) tal que, recebendo uma lista l1 como entrada, copia
os elementos das posições ímpares (1,3,5, …) para a lista l2 e copia os elementos das posições
pares para a lista l3, preservando os dados de l1 (2pt).
int intercala(tipo_lista l1, tipo_lista *l2, tipo_lista *l3);
2) Conforme mostrado em sala de aula, escreva uma função de implementação que deleta todos os
elementos de uma lista alocada dinamicamente, sem deixar espaços de memória inutilizados (1pt).
3) Conforme mostrado em sala de aula, escreva uma função de implementação que inverte a ordem
dos nodos de uma lista encadeada dinamicamente (a primeira passa a ser a última, a segunda passa a
ser a penúltima etc.). Faça isso usando os ponteiros (1pt).
Para as próximas duas questões, considere a função pesquisaBinaria()  que realiza uma
busca binária em um vetor de números inteiros.
int pesquisaBinaria (int k[], int chave_pesq, int inicio, int fim) 
{ 
     int meio; 
     while (inicio<=fim) 
     { 
         meio=(inicio+fim)/2; 
          if (chave_pesq==k[meio]) 
               return meio; 
          else if (chave_pesq<k[meio]) 
               fim=meio­1; 
          else
               inicio=meio+1; 
     } 
     return ­1; 
}
4) Dada a função pesquisaBinaria(), mude o seu conteúdo de maneira que a sua forma de
execução seja feita recursivamente (2pt).
5) Dada a função pesquisaBinaria(), refaça seu código (interativo ou recursivo) para realizar
uma busca em uma TAD Lista (considere as funções de implementação). Para isso, o vetor k[]
deverá ser substituído por um parâmetro do tipo_lista (2pt).
6) Dada uma lista de alunos lstAluno (codigo, nome e nota), implementada como um TAD,
escreva uma função que adiciona pontos para os alunos conforme a regra a seguir: (1pt):
- 1 ponto para os alunos com nota entre 0 e 4,99;
- 0,5 ponto para os alunos com nota entre 5 e 9;
7) Dada uma lista seqüencial lstClientes, onde cada elemento da lista é implementado como
um registro que contém os campos: codigo, nome, mesAniversario, considere que essa
lista já possui vários elementos incluídos. Faça uma rotina para realizar uma cópia desta lista para
uma outra lista lstCli2, copiando apenas os elementos com mês de aniversário igual a 12 (2pt).

Mais conteúdo relacionado

Destaque

2011 04-24 2ª jornadas nacionales de unidades de registro y análisis de grd (1)
2011 04-24 2ª jornadas nacionales de unidades de registro y análisis de grd (1)2011 04-24 2ª jornadas nacionales de unidades de registro y análisis de grd (1)
2011 04-24 2ª jornadas nacionales de unidades de registro y análisis de grd (1)
José Luis Contreras Muñoz
 

Destaque (18)

Ortografia
Ortografia Ortografia
Ortografia
 
Co2
Co2Co2
Co2
 
Brenda franco
Brenda francoBrenda franco
Brenda franco
 
Atividades complementares i
Atividades complementares iAtividades complementares i
Atividades complementares i
 
Terceirona artilharia
Terceirona   artilhariaTerceirona   artilharia
Terceirona artilharia
 
Desdobravel direitos da criança
Desdobravel direitos da criançaDesdobravel direitos da criança
Desdobravel direitos da criança
 
Ejercicio 3 grafico
Ejercicio 3  graficoEjercicio 3  grafico
Ejercicio 3 grafico
 
Tierra de Barros: Corte de Peleas, Entrin Alto y Bajo
Tierra de Barros: Corte de Peleas, Entrin Alto y BajoTierra de Barros: Corte de Peleas, Entrin Alto y Bajo
Tierra de Barros: Corte de Peleas, Entrin Alto y Bajo
 
Plano de Estágio
Plano de EstágioPlano de Estágio
Plano de Estágio
 
Reportes casos sarampión mayo2015
Reportes casos sarampión mayo2015Reportes casos sarampión mayo2015
Reportes casos sarampión mayo2015
 
Curso conocimientos directivos aps difusion
Curso conocimientos directivos aps difusionCurso conocimientos directivos aps difusion
Curso conocimientos directivos aps difusion
 
Texto santa maria de itabira
Texto   santa maria de itabiraTexto   santa maria de itabira
Texto santa maria de itabira
 
Defeitos em comandos elétricos
Defeitos em comandos elétricosDefeitos em comandos elétricos
Defeitos em comandos elétricos
 
Grade palestras HENGST atualizar AUTOMEC 2015
Grade palestras HENGST atualizar AUTOMEC 2015Grade palestras HENGST atualizar AUTOMEC 2015
Grade palestras HENGST atualizar AUTOMEC 2015
 
La melodía
La melodíaLa melodía
La melodía
 
Oficio hospital 2014
Oficio hospital 2014Oficio hospital 2014
Oficio hospital 2014
 
Controladores Digitais
Controladores Digitais Controladores Digitais
Controladores Digitais
 
2011 04-24 2ª jornadas nacionales de unidades de registro y análisis de grd (1)
2011 04-24 2ª jornadas nacionales de unidades de registro y análisis de grd (1)2011 04-24 2ª jornadas nacionales de unidades de registro y análisis de grd (1)
2011 04-24 2ª jornadas nacionales de unidades de registro y análisis de grd (1)
 

Semelhante a 1a avaliacao estrutura de dados

1 exercicio funcoes com string e manipulacao com arquivo
1 exercicio  funcoes com string e manipulacao com arquivo1 exercicio  funcoes com string e manipulacao com arquivo
1 exercicio funcoes com string e manipulacao com arquivo
Kievnny Mendonca
 
Paradigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo HaskellParadigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo Haskell
Sérgio Souza Costa
 
Recursividade em C
Recursividade em CRecursividade em C
Recursividade em C
Caique Silva
 

Semelhante a 1a avaliacao estrutura de dados (18)

Introdução ao paradigma funcional com scala
Introdução ao paradigma funcional com scalaIntrodução ao paradigma funcional com scala
Introdução ao paradigma funcional com scala
 
Ed1
Ed1Ed1
Ed1
 
aula5 - Manipulação de Strings.pdf
aula5 -  Manipulação de Strings.pdfaula5 -  Manipulação de Strings.pdf
aula5 - Manipulação de Strings.pdf
 
Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
 
Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04
 
Estrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e FunçõesEstrutura de Dados - Aula 03 - Ponteiros e Funções
Estrutura de Dados - Aula 03 - Ponteiros e Funções
 
Apostila rpira
Apostila rpiraApostila rpira
Apostila rpira
 
Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4
 
Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4Programação Orientada por Objectos - Aula 4
Programação Orientada por Objectos - Aula 4
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
1 exercicio funcoes com string e manipulacao com arquivo
1 exercicio  funcoes com string e manipulacao com arquivo1 exercicio  funcoes com string e manipulacao com arquivo
1 exercicio funcoes com string e manipulacao com arquivo
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
 
Paradigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo HaskellParadigma Funcional - Caso de Estudo Haskell
Paradigma Funcional - Caso de Estudo Haskell
 
Lp script pug-pe
Lp script pug-peLp script pug-pe
Lp script pug-pe
 
capitulo10-exercicios.pdf
capitulo10-exercicios.pdfcapitulo10-exercicios.pdf
capitulo10-exercicios.pdf
 
PHP 5.3 - Funções
PHP 5.3 - FunçõesPHP 5.3 - Funções
PHP 5.3 - Funções
 
Recursividade em C
Recursividade em CRecursividade em C
Recursividade em C
 
Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)
Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)
Aula - Funções (Curso de Python Básico -- FATEC SENAI MT)
 

1a avaliacao estrutura de dados

  • 1. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA - IFMA Curso: Sistemas de Informação Algoritmos e Estrutura de Dados – Prof. Gentil Cutrim Serra Jr 1ª Avaliação – 17/Mar/2014 Aluno: ________________________________________________________ 1) Seja uma função de utilização (considere as operações predefinidas para uma TAD Lista) denominada de intercala(l1,l2,l3) tal que, recebendo uma lista l1 como entrada, copia os elementos das posições ímpares (1,3,5, …) para a lista l2 e copia os elementos das posições pares para a lista l3, preservando os dados de l1 (2pt). int intercala(tipo_lista l1, tipo_lista *l2, tipo_lista *l3); 2) Conforme mostrado em sala de aula, escreva uma função de implementação que deleta todos os elementos de uma lista alocada dinamicamente, sem deixar espaços de memória inutilizados (1pt). 3) Conforme mostrado em sala de aula, escreva uma função de implementação que inverte a ordem dos nodos de uma lista encadeada dinamicamente (a primeira passa a ser a última, a segunda passa a ser a penúltima etc.). Faça isso usando os ponteiros (1pt). Para as próximas duas questões, considere a função pesquisaBinaria()  que realiza uma busca binária em um vetor de números inteiros. int pesquisaBinaria (int k[], int chave_pesq, int inicio, int fim)  {       int meio;       while (inicio<=fim)       {           meio=(inicio+fim)/2;            if (chave_pesq==k[meio])                 return meio;            else if (chave_pesq<k[meio])                 fim=meio­1;            else                inicio=meio+1;       }       return ­1;  } 4) Dada a função pesquisaBinaria(), mude o seu conteúdo de maneira que a sua forma de execução seja feita recursivamente (2pt). 5) Dada a função pesquisaBinaria(), refaça seu código (interativo ou recursivo) para realizar uma busca em uma TAD Lista (considere as funções de implementação). Para isso, o vetor k[] deverá ser substituído por um parâmetro do tipo_lista (2pt). 6) Dada uma lista de alunos lstAluno (codigo, nome e nota), implementada como um TAD, escreva uma função que adiciona pontos para os alunos conforme a regra a seguir: (1pt): - 1 ponto para os alunos com nota entre 0 e 4,99; - 0,5 ponto para os alunos com nota entre 5 e 9; 7) Dada uma lista seqüencial lstClientes, onde cada elemento da lista é implementado como um registro que contém os campos: codigo, nome, mesAniversario, considere que essa lista já possui vários elementos incluídos. Faça uma rotina para realizar uma cópia desta lista para uma outra lista lstCli2, copiando apenas os elementos com mês de aniversário igual a 12 (2pt).