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

Trabalho Tobogã de Bolinhas no Visualg (comentado)

Por:   •  8/5/2015  •  Trabalho acadêmico  •  1.965 Palavras (8 Páginas)  •  317 Visualizações

Página 1 de 8

algoritmo "Trabalho Prático"

var

N, L, H, I: inteiro //N Linhas, L Distância, H Altura, I Índice

DX, DY, T: real //Distância de X, Y e auxiliar

DIST_MENOR, DIST_PTRETA: real //Valor da menor distância e da distância de ponto e reta atual

VET_DSPTLADOS:vetor[1..50] de real //Vetor de distância da reta

TEXTO: caractere //Entrada dos números, utilizado na função linhanumpvetor

VET_NUMEROS: vetor[1..50] de inteiro //Vetor dos números convertidos pela função linhanumpvetor

VET_NM_I : inteiro //Tamanho/Índice do vetor de números convertidos

ALETA: vetor[1..50,1..4] de inteiro //Matriz que contém coordenadas das aletas(Linha = aleta, Coluna = coordenada)

VET_PTPROXIMO:vetor[1..10,1..2] de real //Matriz com os pontos próximos

VET_DTPTRETA:vetor[1..50] de real //Vetor de distância de ponto e reta

procedimento limpa_aletas()

var

VET_X, VET_Y : inteiro //Índice X e Y da matriz

inicio

para VET_X de 1 ate 50 faca //Percorre as linhas da matriz

para VET_Y de 1 ate 4 faca //Percorre as colunas da matriz

se ALETA[VET_X, VET_Y] <> 0 entao //Se o valor for diferente de 0 (número inicial)

ALETA[VET_X, VET_Y] <- 0 //Então anula seu valor com 0

fimse

fimpara

fimpara

fimprocedimento

//Procedimento responsável por limpar o vetor VET_NUMEROS

procedimento limpa_numeros()

var VET_IND : inteiro //Índice do vetor

inicio

para VET_IND de 1 ate 50 faca //Percorre todo o vetor

se VET_NUMEROS[VET_IND] <> 0 entao //Se o valor for diferente de 0 (número inicial)

VET_NUMEROS[VET_IND] <- 0 //Então anula seu valor com 0

fimse

fimpara

VET_NM_I <- 0 //Coloca o tamanho do vetor como 0, pois não está preenchido

fimprocedimento

//Procedimento responsável por converter a linha em números

procedimento linhanumpvetor(VET_TAMANHO: inteiro) //VET_TAMANHO: variável para verificação do total de números na entrada

var TEXTO, TEXTO_PARTE, TEXTO_LETRA : caractere //TEXTO: texto da entrada; TEXTO_PARTE: auxiliar da cópia; TEXTO_LETRA: cópia do texto (letra[posição]) do texto

TEXTO_TAMANHO, TEXTO_INDICE : inteiro //TEXTO_TAMANHO: variável que armazena o comprimento do texto; TEXTO_INDICE: Índice do vetor

inicio

leia(TEXTO)

TEXTO_TAMANHO <- compr(TEXTO) //Armazena o comprimento do texto na variável TEXTO_TAMANHO

para TEXTO_INDICE de 1 ate TEXTO_TAMANHO faca //Percorre todo texto como um vetor (nativamente, sendo um texto como vetor de caracteres)

TEXTO_LETRA <- copia(TEXTO, TEXTO_INDICE, 1) //Faz a cópia do texto (letra[posição])

se (TEXTO_LETRA = " ") ou (TEXTO_INDICE = TEXTO_TAMANHO + 1) entao //Verifica se a letra copiada é um espaço, ou se o índice é o comprimento do texto + 1

se TEXTO_PARTE <> "" entao //Verifica se parte do texto não estiver em branco, para assim realmente ser um número

VET_NM_I <- VET_NM_I + 1 //Incrementa o tamanho do vetor

VET_NUMEROS[VET_NM_I] <- caracpnum(TEXTO_PARTE) //Coloca o número convertido no vetor referente

TEXTO_PARTE <- "" //Limpa a parte do texto para nova conversão

fimse

senao

TEXTO_PARTE <- TEXTO_PARTE + TEXTO_LETRA //Senão, concatenua a parte do texto com a letra processada

fimse

fimpara

se TEXTO_PARTE <> "" entao //Faz a última verificação, evitando que um número ou parte dele falte, e executa os mesmos comandos

VET_NM_I <- VET_NM_I + 1

VET_NUMEROS[VET_NM_I] <- caracpnum(TEXTO_PARTE)

TEXTO_PARTE <- ""

fimse

se VET_NM_I <> VET_TAMANHO entao //Verifica se o tamanho do vetor é o tamanho informado, se não for, repete o procedimento com o mesmo argumento

limpa_numeros()

linhanumpvetor(VET_TAMANHO)

fimse

fimprocedimento

inicio

enquanto verdadeiro faca //Faz um laço de repetição infinito

DIST_MENOR <- 1000 //Inicia a distância menor

N <- 0 //Atribui o valor padrão ao número de aletas

L <- 0 //Atribui o valor padrão a largura

H <- 0 //Atribui o valor padrão a altura

enquanto (N <= 1) ou (N > 50) faca //Repete o laço estar entre [1...50]

linhanumpvetor(1) //Usa o procedimento de conversão

N <- VET_NUMEROS[1] //Lê o valor do número de aletas no vetor convertido

...

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