Ir ao conteúdo
  • Cadastre-se

Nikollas G. Ohta

Membro Júnior
  • Posts

    9
  • Cadastrado em

  • Última visita

Reputação

4
  1. Olá, boa noite! Bom, estou tentando desenvolver um código, mas acredito que esteja cometendo algum erro semântico. Os valores das médias estão se sobrepondo na impressão, já tentei modificar de diversas formas, mas não obtive um bom resultado. Program Reg_+_Matriz; // Algoritmo usando record, onde um aluno tem um código, nome // nome de duas disciplinas e de 4 notas em uma variável do // tipo record. Ao fim, imprimir nome do aluno, das disciplinas // a média de cada uma e das duas juntas. O processo deve ocorrer 5x. type cadastro= record nota: array [1..2,1..4] of real; disc: array [1..2] of string; cod,nome: string; end; var aluno: array [1..5] of cadastro; med,medGer: array [1..5] of real; i,l,c: integer; Begin for i:=1 to 5 do begin write('Insira seu nome: '); // Leitura de nome e código read(aluno[i].nome); // feita 1x por ciclo. write('Insira seu código (R.A.): '); read(aluno[i].cod); for l:=1 to 2 do begin write('Digite o nome da disciplina: '); // Leitura de disciplinas readln(aluno[i].disc[l]); // feita 2x por ciclo. for c:= 1 to 4 do begin write('Digite a ',c,'ª nota: '); // Leitura de notas readln(aluno[i].nota[l,c]); //feita 4x a cada disciplina lida. end; med[i]:= (aluno[i].nota[l,1]+aluno[i].nota[l,2]+aluno[i].nota[l,3]+aluno[i].nota[l,4]) / 4; // Cálculo da média das notas writeln; // feito 2x por ciclo end; medGer[i]:= (medGer[i] + med[1] + med[2])/2; // Cálculo da média geral end; writeln; For i:=1 to 5 do begin writeln('O nome do aluno é: ',aluno[i].nome); // Impressão dos dados recebidos writeln('Seu código é: ',aluno[i].cod); for l:=1 to 2 do begin writeln('Suas 4 notas em ',(aluno[i].disc[l]),' foram: '); for c:= 1 to 4 do begin writeln('Nota ',c,': ',aluno[i].nota[l,c]); end; end; writeln; for l:=1 to 2 do begin writeln('Sua média em ',aluno[i].disc[l],' é: ',med[l]); end; writeln; writeln('Sua média geral foi: ',medGer[i] ); writeln; end; readkey; end.
  2. @devair1010 entendi! ficou muito mais claro com a identação correta e com mais espaçamentos, muito obrigado! @Simon Viegas vou começar a usar essa dica de automatizar a entrada de números. Muito obrigado!
  3. Olá, boa noite! Sou eu novamente. Bom, dessa vez venho aqui pedir ajuda para vocês uma luz nesse código, onde é impresso a soma de todas as colunas ao invés de imprimir o resultado da soma de cada uma individualmente. O que pode estar errado, alguma variável ou atribuição? Program SomaCol_ValDiagonal; var mat: array[1..5,1..5] of integer; vet: array[1..5] of integer; soma, somaC, l, c : integer; //Linha e coluna de 1 até 5 begin soma:=0; for l:=1 to 5 do begin for c:=1 to 5 do begin write('Digite um valor para a ',l,'ª linha e ',c,'ª coluna: '); //Usuário insere valor para a coluna readln(mat[l,c]); somaC:=somaC+(mat[l,c]); begin if l=c then //Se a linha for igual a coluna, é um cenário propício a formar a diagonal vet[l]:=mat[l,c]; end; end; writeln; end; //Imprime os valores da diagonal for l:=1 to 5 do begin soma:=soma+vet[l]; writeln('Os elementos na diagonal são: ',vet[l]); end; writeln; //Imprime a soma das colunas individualmente (corrigir) for c:=1 to 5 do begin writeln('A soma da ',c,'ª coluna resulta em: ',somaC); end; readkey; end.
  4. @kgin Fiz alguns testes e funcionou! Não sei se é a forma mais eficiente, mas segue o código: Program Maior_Menor_Vet; Var vet:Array [1..20] of integer; i,maior,menor,localMai,localMen:integer; Begin For i:=1 to 20 do Begin write('Digite um valor para o ', i ,'º vetor: '); readln(vet[i]); end; For i:=1 to 20 do Begin if (vet[i]>maior) then begin maior:=vet[i]; localMai:=i; end; if (maior>vet[i]) then begin menor:=vet[i]; end; end; For i:=1 to 20 do Begin if (menor>vet[i]) then begin menor:=vet[i]; localMen:=i; end; End; writeln; writeln('O menor valor é: ', menor,'. Está localizado no ',localMen,'º vetor.'); writeln('O maior valor é: ', maior,'. Está localizado no ',localMai,'º vetor.'); readkey; End. Se houver uma forma de encurtá-lo aumentando a eficiência, gostaria de saber, desde já, muito grato pela ajuda!
  5. Boa noite! Estou com um problema e não sei onde está o erro no meu código, ele consiste em coletar 20 números com o usuário e mostrar o maior e menor número e suas respectivas posições. No entanto, não estou conseguindo fazer a impressão do menor número e gostaria de saber onde estou errando. Segue o código: Program Maior_Menor_Vet; Var vet:Array [1..20] of integer; i,maior,menor,localMai,localMen:integer; Begin For i:=1 to 20 do Begin write('Digite um valor para o ', i ,'º vetor: '); readln(vet[i]); end; For i:=1 to 20 do Begin if (vet[i]>maior) then begin maior:=vet[i]; localMai:=i; end; if (menor>vet[i]) then begin menor:=vet[i]; localMen:=i; end; end; writeln; writeln('O menor valor é: ', menor,'. Está localizado no ',localMen,'º vetor.'); writeln('O maior valor é: ', maior,'. Está localizado no ',localMai,'º vetor.'); readkey; End. Meu conhecimento no pascal é básico, estudo há apenas 4 meses.
  6. Estou com um erro sintáxico no código, onde diz que o "Until" não foi esperado, mas nao sei o porque, li e reli e até onde vi está tudo certo, se alguém puder me dar uma luz, agradeceria. Program Algoritmo; var cont:integer; continuar,opc:char; num,soma:real; Begin Repeat writeln('A - Exercício 1.'); writeln('B - Exercício 2.'); writeln('S - Sobre o Aluno.'); writeln('F - Fim.'); write('Onde deseja entrar? '); read(opc); case (opc) of A: begin cont:=-50; for cont:=-50 to 10 do if (cont mod 2=0) then begin writeln('Os valores pares são: ',i); end; readkey; end; B: begin cont:=0; soma:=0; continuar:='s'; while (continuar='s') do begin write('Digite um número real: '); read(num); cont:=cont+1; if (num<=0) then repeat writeln; write('Digite um valor válido: '); read(num); write(''); until (num>0); writeln; write('Deseja inserir outro valor? '); read(continuar); soma:=soma+num; end; write('A soma dos valores é: ',soma); readkey; end; S: begin writeln('z - Sistemas de Informação - Algoritmos'); writeln('Nome: y; RA: x'); readkey; end; else begin writeln('Você digitou um caractere inválido!'); readkey; end; until (opc := 'F'); write('O Algoritmo chegou ao fim.'); end; end. Bom, analisando mais, achei o erro, as opções de entrada do case tinham que estar entre apóstrofos.
  7. O que veio junto ao processador, fiz a aplicação da primeira pasta térmica dele há 1 semana. Já fiz o teste, ajuda bem pouco, existe a chance de ser a pasta térmica da placa de vídeo ou algo relacionado aos fans dela? Já que ela é o que mais está me incomodando no momento.
  8. Gabinete Pixxo - HT5A250 Fan Rise Mode 120mm - Na parte de trás fazendo a exaustão da parte de dentro, para fora. Mas basicamente o Fan nao auxilia muito, já que por conta do superaquecimento, venho usando o gabinete sem a tampa lateral.
  9. Bom, há pouco tempo fiz um upgrade de CPU e placa-mãe, mas com isso vieram alguns problemas. Um deles vem a ser o superaquecimento de GPU e CPU, que apenas com o browser aberto batem 60ºC/70ºC. (não sei se isso influencia, mas uso um monitor de 19' e uma tv de 32') Queria saber como resolver isso, se talvez fosse o caso de uma formatação ou se existe algum outro tipo de solução. MB: B450M DS3H (Rev. 1.0) CPU: R5 1600 3.20mhz Ram: 2x 8GB 2667mhz GPU: AMD Radeon 6950 Fonte: Corsair CX650

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...