Ir ao conteúdo

Iniciante com problemas


dermina

Posts recomendados

Postado

Oi estou iniciando em programação, e tenho este teste para resolver mas quanto mais eu leio mas confuso eu fico,será que alguem aí poderia me dar uma luz.

" Construa no VisuAlg um algoritmo que preencha um vetor de 10 elementos inteiros, colocando 1 na posição correspondente a um número par e 0 a um número ímpar.

Cole no espaço abaixo o algoritmo implementado."Desde já meu muito obrigado.

Postado

Para ver se um numero é par, basta fazer um mod por 2. Lembrando que mod pega o resto da divisão.

Perceba que todo número par ao ser dividido por 2, tem resto 0. Então:

5 mod 2 = 1,

4 mod 2 = 0

Agora ficou fácil né? Comece o código e poste aqui, se tiver dúvidas (enquanto resolve), poste que a gente tira. Se ainda assim não souber sequer começar, de mais uma estudada nos livros e apostilas e/ou peça pro seu professor explicar melhor.

Postado

Valeu Ghost Killer,eu fiz o algoritmo e ficou assim,so não sei se esta di acordo com o que foi pedido:

algoritmo "semnome"

// Função : colocar 1 nas posições pares e 0 nas posições impares
// Autor :Jose Raimundo Elisiar
// Data : 3/5/2011
// Seção de Declarações
var
num:vetor[1..10]de inteiro
i:inteiro
inicio
// Seção de Comandos
para i de 1 ate 10 faca
escreval("digite um numero inteiro")
leia(num[i])
se (i mod 2)=1 então
escreval("0")
senao
escreval("1")
fimse
fimpara

Postado

Pera, estou com duvida quanto a especificação do problema. voce quer que o código veja a posição do vetor para escrever se é par ou impar, ou se leia o conteudo do vetor e baseado nele escrever se é par ou impar? De qualquer forma seu código contem alguns errinhos para quaisquer um dos dois casos.

Se for a primeira opção, voce não precisa de entrada nenhuma. E ele não fala pra escrever na tela, e sim no vetor.

Outra coisa, é uma boa prática de programação separar entrada, processamento e saída dos dados. No seu caso, voce vai recebendo o sados, processando e já saindo com eles tudo simultaneamente (faz todas as coisas pra cada ciclo).

Tente também identar seu código para ele ficar com uma visualização mais rapida, sempre em subrotinas (dentro de SE, SENAO, ENQUANTO, PARA e etc) insira uma tabulação ou espaços para identificar as mesmas.

Não conheço o Visualg (e me recuso a conhecer por achar menos intuitivo do que deveria ser), então vou fazer um algoritmo em portugol como eu aprendi a 6 anos atras (ou pelo menos como me recordo):

int i, vetor[10];
INICIO
//Processamento dos dados
PARA (i = 0; i < 10; i++)
INICIO
SE ((i MOD 2) == 0)
INICIO
vetor[i] = 1;
FIM
SENAO
INICIO
vetor[i] = 0;
FIM
FIM
//Saída dos dados
ESCREVA "Vetor resultante: ";
PARA (i = 0; i < 10; i++)
INICIO
ESCREVA vetor[i];
FIM
FIM

Se voce tiver que fazer a segunda alternativa que eu falei, aí voce realmente vai precisar da entrada dos dados, e o código fica:

int i, vetor[10];
INICIO
//Entrada dos dados
PARA (i = 0; i < 10 ; i++)
INICIO
ESCREVA "Informe o valor na posicao ", i , " do vetor";
LEIA vetor[i];
FIM
//Processamento dos dados
PARA (i = 0; i < 10; i++)
INICIO
SE ((vetor[i] MOD 2) == 0)
INICIO
vetor[i] = 1;
FIM
SENAO
INICIO
vetor[i] = 0;
FIM
FIM
//Saída dos dados
ESCREVA "Vetor resultante: ";
PARA (i = 0; i < 10; i++)
INICIO
ESCREVA vetor[i];
FIM
FIM

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...