You are on page 1of 26

1 program pares; 2 {importação da biblioteca CRT} 3 uses crt; 4 var 5 {criação de um array números de 8 colunas} 6 numeros:array[1..

8] of integer; 7 {criação de uma variável ind do tipo inteira} 8 ind:byte; 9 begin 10 {limpa a tela} 11 clrscr; 12 {da posição ind 1 até 8 faça} 13 for ind:=1 to 8 do 14 begin 15 {escreva no prompt de comando} 16 write('Digite o ',ind,' valor: '); 17 {espera que o usuário insira algum valor} 18 readln(numeros[ind]); 19 end; 20 {escreva no prompt de comando} 21 writeln('Os numeros pares digitados sao:'); 22 {da posição ind 1 até 8 faça} 23 for ind:=1 to 10 do 24 {se o valor do array numeros na posição ind, o resto da divisão por 2 25 for zero, faça} 26 if (numeros[ind] mod 2=0) then 27 {escreva no prompt de comando} 28 write(numeros[ind],' '); 29 readkey; 30 end.

1 program projintegrador; 2 {importação da biblioteca CRT} 3 uses crt; 4 const 5 {quantidade de arquivos que podem ser armazenados} 6 LArquivos=5; 7 {quantidade de campos} 8 Ncampos=3; 9 var 10 {criação de variáveis do tipo caractere} 11 opG,opConf1,opConf2:char; 12 {criação de variáveis do tipo inteira} 13 ind1,ind2,Ncad:integer; 14 {criação de variáveis do tipo texto} 15 busca,encontrado:string;

16 {LINHA1 E COLUNAS1-3:Armazena os nomes dos campos} 17 {LINHA2-5 COLUNAS1-3:Armazena os dados} 18 campos:array[1..LArquivos,1..Ncampos] of string[35]; 19 20 {INÍCIO DO PROGRAMA} 21 begin 22 {Nome dos campos} 23 campos[1,1]:='Nome: ';campos[1,2]:='Matricula: ';campos[1,3]:='Telefone: '; 24 25 {Demais configuracoes} 26 encontrado:='Nada foi encontrado'; 27 opConf2:='N'; 28 Ncad:=2; 29 {configura toda a matriz linha e coluna a nada} 30 for ind1:=2 to Larquivos do 31 for ind2:=1 to Ncampos do 32 campos[ind1,ind2]:=''; 33 34 repeat 35 {limpa a tela} 36 clrscr; 37 {criação de um menu e configurando suas cores} 38 textcolor(7); 39 writeln(':=Cadastro de Alunos=:'); 40 textcolor(14); 41 writeln(':===MENU DE OPCOES===:'); 42 writeln('1. Cadastrar Aluno'); 43 writeln('2. Consultar Cadastro'); 44 writeln('3. Editar Cadastro'); 45 writeln('4. Excluir Cadastro'); 46 writeln('5. Encerrar Sistema'); 47 {espera que o usuário insira algum valor} 48 readln(opG); 49 {se opG for 1, faça} 50 if opG='1' then 51 begin 52 {configure o valor de opConf1 como S} 53 opConf1:='S'; 54 repeat {iicie um laço de repetição} 55 {limpe a tela} 56 clrscr; 57 {do ind 2 a o valor de LArquivos, faça} 58 for ind1:=2 to LArquivos do 59 begin 60 {se campos na pocição linha e coluna for nada e opConf1 for S, faça 61 if ((campos[ind1,1]='')and(opConf1='S')) then 62 begin 63 {do ind 1 até o valor de Ncampos, faça} 64 for ind2:=1 to Ncampos do 65 begin 66 {escreva no prompt de comando} 67 write(campos[1,ind2]); 68 {espera que o usuário insira algum valor} 69 readln(campos[ind1,ind2]); 70 end; 71 {escreva no prompt de comando} 72 writeln('Deseja efetuar um novo cadastro S/N?'); 73 {espera que o usuário insira algum valor} 74 readln(opConf1); 75 {limpa a tela} 76 clrscr;

{espera que o usuário insira algum valor} readln(opConf2). faça} if ((campos[ind1. {do ind 2 até o valor Larquivos faça} for ind1:=2 to Larquivos do begin {se a matriz campos na posição determinada for igual a busca.ind2]). {do ind 1 até o valor de Ncampos. end {do contrário se opG for 5. end. {limpa a tela} clrscr. . faça} for ind2:=1 to Ncampos do begin {escreva no prompt de comando} writeln(campos[1.campos[1.ind2]).ind2]). faça} else if opConf2='S' then begin {atribui a matriz campos na posição de linha ind1 e coluna ind2 o valor de nada} campos[ind1.2])=busca) then begin {configure encontrado com nada} encontrado:=''. end {do contrário se opG for igual a 4 faça} else if opG='4' then begin {se opConf2 for igual a N. {repita enquanto opConf1 não for N} until opConf1='N'. end. {limpa a tela} clrscr. end.ind2]. faça} else if (OpG<>'5') then begin {escreva no prompt de comando} Write('Digite o numero da matricula: ').ind2]:=''. faça} if opConf2='N' then begin {escreva no prompt de comando} writeln('Tem certeza que deseja excluir (S/N)?'). end {do contrário se opConf2 for igual a S. {se opG for igual a 3. {torna esse valorem maiúsculo com o uso de upcase} opConf2:=upcase(opConf2). {espera que o usuário insira algum valor} readln(campos[ind1. {espera que o usuário insira algum valor} readln(busca). end.77 upcase} 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 {atribui esse valor a ele mesmo sendo em maiúsculo com o uso de opConf1:=upcase(opConf1).campos[ind1. faça} if opG='3' then begin {escreva no prompt de comando} write('Digite o novo(a) '.

candidatos] of integer. 14 {Criação dos nomes equivalente ao número de opções do tipo string limitado o 15 tamanho ao tamanho da constante caracteres} 16 nomes: array [1. 140 {reconfigura a cor do texto} 141 textcolor(15). 28 BEGIN . 148 opConf2:='N'.137 end.C. 153 end.opcoes] of string[caracteres].. 138 end.. 151 {limpa a tela} 152 clrscr. 149 {espera que alguma tecla seja prescionada pelo usuário} 150 readkey. 25 26 {INICIALIZA AS PROCEDURES} 27 PROCEDURE TABELA(coluna:integer.caso haja algum} 13 empates: array [1. {quantidade de caracteres por nomes} 9 VAR 10 {criação de um array real de votação para contabilizar as opções} 11 votacao: array [1.opcoes] of real. 21 {criação de variáveis de caractere} 22 votochar. posicao... empatou: char. {números de candidatos} 8 caracteres=30. {total de opções} 7 candidatos=3.opcoes] of real. ind.L. 17 {criação de um array real de porcentagens equivalente ao número de opções} 18 porcentagem: array [1. 23 {criação de variáveis do tipo inteira} 24 VOTO. 154 {repita enquanto opG for diferente de 5} 155 until (opG='5') 156 end. 19 {criação de duas variáveis reais total e contagem} 20 total. 139 end. 4 const 5 {criação de 3 variáveis constantes} 6 opcoes=5. 1 PROGRAM CONTAGEM_VOTOS. 2 {importação da biblioteca CRT} 3 USES CRT. 142 {imporme no prompt de comando} 143 Writeln(encontrado). 12 {criação de um array inteiro para contabilizar os empates. linha: integer).contagem: real. erro:INTEGER. 146 {atribui valor as variáveis} 147 encontrado:='Nada foi encontrado'. 144 {reconfigura a cor do texto} 145 textcolor(14).

{limpando a tela} CLRSCR. begin {repita do ind 1 até 5} for ind:=1 to 5 do begin {configure a cor do texto} textcolor(12).1).22). {se o resto da divisão da variável ind por 2 for zero faça} if (ind mod 2=0) then begin {configure a cor do plano de fundo do texto} Textbackground (7). {escreva espaços vazios no prompt de comando na posição determinada pelas variáveis coluna e linha. {dano nome as demais opções} nomes[4]:='branco(s)'.nomes[2]:='MaceloD2'.nomes[3]:='O Rappa'. {iniciando um laço de repetição do c 2 ao 79} FOR C:=2 TO 79 DO BEGIN {Estas serao as linhas horizontais da moldura} {da linha 1 e entre a coluna 2 a 79 escreva o caractere 205} GOTOXY(C. {configure a cor do texto} textcolor(0). FOR L:=2 TO 23 DO BEGIN . repeat {utilizando um laço de repetição repeat} {configurando a cor do texto} TEXTCOLOR(GREEN). end. WRITE(CHR(205)). END. 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 END. {configure a posição com base a coluna e linha usando o método GOTOXY} GOTOXY(38. {configure a cor do plano de fundo do texto} Textbackground (1).WRITE(' PROCEDURE ERROR. {se o resto da divisão da variável ind for zero. com o uso do GOTOXY. end. WRITE(CHR(205)). end. {INÍCIO DO PROGRAMA} BEGIN {dano nomes para os candidatos} nomes[1]:='Nacao Zumbi'.29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 '). {paralize o programa por 200 milisegundos} delay(200). {configure a cor do texto} textcolor(15). {escreva no prompt de comando} write('ERROR!!!'). {da linha 24 e entre a coluna 2 a 79 escreva o caractere 205} GOTOXY(C.} GOTOXY(coluna. faça} if (ind mod 2)=0 then {configura a cor do texto} textcolor(15).24).nomes[5]:='nulo(s) '.linha).

23). {se erro maior do que zero. WRITE(' CONTAGEM DE VOTOS'). end. {escreva no prompt de comando} writeln('ESCOLHA UM NUMERO E NAO UM CARACTERE!!!'). WRITE(' Digite um numero de um candidato ou (9) {inicializa um laço de repetição do ind 1 até o valor de opcoes} for ind:=1 to opcoes do begin {configura a cor do texto} textcolor(9).14). ou seja. GOTOXY(1. GOTOXY(2.nomes[ind]. {espere que alguma tecla seja prescionada pelo usuário e a mesma é atrbuid a variável votochar} votochar:=READKEY. {rediricione as coordenadas do cursor com o método GOTOXY} GOTOXY(22. WRITE(CHR(188)). {atribui uma nova cor ao texto} textcolor(10).3).1).24).').L).24). na posição determinada por GOTOXY} GOTOXY(2.2). {convertendo a variável char para um número e atribuindo a variável voto} val(votochar. {Estes serao os cantos da moldura} GOTOXY(1. 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 {Estas serao as linhas verticais da moldura} {da primeira coluna e da linha 1 a 24 escreva o caractere 186} GOTOXY(1. GOTOXY(80. END. {esquere a variável votochar no prompt de comando} write(votochar). {configura novamente a cor} textcolor(10). GOTOXY(80.ind. {escreve no prompt de comando na posição determinada por GOTOXY} GOTOXY(34. se erro=0 e voto diferente de 9 faça} . WRITE(CHR(186)). faça} if erro>0 then begin {inicialize a procedure error} error.erro). {paraliza a execução do programa por 300 mílisegundos} delay(300). {Se voto menor do que 6 ou diferente de 9 faça} if((VOTO<6) and (voto<>9)) then begin {atribua ao array votacao na posição voto a ela mesma +1} votacao[voto]:=votacao[voto]+1.WRITE(CHR(186)). WRITE(CHR(201)). voto. {redireciona o cursor do prompt de comando} GOTOXY(39. {paralize o programa por 1500 mílisegundos} delay(1500). WRITE('('. end {do contrário. {atribua a variável total a ela mesma +1} total:=total+1.')'. {escreve no prompt de comando. {reconfigure a cor do texto} textcolor(green). end.4+ind). WRITE(CHR(187)). {da coluna 80 e da linha 1 a 24 escreva o caractere 186} GOTOXY(80.L).' '). WRITE(CHR(200)). se ocorreu um erro.1).89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 sair.

149 else if ((erro=0) and (voto<>9)) then 150 begin 151 {inicialize a procedure error} 152 error.votacao[ind]:6:0.7+ind). na posição determinada por GOTOXY} 200 GOTOXY(10. 174 {calculo da porcentagem} 175 for ind:=1 to opcoes do 176 {se votação na posição ind for diferente de zero faça} 177 if votacao[ind]<>0 then 178 {pocentagem na posição ind é o valor da votacao na posição 179 ind dividido pelo valor da variável total vezes 100} 180 porcentagem[ind]:=(votacao[ind]/total)*100. WRITE(' NUMEROS NOMES VOTO(S) PORCENTAGEM'). 201 WRITELN('Votos '. WRITE(votacao[ind]:6:0). 203 end. 191 GOTOXY(16. 168 {configura a cor de fundo do texto} 169 Textbackground (7). 194 end 195 else {do contrário. 166 {escreve no prompt de comando. WRITE(' RESULTADO').nomes[ind]. faça} 185 if ind<opcoes-1 then 186 begin 187 {vá para procedure tabela e configure seus dois argumentos} 188 tabela(7.7+ind). 205 {verificando quem ganhou} 206 contagem:=0. na posição determinada por GOTOXY} 173 GOTOXY(7. 202 porcentagem[ind]:6:0. faça} . 164 {limpe a tela} 165 clrscr.'%').7+ind).7+ind). 157 {reconfigure a cor do texto} 158 textcolor(green). na posição determinada por GOTOXY} 190 GOTOXY(12. 172 {escreve no prompt de comando. 161 end. 181 {vá do ind 1 até o valor de opcoes} 182 for ind:=1 to opcoes do 183 begin 184 {se ind for menor que opcoes-1.8+ind). 153 {rediricione as coordenadas do cursor com o método GOTOXY} 154 GOTOXY(33. na posição determinada por GOTOXY} 167 GOTOXY(2.7+ind). 204 end. 155 {escreva no prompt de comando} 156 writeln('OPCAO INVALIDA!!!').8+ind). 193 GOTOXY(33+CARACTERES.4).WRITE(nomes[ind]).23). 207 {do ind 1 até o valor de candidatos.')'). 170 {configura a cor do texto} 171 textcolor(0).ind.' '. 159 {paralize o programa por 1500 mílisegundos} 160 delay(1500). 162 {repita enquanto voto for diferente de 9} 163 until (voto=9). 192 GOTOXY(22+CARACTERES.' '.7). WRITE(porcentagem[ind]:6:0. 189 {escreve no prompt de comando. faça} 196 begin 197 {vá para procedure tabela e configure seus dois argumentos} 198 tabela(7. 199 {escreve no prompt de comando.'%').WRITE('('.

262 end. na posição determinada por GOTOXY} 242 GOTOXY(20.WRITE('Nao houve votacao em nem um candidato.17).WRITE('O ganhador foi o candidato: '. 232 {configure a variável empates como s(sim)} 233 empatou:='s'. 257 end 258 else {do contrário. 219 {também guarda essa posição no array empates} 220 empates[posicao]:=posicao. 226 {Se contagem for igual a votacao na posicao ind e posicao que foi guardad 227 é diferente desta posição em específico. 215 {guarda essa posição na variável posicao} 216 posicao:=ind. o ind} 231 empates[ind]:=ind.nomes[posicao]). na posição determinada por GOTOXY} 261 GOTOXY(17.' '.posicao. 236 {configure a cor do texto e sua cor de fundo} 237 textcolor(14). faça} 239 if posicao=0 then 240 begin 241 {escreve no prompt de comando. 238 {se posição armazenada for zero. 217 end. 234 end. 243 end 244 {do contrário. 256 end.' '). 263 {espera que alguma tecla seja prescionada} 264 READKEY. faça} 259 begin 260 {escreve no prompt de comando.17). 235 end. 267 {limpa a tela} .WRITE('Houve um empate com os candidatos de numeros: '). na posição determinada por GOTOXY} 248 GOTOXY(12. faça} 228 if((contagem=votacao[ind]) and (posicao<>ind)) then 229 begin 230 {atribua ao array empates na posição ind.17). 221 {do ind 1 até o valor candidatos faça} 222 for ind:=1 to candidatos do 223 begin 224 {total é ele mesmo mais a votacao na posição ind} 225 total:=total+votacao[ind]. 265 {configura a cor do plano de fundo} 266 textbackground(0). faça} 211 if(contagem<votacao[ind])then 212 begin 213 {contagem atribui o valor de votacao na posição ind} 214 contagem:=votacao[ind].208 for ind:=1 to candidatos do 209 begin 210 {se contagem for menor que o valor do array votacao na posição ind. 218 end. se a variável empatou for igual a s.'). faça} 245 else if empatou='s' then 246 begin 247 {escreve no prompt de comando. faça} 253 if(empates[ind]<>0) then 254 {imprima o ind mais o caractere vazio no prompt do comando} 255 write(ind. 249 {inicie o loop do ind 1 até o valor candidatos} 250 for ind:=1 to candidatos do 251 begin 252 {se o array empates na posição ind for diferente de zero.Textbackground (0).

14 cont:=1.268 clrscr. 29 end 30 else {do contrário faça} 31 {paralize a execução do programa por 2. 269 END. faça} 21 if c='C' then 22 begin 23 {inicialize o sistema randômico} 24 randomize. 6 {criação de um variável cont do tipo inteiro} 7 cont:integer. 15 {repita enquanto c for diferente de S} 16 while c<>'S' do 17 begin 18 {altere a cor do plano de fundo para azul} 19 textbackground(blue). 1 program Descobre_o_numero_correcto. r : integer. 4 {criação de duas variáveis n e r do tipo inteiro} 5 var n. 25 {atribua a variável R um valor aletório num intervalo de 1 a 50} 26 R := random(50). 10 {início do programa} 11 begin 12 {atribuindo valor as variáveis} 13 c:='C'. 20 {se c for igual a C. 27 {reconfigure a variável c com o valor de N} 28 c:='N'.000 milisegundos} . 2 {importação da biblioteca CRT} 3 uses crt. 8 {criação de um variável c que aceita um caractere} 9 c : char.

end {do contrário.32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 delay(2000).............. {se n for maior do que R ou menor do que 51 faça} if ((n > R) and (n<51)) then begin {pule uma linha} writeln... end {do contrário. {espera que o usuário insira algum valor} readln (n)......... faça} else if ((n < R) and (n<51)) then begin {pule uma linha} writeln.... {altere a cor do plano de fundo para azul} textbackground(blue)... {escreva no prompt do comando} write ('Escolha um numero = ').. {limpe a tela} clrscr.. {altere a cor do texto para branco} textcolor(white). {configure a cor do texto para vermelho} textcolor(red).... se N for menor do que R e N menor do que 51......... {configure a cor do plano de fundo para vermelho} textbackground(red)..... {caso N seja igual a R e cont for igual a um.. {escreva no prompt do comando} write ('Apenas numeros de 0 a 50!')...... {escreva no prompt do comando} write ('Escolha numeros maiores!')... {escreva no prompt do comando} write ('Parabens! Acertaste de primeira!')...... {escreva no prompt do comando} writeln ('.......... {altere a cor do texto para branco} textcolor(white)... se n for maior do que 50 faça} else if n>50 then begin {pule uma linha} writeln............... {escreva no prompt do comando} write ('Escolha numeros mais pequenos! ')............... {pule uma linha} writeln.. {espera que alguma tecla seja prescionada} readkey.. {altere a cor do texto para amarelo} textcolor(yellow)....... {escreva no prompt do comando} writeln ('Escolhe um numero de 0 a 50 com o minimo de tentativas possiveis {configure a cor do texto para vermelho} textcolor(red).......... end. .... faça} if ((n = R) and (cont=1)) then begin {altere a cor do texto para amarelo} textcolor(yellow). writeln ('..........

7 {criação de uma variável ind do tipo inteiro} 8 ind: integer. 103 repeat {inicie um loop} 104 {altere a cor do texto para verde} 105 textcolor(green). 112 {saia do loop se c for igual a C ou igual a S} 113 until ((c='C') or (c='S')) 114 end. 12 {um laço de repetição de vai do ind 1 até 5} 13 for ind:=1 to 5 do 14 begin 15 {escreve no prompt de comando} 16 write('Digite o '.5] of integer. 20 {escreve no prompt de comando} 21 writeln('Os valores negativos digitados sao: '). 1 Program cincovalores. 106 {escreva no prompt do comando} 107 write ('Pressione "S" se deseja sair ou "C" se deseja continuar a jo '). 117 end. 118 end. 2 {importação da biblioteca CRT} 3 uses crt.93 end 94 {do contrário. 4 var 5 {declaração de uma variável do tipo array de 5 colunas. 101 {escreva no prompt do comando} 102 writeln ('Parabéns! Acertaste em '.cont. 115 {incremente a variável cont com ela mesma +1} 116 cont:=cont+1. do tipo integer} 6 valores:array[1. 110 {torne esse mesmo caractere prescionado como maiúsculo com o uso do upcase} 111 c:=upcase(c).' valor: '). 9 begin 10 {limpa a tela} 11 clrscr. . 99 {altere a cor do texto para branco} 100 textcolor(white). se n = r faça} 95 else if n=r then 96 begin 97 {limpe a tela} 98 clrscr.ind. 19 end.. 108 {espera que alguma tecla seja prescionada e atribuida a variável c} 109 c:=readkey. 17 {espera que o usuário insira algum valor} 18 readln(valores[ind]).' tentativas').

14 {iniciando um loop} 15 while a<100000 do 16 begin 17 {realizando os cálculos} 18 a:= a+b.b : longint. 7 {início do programa} 8 begin 9 {limpa a tela} 10 clrscr. 30 end. 25 end. . 4 var 5 {criação de duas variáveis a e b do tipo inteiro} 6 a. 22 end. 2 {importação da biblioteca CRT} 3 uses CRT. 28 {esperando que alguma tecla seja pressionada para encerrar o programa} 29 readkey. 1 Program Binario. 11 {atribuindo valor as variáveis} 12 a:= 0. 23 {esperando que alguma tecla seja pressionada para encerrar o programa} 24 readkey. 20 {escreve no prompt de comando} 21 write(a.'.'). 13 b:=1. bin: integer. 2 {importação da biblioteca CRT} 3 uses crt. 4 var 5 {criação de variáveis do tipo inteiro} 6 valor. 19 b:= a-b. 1 program Fibonacci.' ').22 {um laço de repetição de vai do ind 1 até 5} 23 for ind:=1 to 5 do 24 {se condição verdadeira então faça} 25 if valores[ind]<0 then 26 {escreve no prompt de comando} 27 write(valores[ind].

{faça enquanto valor for maior do que zero} while (valor>0) do begin {se valor bin for menor ou igual a valor. {escreva no prompt de comando} writeln('Valor binario: '.'0'). resultado:=''.resultado). {escreva no prompt de comando} write('Digite um numero de ate 16384 para ser convertido em binario: ').7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 {criação de variáveis do tipo texto} resultado. acrescentei: string. faça} if(((bin>valor)and(resultado<>''))and(acrescentei<>'SIM')) then {concatene a resultado o caractere 0(zero)} resultado:=concat(resultado. end. {concatene resultado a o caractere 1} resultado:=concat(resultado. {configure acescentei como SIM} acrescentei:='SIM'. end. {atribui valores as variáveis} acrescentei:='NAO'. {faça enquanto valor for zero e bin for maior do que 1} while((valor=0) and (bin>1)) do begin {concatene resultado com 0} resultado:=concat(resultado. end. {espera que o usuário insira algum valor} readln(valor). end. {realizando a divisão de um inteiro por 2} bin:=bin div 2. begin {se bin for maior do que valor e resultado diferente de nada e se não não acrescentei nem um valor ainda. faça} if(bin<=valor) then begin {valor é ele mesmo menos bin} valor:=valor-bin. {INÍCIO DO PROGRAMA} begin {limpa a tela} clrscr. {CRIAÇÃO DE PROCEDURE} procedure divide.'1'). {realizando a divisão de um inteiro por 2} bin:=bin div 2. . {reconfigure a variável acrescentei agora como NAO} acrescentei:='NAO'.'0'). bin:=16384. inicialize a procedure} divide. {espera que o usuário prescione alguma tecla} readkey. end else {do contrário.

16 {criação de variáveis do tipo string} 17 resposta. 12 {criação de variáveis inteiras} 13 tamanho.tam] of string[2]. pergunta. 18 {Crição de um array encontrou do tipo string de tamanho tam 19 que é o valor da constate que foi rescentemente criada} 20 encontrou:array [1.. 32 33 procedure inicializa. 48 {atribuindo valor a variável novojogo} 49 novojogo:='x'. erros. 7 tam2=11. 46 {inicializando a procedure limpa} 47 limpa.opcao:char. 50 end. achou. 44 {atribuindo a variável tamanho o tamanho da string resposta} 45 tamanho:=length(resposta). 2 {importação da biblioteca CRT} 3 uses crt. chute. ind. 14 {criação de variáveis do tipo caracter} 15 letra. 8 var 9 {Crição de duas array frases e respotas do tipo string de tamanho tam2 10 que é o valor da constate que foi rescentemente criada} 11 frases. 23 24 {PROCEDIMENTOS} 25 procedure limpa.. 31 end. 42 {atribuinbo o array respostas na posição pergunta a variável resposta} 43 resposta:=respostas[pergunta].11] of char. 34 begin 35 {atribuindo valor a variável erros} 36 erros:=0. 37 {inicialização de um valor aleatório} 38 randomize. 51 52 procedure novo_jogo. letras: string.1 program jogo_da_forca. 39 {pegando um valor aleatório no intervalo de 1 a 11 e atribuindo 40 a variável pergunta} 41 pergunta:=random(11).respostas: array [1. 4 const 5 {criação de duas constantes} 6 tam=20. novojogo. 21 {criação de um array do tipo caractere de 11 colunas} 22 frase: array [1. 26 begin 27 {um laço de repetição de vai do ind 1 até o valor da variável tamanho} 28 for ind:=1 to tamanho do 29 {atribui ao array encontrou o valor (_ )na posição ind} 30 encontrou[ind]:='_ '.qtd: byte.tam2] of string.. 53 begin 54 {configurando a cor do texto} .

procedure fim_de_jogo. end. {configura a cor do texto} Textcolor(8). {pulando uma linha} writeln. end else {do contrário encerra-se o programa} exit. {inicializa procedimento} inicializa. {escreve no prompt do comando} write('Deseja jogar um novo jogo [s]im ou [n]ao?'). writeln(' _|_ '). begin {se a variável erros for igual a 1 faça} if erros=1 then begin {configura a cor do texto} textcolor(4). begin {laço de repetição do ind 1 ao 11} for ind:=1 to 11 do begin {configura a cor do texto} Textcolor(10). end. {esperando que o usuário pressione alguma tecla e atribuindo a variável novoj novojogo:=readkey. {escreve no prompt do comando} writeln(' (+L+)'). {fica num estado de espera de 300 mílisegundos} delay(300). procedure desenha. {tornando o caractere pressionado maiúsculo} novojogo:=upcase(novojogo). {configura a cor do texto} textcolor(8). {escreve no prompt do comando} write(frase[ind]). . {limpa tela} clrscr. {se a variável erros for igual a 2 faça} if erros=2 then begin {configura a cor do texto} textcolor(4).55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 textcolor(8). {escreve no prompt do comando} writeln(' (+L+)'). end. {inicializa procedimento} novo_jogo. {caso a variável novojogo seja S faça} if novojogo='S' then begin {atribui valor a variável letras} letras:=''. end.

171 frases[8]:='A musica polemica chamada "pega ladrao" e "filha da patria iludido" que autoria?'.frase[10]:='g'.frase[6]:='e'. 140 {escreve no prompt do comando} 141 writeln(' (+L+)'). 150 {pula a linha} 151 writeln. 138 {pula a linha} 139 writeln. 168 jamais voltara ao seu tamanho original"?'. 161 162 {atribui valores a variável frases das posições 1 a 11} 163 frases[1]:='Qual o melhor forum de informatica?'.frase[7]:=' '. 127 writeln(' | ').frase[5]:='d'.frase[11]:='o'. 153 154 begin 155 {atribui valores as variáveis achou e novojogo} 156 achou:='n'. 126 writeln(' _|_ '). 157 novojogo:='S'. 143 writeln(' | ').116 {configura a cor do texto} 117 textcolor(8). 147 {inicializa procedimento} 148 fim_de_jogo. 166 frases[4]:='Quem e o detentor da frase: "conhecimento e poder?"'. 169 frases[6]:='Qual a categoria de jogo mais jogada atualmente?'. 130 end. 118 end. 128 {configura a cor do texto} 129 textcolor(8).frase[9]:='o'. 131 {se a variável erros for igual a 4 faça} 132 if erros=4 then 133 begin 134 {limpa a tela} 135 clrscr. 124 {escreve no prompt do comando} 125 writeln(' (+L+)'). 173 frases[10]:='Qual a frequencia de leitura de livros de um brasileiro ao ano?'. 142 writeln(' _|_ '). 119 {se a variável erros for igual a 3 faça} 120 if erros=3 then 121 begin 122 {configura a cor do texto} 123 textcolor(4). 152 end. 136 {configura a cor do texto} 137 textcolor(4). 165 frases[3]:='Qual melhor linguagem de programacao atual?'. . 160 frase[8]:='J'. 170 frases[7]:='Qual politico morreu defendendo seu ideais?'. 167 frases[5]:='Quem e o detentor da frase: "Uma mente que se abre a uma nova ideia. 149 end. 164 frases[2]:='Qual a linguagem melhor que o flash e de tipagem fraca?'.frase[2]:='i'. 145 {configura a cor do texto} 146 textcolor(8). 172 frases[9]:='O HTML esta aos poucos sendo substituida por uma versao mais atual. 158 {atribui valores a variável frase das posições 1 a 11} 159 frase[1]:='F'.frase[4]:=' '. qual?'.frase[3]:='m'. 144 writeln(' / \ ').

writeln('[2]-Vou chutar a palavra'). respostas[7]:='MALCONX'. {escreve no prompt de comando o valor da variável encontrou na posição ind} write(encontrou[ind]). {escreve no prompt de comando} writeln('[1]-Vou chutar uma letra').1E28'). {escreve no prompt de comando o valor da variável letras} writeln(letras). . respostas[11]:='ONITORRINCO'. respostas[10]:='MEIO LIVRO'. respostas[9]:='XHTML'. {configura a cor do texto} textcolor(8). {configura a cor do texto} textcolor(10).174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 frases[11]:='Qual o mamifero de possui bico?'. {se novojogo for S faça} if novojogo='S' then {inicializa a procedure} inicializa. {atribui valores a variável respostas das posições 1 a 11} respostas[1]:='PCFORUM'. {configura a cor do texto} textcolor(9). end. {se erros maior do que zero faça} if erros>0 then begin {pula linha} writeln. respostas[3]:='JAVA'. respostas[2]:='JAVASCRIPT'. respostas[8]:='GABRIEL PENSADOR'. {pula linha} writeln. {pula linha} writeln. end. {pula linha} writeln. {configura a cor do texto} textcolor(8). respostas[4]:='FRANCIS BALCON'. {inicializa procedimento} desenha. {um laço de repetição de vai do ind 1 até tamnho} for ind:=1 to tamanho do begin {configura a cor do texto} textcolor(15). {INICIO DO JOGO} repeat {inicializa o laço de repetição} {limpa a tela} clrscr. writeln('[3]-Sair'). {escreve no prompt de comando o valor da variável frases na posição pergunta} writeln(frases[pergunta]). respostas[6]:='RPG'. respostas[5]:='ALBERT EINSTEN'. {escreve no prompt de comando} writeln('Jogo do milhao versao 0.

{escreve no prompt de comando} writeln('VOCE ERROU!'). {configura a variável erros} erros:=4. {inicializa a procedure} desenha. end {se opcao igual a 3 faça} else if opcao='3' then exit {saia do programa} {do contrário se opcao='1' faça} else if opcao='1' then begin {escreve no prompt de comando} write('Digite uma letra: '). {laço de repetição do ind 1 até o valor contido na variável tamanho} for ind:=1 to tamanho do begin {se o valor contido na variável letra for igual ao que estar contido na variável resposta faça} if letra=resposta[ind] then begin {configure a variável achou} achou:='s'. {esperando queo usuário digite algo} readln(chute). {inicializa a procedure} novo_jogo. {se opcao=2 faça} if opcao='2' then begin {escreve no prompt de comando} write('Digite a plavra: ').letra). {tornando maiúscula(caixa alta)} letra:=upcase(letra). {esperando que o usuário pressione alguma tecla e atribuindo a variável le letra:=readkey. {fazendo a concatenação de letras com letra e atribuindo a variável letras letras:=concat(letras. end else{do contrário faça} begin {configura a cor do texto} textcolor(3). {se as duas variáveis tirem os mesmos valores faça} if (resposta=chute) then begin {configura a cor do texto} textcolor(3). . {escreve no prompt de comando} writeln('PARABENS VOCE ACERTOU!!!').235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 {esperando que o usuário pressione alguma tecla e atribuindo a variável opcao opcao:=readkey. end. {atribua o valor letra na variável encontrou na posição ind} encontrou[ind]:=letra. {laço de repetição do ind 1 até o valor contido na variável tamanho} for ind:=1 to tamanho do {atribuindo na variável chute na posição ind o valor do caractere em caixa alta na mesma posição} chute[ind]:=upcase(chute[ind]).' '.

2 {importação da biblioteca CRT} 3 uses crt. 298 {se valor de tamanho for igual ao valor de qtd faça} 299 if tamanho=qtd then 300 begin 301 {configura a cor do texto} 302 textcolor(15). 306 {escreve no prompt de comando} 307 writeln(resposta). 308 {configura a cor do texto} 309 textcolor(3). 303 {pula linhas} 304 writeln. 305 writeln. 324 end. 315 end. 314 end. 317 {se achou for igual a n faça} 318 if achou='n' then 319 begin 320 {atribua o valor de erros a ela mesma +1} 321 erros:=erros+1. 4 var 5 {criação da variável sexo do tipo caracter} 6 sexo:char. 328 {saia do laço de repetição se novojogo for igual a N} 329 until (novojogo='N').296 {atribua a qtd o valor dela mesma +1} 297 qtd:=qtd+1. 312 {inicializa a procedure} 313 novo_jogo. 330 end. 9 {criação da variável peso do tipo ponto flutuante} . 325 {configura a variável achou} 326 achou:='n'. 327 end. 7 {criação da variável altua do tipo inteiro} 8 altura:integer. 1 program peso_ideal. 316 end. 322 {inicializa procedure} 323 desenha. 310 {escreve no prompt de comando} 311 writeln('PARABENS VOCE ACERTOU!!! ').

concatena: array [1. 1 program exemplo. 18 {tornando maiúscula(caixa alta)} 19 sexo:=upcase(sexo).5] of string. 36 end.. 9 {criação da variável letras do tipo string com espaço para 2 caracteres} 10 letras: string[2]. 18 begin 19 {escreve no prompt do comando uma frase} 20 writeln('Digite 5 palavras ou frases.48. 13 {criação das variáveis ind e tamanho do tipo inteiro} 14 ind. 20 {escreve no prompt do comando} 21 write('Digite a altura em CM:').58 28 {do contrário se sexo contiver F faça} 29 else if(sexo='F') then 30 {realize o cálculo do peso ideal} 31 peso:= ((62. 11 {criação da variável palavra do tipo string} 12 palavra: string. 11 begin 12 {limpa a tela} 13 clrscr. 14 {escreve no prompt do comando} 15 writeln('Escolha o sexo: (F)eminino (M)asculino'). caso deseje concatenar acrescente o &') 21 for ind:=1 to 5 do 22 begin 23 {escreve no prompt do comando uma frase e a variável ind} . 2 {importação da biblioteca CRT} 3 uses crt. 32 {escreva no prompt do comando + o valor da variável com 3 casas decimais e 2 o ponto} 33 writeln('Seu peso ideal: '.10 peso:real.peso:3:2).7 * altura)/100) . 15 16 {inicialização contenasao} 17 procedure concatenasao. 16 {esperando que o usuário pressione alguma tecla e atribuindo o caractere a variável sexo} 17 sexo:=readkey. maiuscula: array [1. 22 {esperando queo usuário digite algo e atribua a variável altura} 23 readln(altura). 24 {se sexo contiver M faça} 25 if(sexo='M') then 26 {realize o cálculo do peso ideal} 27 peso:= ((72.7 * altura)/100) . tamanho: integer. 4 var 5 {criação de arrays palavras e concatena do tipo string com 5 colunas} 6 palavras. 7 {criação de arrays maiuscula e minscula do tipo char com 26 colunas} 8 minuscula.. 34 {espera que algo seja teclado para finalizar o programa} 35 readkey.26] of char.

{inicio da procedure capslock} procedure capslock.tamanho-1). end.ind. end. {esperando que o usuário digite algo e atribua a variável letras} readln(letras).24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 write('Digite a '. {do ind 1 até 5. possuir algum va if(concatena[ind]<>'') then begin {modifique a cor do texto} textcolor(10). {se o últio caractere for & faça} if(palavra[tamanho]='&') then begin {atribua o valor a variável palavra da posição 1 até tamanho-1 Excluindo desta forma o valor &} palavra:= copy(palavra. {pula a linha} writeln. {atribuindo valores vazios a todas as posições do array concatena} concatena[ind]:=''. {esperando que o usuário digite algo e atribua ao array palavras na posiçã readln(palavras[ind]). substitua por uma letra maiúscula} letras[2]:=maiuscula[ind]. end. end. {condição para só imprimir na tela se o array concatena. concatena[ind]:=concat(palavra. faça} for ind:=1 to 26 do begin {se o valor em letras na posição 1 for igual ao do array minuscula na posi if(letras[1]=minuscula[ind]) then {substitua por uma letra maiúscula} letras[1]:=maiuscula[ind]. o tamanho do valor que estar armazenado no a palavras na posição ind} tamanho:=length(palavras[ind]).' frase ou palavra: '). {do ind 1 até 26. faça} for ind:=1 to 5 do begin {atribua a variável tamanho. {escreve no prompt do comando o array concatena na posição ind} writeln(concatena[ind]). {modifique a cor do texto} textcolor(14). end. begin {escreve no prompt do comando uma frase} write('Digite duas letrinhas minusculas: '). {escreve no prompt do comando uma frase e a variável letras} . palavras[ind+1]).1. {verifique se o mesmo caractere se econtra na posição 2} if(letras[2]=minuscula[ind]) then {caso afirmativo. {modifique a cor do texto} textcolor(7). {atribua o valor armazenado no array palavras na posição ind a variável p palavra:=palavras[ind]. end. {pula a linha} writeln.

maiuscula[12]:='L'.maiuscula[15]:='O'.letras).maiuscula[21 101 maiuscula[2]:='B'.maiuscula[20]:='T'.maiuscula[18]:='R'.minuscula[13]:='m'. 89 90 begin 91 {atribua valores a a-z minúsculos no array minuscula} 92 minuscula[1]:='a'.maiuscula[14]:='N'.minuscula[2 97 minuscula[26]:='w'.minuscula[17]:='q'. 106 {limpa a tela} 107 clrscr.maiuscula[11]:='K'.maiuscula[13]:='M'.maiuscula[23 103 maiuscula[4]:='D'. . 111 {espera que algo seja teclado para finalizar o programa} 112 readkey.minuscula[10]:='j'.minuscula[23 95 minuscula[4]:='d'.maiuscula[24 104 maiuscula[5]:='E'.minuscula[12]:='l'.minuscula[11]:='k'.minuscula[16]:='p'. 110 capslock.minuscula[20]:='t'.maiuscula[6]:='F'.minuscula[18]:='r'.maiuscula[19]:='S'. 4 var 5 {criação das variáveis linha.minuscula[19]:='s'.maiuscula[16]:='P'.coluna.minuscula[21 93 minuscula[2]:='b'.maiuscula[17]:='Q'. 113 end.maiuscula[22 102 maiuscula[3]:='C'.maiuscula[8]:='H'.minuscula[9]:='i'.minuscula[6]:='f'.minuscula[7]:='g'.maiuscula[10]:='J'. 98 99 {atribua valores a A-Z maiúsculos no array maiuscula} 100 maiuscula[1]:='A'.minuscula[14]:='n'.maiuscula[7]:='G'.maiuscula[9]:='I'. 1 program desenha_quadrado.minuscula[22 94 minuscula[3]:='c'. 88 end.minuscula[24 96 minuscula[5]:='e'. 2 {importação da biblioteca CRT} 3 uses crt.minuscula[15]:='o'.maiuscula[2 105 maiuscula[26]:='W'.minuscula[8]:='h'. coluna e ind do tipo inteiro} 6 linha. ind: byte. 108 {chamando os procedimentos concatenasao e capslock} 109 concatenasao.85 write('Resultado: '. 86 {modifique a cor do texto} 87 textcolor(7).

frase[16]:='Z'. 23 {imprimindo uma frase no prompt de comand} 24 write('Digite a posisao da coluna entre 4 a 66: '). 17 {comando que limpa a tela} 18 clrscr.frase[12]:='N'.frase[18]:='D'. .linha+5). 50 {200 +} 51 write(CHR(200)). frase[14]:='L'.linha).linha+ind). 9 begin 10 {configurando da cor do texto para cinza claro} 11 textcolor(7). 12 {atribuindo caractere no array frase. 45 {187 +} 46 write(CHR(187)). frase[9]:=' '.linha+5). 25 {esperando que o usuário digite algo para ser atribuído a variável coluna} 26 readln(coluna).frase[8]:='A'.linha). 14 frase[7]:='M'. 58 59 60 for ind:=1 to 4 do 61 begin 62 {barra na linha vertical inicial 63 na posição da coluna até linha + ind} 64 gotoxy(coluna. 57 delay(200).19] of char.frase[15]:='I'. 48 49 gotoxy(coluna. em suas posições} 13 frase[1]:='P'. 16 frase[19]:='O'. 47 delay(200). 41 42 {Ocorre o mesmo com os demais} 43 44 gotoxy(coluna+10. 27 {validano o limite dos valores nas variáveis coluna e linha} 28 if((linha<1) or (linha>19)) then 29 linha:=10.frase[6]:='A'.frase[3]:='O'. 21 {esperando que o usuário digite algo para ser atribuído a variável linha} 22 readln(linha). 15 frase[13]:='A'. 52 delay(200). 55 {188 +} 56 write(CHR(188)). 32 33 {Estes serão os cantos da moldura} 34 35 {posiciona o cursor na tela} 36 gotoxy(coluna.frase[5]:='R'. 19 {imprimindo uma frase no prompt de comand} 20 write('Digite a posisao da linha entre 1 a 19: ').. 37 {escreve o caractere 201 (+) na posição especificada} 38 write(CHR(201)). 39 {paraliza o programa por 200 milisegundos} 40 delay(200).frase[17]:='A'.frase[2]:='R'.frase[11]:='I'.frase[4]:='G'.7 {criação de uma variável array frase do tipo charactere} 8 frase: array[1. 30 if((coluna<4) or (coluna>66)) then 31 coluna:=33. 53 54 gotoxy(coluna+10. frase[10]:='F'.

linha+ind). 97 delay(200). 73 {configura a cor do texto para conza claro} 74 textcolor(7).linha+6). 83 end. 68 69 {configura a cor do texto para azul} 70 textcolor(blue). 116 end.linha). 111 end. 80 {escreva o caractere (186 ¦)} 81 write(CHR(186)). 67 delay(200). 71 {escreve uma palavra dentro do quadrado} 72 write(' PCFORUM'). 84 for ind:=1 to 9 do 85 begin 86 {barra da linha horizontal inicial 87 na posição da linha até coluna + ind} 88 gotoxy(coluna+ind. até linha + ind} 79 gotoxy(coluna+10. 76 77 {barra da linha vertical final 78 na posição da coluna + 10. 109 {escreva o conteúdo armazenado no array frase} 110 write(frase[ind]).65 {escreva o caractere (186 ¦)} 66 write(CHR(186)). 98 end. 114 {aguarde 1000 milisegundos. 92 {barra da linha vertical final 93 na posição da linha + 5. 75 delay(200). 104 105 {inicializa um laço de repetição do ind 1 até 19} 106 for ind:=1 to 19 do 107 begin 108 delay(200). 91 delay(200).linha+5). 99 {reposiciona o cusor 4 colunas atrás e 6 linhas depois da 100 posição determinada pelo usuário} 101 gotoxy(coluna-4. 102 {configura a cor do texto para amarelo} 103 textcolor(14). 82 delay(200). 89 {escreva o caractere (205 -)} 90 write(CHR(205)). até coluna + ind} 94 gotoxy(coluna+ind. que equivale a 1 segundo para terminar o programa} 115 delay(1000). . 112 {reconfigure a cor do texto como cinza claro} 113 textcolor(7). 95 {escreva o caractere (205 -)} 96 write(CHR(205)).

igual do tipo inteiro} 8 tamanhoA.tamanhoB. 23 {esperando que o usuário digite algo para ser atribuído a variável b} 24 readln(b).ind. 16 igual:=0. b do tipo texto} 6 a. 19 {esperando que o usuário digite algo para ser atribuído a variável a} 20 readln(a). 9 10 {incío do programa} 11 begin 12 {limpa a tela} 13 clrscr.b: string. 21 {imprimindo uma frase no prompt de comand} 22 write('Digite o que queres procurar na frase: '). 28 {inicia um loop do ind 1 até o tamanho da variável a} 29 for ind:=1 to tamanhoA do 30 begin 31 {se o primeiro caractere for igual ao primeiro caractere de b. 7 {criação das variáveis tamanhoA. encontrou. 17 {imprimindo uma frase no prompt de comand} 18 write('Digite uma frase: '). 14 {atribuições iniciais nas variaveis encontrou e igual} 15 encontrou:=0.1 program localiza. 2 {importação da biblioteca CRT} 3 uses crt. ind2. 4 var 5 {criação das variáveis a. ind. faça} 32 if(a[ind]=b[1]) then 33 begin 34 {inicia um loop do ind2 0 até o tamanho da variável B} 35 for ind2:=0 to tamanhoB do 36 begin . ind2. igual: integer. encontrou. 25 {armazena o tamanho do texto contido nas variáveis a e b} 26 tamanhoA:= length(a). 27 tamanhoB:= length(b).tamanhoB.

50 {Imprima o resultado na tela} 51 write('Encontrados: '. 48 end. . 54 end. faça} 43 if (igual=tamanhoB) then 44 {atribua o valor da variável encontrou a ela mesma +1} 45 encontrou:=encontrou+1. 46 {zere a variável igual para começar uma nova busca} 47 igual:=0.37 {se o texto contido em a na posição ind + ind2 for igual ao ind2+1. 52 {espera que algo seja precionado para finalizar o programa} 53 readkey. 41 end.encontrou). 38 if(a[ind+ind2]=b[ind2+1]) then 39 {atribua o valor da variável igual a ela mesma +1} 40 igual:=igual+1. 42 {se o valor de igual for igual ao valor do tamanho de b. 49 end.