TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A Lógica de Programação

Por:   •  27/9/2015  •  Trabalho acadêmico  •  1.796 Palavras (8 Páginas)  •  210 Visualizações

Página 1 de 8

    [pic 1][pic 2]

Universidade do Sul de Santa Catarina – Unisul

Campus Virtual

[pic 3]

Atividade de avaliação a distância (AD)

Unidade de Aprendizagem: Lógica de Programação

Curso: Sistemas para Internet

Professor:

Nome do aluno:

Data:

Orientações:

  • Procure o professor sempre que tiver dúvidas.
  • Entregue a atividade no prazo estipulado.
  • Esta atividade é obrigatória e fará parte da sua média final.
  • Encaminhe a atividade via Espaço UnisulVirtual de Aprendizagem (EVA).

1. Considere que você tenha em mãos um vetor, ordenado crescentemente por nome, contendo registros de pessoas (nome, idade e telefone). Você recebeu a tarefa de realizar uma busca pelo nome de uma determinada pessoa dentro deste vetor. Qual o método de busca você utilizaria para determinar se o nome da pessoa existe ou não dentro do vetor. Justifique a sua escolha. (2 pontos)

Como o vetor está ordenado crescentemente, escolheria o método de pesquisa binária, pois este método é mais rápido e o número de dados lidos é menor. Esse método consiste na divisão do vetor em duas partes, e verifica se o valor procurado está exatamente na metade do vetor, acima ou abaixo dela. Sendo assim, esse método se torna bastante eficiente na procura da informação desejada.

2. Considere que você tenha o seguinte registro:

TSaldo = REGISTRO

nomeDoMes : LITERAL

saldo : REAL

FIMREGISTRO

Considere que você tenha um vetor (Meses), já preenchido com 12 literais, onde em cada posição exista o nome de um mês.

Considere também que você deverá fazer 100 leituras armazenando-as em um vetor, onde em cada leitura o usuário irá digitar um número entre 1 e 12 ( representando o número de um mês), e um valor (REAL). Após a digitação de todos as 100 leituras mostrar na tela o nome da cada um dos meses e o seu saldo atual. Para esta questão você deverá utilizar registros para armazenar TSaldo dentro de um vetor. (3 pontos)

Algorítmo Questão 2

tipo TSaldo = REGISTRO

        nomeDoMes : LITERAL

        saldo : REAL

fim-registro

var

        VetorResultado : vetor[100] TSaldo

        VetorMes : vetor[12] Literal

        POS, numeroDoMesEntrada, posicaoMes : inteiro

        saldoEntrada : real

inicio

VetorMes[0] < - "Janeiro"

VetorMes[1] < - "Fevereiro"

VetorMes[2] < - "Março"

VetorMes[3] < - "Abril"

VetorMes[4] < - "Maio"

VetorMes[5] < - "Junho"

VetorMes[6] < - "Julho"

VetorMes[7] < - "Agosto"

VetorMes[8] < - "Setembro"

VetorMes[9] < - "Outubro"

VetorMes[10] < - "Novembro"

VetorMes[11] < - "Dezembro"

para POS de 0 até 99 passo 1 faça

        escreva "Digite o número do mês entre 1 e 12: "

        leia numeroDoMesEntrada

        enquanto numeroDoMesEntrada < 1 ou numeroDoMesEntrada > 12 faça

                escreva "Digite o número do mês entre 1 e 12: "

                leia numeroDoMesEntrada

        fimEnquanto

        escreva "Digite o saldo:"

        leia saldoEntrada

        posicaoMes <- buscarMesExistente(VetorResultado, VetorMes[numeroDoMesEntrada - 1])        

        se posicaoMes <> -1 então

                VetorResultado[posicaoMes].saldo <- VetorResultado[posicaoMes].saldo + saldoEntrada        

        senão

                VetorResultado[numeroDoMesEntrada-1].nomeDoMes <- VetorMes[numeroDoMesEntrada-1]

                VetorResultado[numeroDoMesEntrada-1].saldo <- saldoEntrada

        fimSe

fim-para

mostrarResultado(VetorResultado)

fimAlgoritmo

Funcao mostrarResultado(VetorResultado : Vetor de TSaldo)

var

        POS : inteiro

inicio

para POS de 0 até 11 passo 1 faça

        escreva "Mês: ", VetorResultado[POS].nomeDoMes

        escreva "Saldo: ", VetorResultado[POS].saldo

fim-para

fimFuncao

Funcao buscarMesExistente(VetorResultado : Vetor de TSaldo, nomeMesEntrada : LITERAL) : inteiro

var

        POS, posicaoMes : INTEIRO

inicio

posicaoMes <- -1

para POS de 0 até 11 passo 1 faça

        se VetorResultado[POS].nomeDoMes = nomeMesEntrada então

                posicaoMes <- POS

        fimSe

fimPara

retorna posicaoMes

fimFuncao

3. Considere que você tenha o seguinte registro:

TSaldo = REGISTRO

nomeDoMes : LITERAL

saldo : REAL

FIMREGISTRO

Faça um algoritmo para realizar 12 leituras armazenando-as em um vetor, onde em cada leitura o usuário irá digitar o nome de um mês e o seu saldo atual. Após a leitura você deverá ordenar os saldos de forma decrescente (do maior saldo para o menor) e após a ordenação mostrar na tela o nome do mês e o seu saldo. (3 pontos)

Algorítmo Questão 3

tipo TSaldo = registro

        nomeDoMes : LITERAL

        saldo : REAL

fim-registro

variáveis

        VetorResultado : vetor [12] de TSaldo

        POS : inteiro

inicio

para POS de 0 até 11 passo 1 faça

        escreva "Digite o nome do mês: "

        leia VetorResultado[POS].nomeDoMes

        escreva "Digite o saldo: "

        leia VetorResultado[POS].saldo

fim-para

ordenarSaldoDecrescente(VetorResultado)

mostrarResultado(VetorResultado)

fimAlgoritmo

Funcao ordenarSaldoDecrescente(VetorResultado : Vetor de TSaldo) : vetor de TSaldo

...

Baixar como (para membros premium)  txt (8.6 Kb)   pdf (328.3 Kb)   docx (412.8 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com