Questionário em estatisticas em Pascal
Publicado por Angelito Monteiro Goulart (última atualização em 15/12/2011)
[ Hits: 6.003 ]
Homepage: http://angelitomg.com
Programa que recebe respostas de 10 questões, com 5 opções cada uma, de diferentes usuários.
Recebe o nome do usuário e o número da resposta de cada uma das 10 questões. Ao final, exibe quantas vezes cada resposta de cada questão foi escolhida.
Finaliza quando o nome do usuário for vazio.
program Questionario; { Cria uma estrutura chamada entrevistado que vai conter o nome e um vetor com as respostas } Type Entrevistado = record Nome: String[30]; Respostas: array[1..10] of integer; end; Var { Cria uma variavel do tipo entrevistado } Pessoa: Entrevistado; { Cria uma variavel para manipular um arquivo com dados do tipo Entrevistado} Arquivo: File of Entrevistado; { Variaveis para controlar a matriz Resultado } i, j: Integer; { Matriz resultado, que ira conter os resultados } Resultado: array[1..10, 1..5] of integer; Begin { Abre o arquivo respostas.bin } assign(Arquivo, 'respostas.bin'); { Define o modo como criacao/gravacao } rewrite(Arquivo); { Loop principal do programa } Repeat { Recebe o nome do entrevistado } writeln('Digite seu nome: '); readln(Pessoa.Nome); { Se o nome for vazio, sai do loop } if (Pessoa.Nome = '') then begin break; end; { Obtem as 10 respostas } for i := 1 to 10 do begin writeln('Digite a resposta da questao ', i, ':'); readln(Pessoa.Respostas[i]); end; { Escreve as respostas no arquivo} write(Arquivo, Pessoa); { Condicao para sair do loop } Until Pessoa.Nome = ''; { Abre o arquivo de respostas para leitura } reset(Arquivo); { Coloca o cursor no inicio do arquivo } seek(Arquivo, 0); { Zera a matriz de resultados } for i := 1 to 10 do begin for j := 1 to 5 do begin Resultado[i, j] := 0; end; end; { Le o arquivo de respostas } while not eof(Arquivo) do begin { Le o registro atual } read(Arquivo, Pessoa); for i := 1 to 10 do begin { Parte principal. Verifica a resposta dada pelo usuario e incrementa o inidice equivalente a resposta da matriz de resultados. Ou seja: mais uma pessoa respondeu ESSA pergunta} Resultado[i, Pessoa.Respostas[i]] := Resultado[i, Pessoa.Respostas[i]] + 1; end; end; { Fecha o arquivo } close(Arquivo); { Exibe as respostas } for i := 1 to 10 do begin writeln('-- Questao ', i, ': '); for j := 1 to 5 do begin writeln('Opcao ', j, ': ', Resultado[i, j], ' respostas!'); end; end; End.
Visualizador de imagens feito no Lazarus
Visualizador De Imagem feito no Lazarus (Delphi 7 para Linux)
ZCodEdit - Editor de textos com sintaxe HTML e Pascal
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalando Discord no Debian 13
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Software livre - será que eu estou tão errado assim? (10)
Boot do PosRog so funciona em notebook (1)