Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem Computacional Pascal Página: 1 Prof. Juarez Barboza da Cunha AULAS PRÁTICAS - PROBLEMAS PROPOSTOS 1ª aula: Conhecendo o Editor Pascal 1) Faça um programa para solicitar um número, calcular e informar o seu dobro. program prgv101; uses crt; var num, dob : integer; begin clrscr; write(‘Digite o número: ‘); readln(num); dob:=num*2; write(‘O dobro é: ‘,dob); repeat until keypressed; end. 2) Elabore um programa para pedir um número, calcular e escrever a raiz quadrada e o quadrado deste número. program prgv102; uses crt; var n, quad : integer; raiz : real; begin clrscr; write('Qual é o número? '); readln(n); raiz:=sqrt(n); quad:=sqr(n); writeln('A raiz quadrada é: ',raiz:4:1); write ('O quadrado é: ',quad); repeat until keypressed; end. 3) Crie um programa para solicitar dois números e informar a média aritmética e a metade da diferença entre eles. program prgv103; uses crt; var n1,n2 : integer; med,metdif : real; begin clrscr; write('Primeiro número: '); readln(n1); Linguagem Computacional Pascal Página: 2 Prof. Juarez Barboza da Cunha write('Segundo número: '); readln(n2); med:=(n1+n2)/2; metdif:=(n1-n2)/2; writeln('A média aritmética é: ',med:3:3); write('A metade da diferença é: ',metdif:3:1); repeat until keypressed; end. 4) Faça o algoritmo de um programa para ler (pedir) o nome e o salário de um empregado. Calcular e descontar 8% do seu salário. Informar o valor do desconto e o salário líquido a receber. program prgv104; uses crt; var nome : string; sal, desc, saliq : real; begin clrscr; write('Nome: '); readln(nome); write('Salário: '); readln(sal); desc:=sal*8/100; saliq:=sal-desc; writeln('Desconto de 8% = ',desc:5:2); writeln('Salário líquido = ',saliq:5:2); repeat until keypressed; end. Linguagem Computacional Pascal Página: 3 Prof. Juarez Barboza da Cunha 2ª aula: A Estruturas Sequencia 5) Crie um algoritmo para ler a matrícula, o nome e o salário de dois empregados. Descontar 5% no salário do primeiro e acrescentar 9% no salário do segundo. Informar: - o valor do desconto do primeiro; - o valor do acréscimo do segundo; - salário final do primeiro; - salário final do segundo. program prgv105; uses crt; var nome1, nome2 : string; mat1, mat2 : integer; sal1, sal2, desc5, acre9, salf1, salf2 : real; begin clrscr; writeln('DADOS DO PRIMEIRO EMPREGADO: '); write('Matrícula: '); readln(mat1); write('Nome: '); readln(nome1); write('Salário: '); readln(sal1); writeln('DADOS DO SEGUNDO EMPREGADO: '); write('Matrícula: '); readln(mat2); write('Nome: '); readln(nome2); write('Salário: '); readln(sal2); desc5:=sal1*0.05; salf1:=sal1-desc5; acre9:=sal2*0.09; salf2:=sal2+acre9; writeln('Desconto de 5% no salário do primeiro = ',desc5:5:2); writeln('Salário final do primeiro = ',salf1:5:2); writeln('Acréscimo de 9% no salário do segundo = ',acre9:5:2); write('Salário final do segundo = ', salf2:5:2); repeat until keypressed; end. 9) O camelô Zé da Banca vende diariamente, games, calculadoras e canetas. Faça um programa para solicitar o total de games, o total de calculadoras e o total de canetas vendidas ao término do dia. Calcular e informar: - o total do faturamento com games; - o total do faturamento com calculadoras; - o total do faturamento com canetas; - o faturamento total. Obs.: Game = R$ 15,00 Caneta = R$ 1,50 Linguagem Computacional Pascal Página: 4 Prof. Juarez Barboza da Cunha Calculadora = R$ 10,00 program prgv109; uses crt; var totgam, totcalc, totcan : integer; fatgam, fatcal, fatcan, fatot : real; begin clrscr; write('Total de games: '); readln(totgam); write('Total de calculadoras: '); readln(totcal); write('Total de canetas: '); readln(totcan); fatgam:=totgam*15.00; fatcal:=totcal*10.00; fatcan:=totcan*1.50; fatot:=fatgam+fatcal+fatcan; writeln('Faturamento com games: ',fatgam:5:2); writeln('Faturamento com calculadoras: ',fatcal:5:2); writeln('Faturamento com canetas: ',fatcan:5:2); write('Faturamento total: ',fatot:5:2); repeat until keypressed; end. 12) Fazer um algoritmo que dado o valor da temperatura em graus FARENHEIT, calcular e escrever o valor da temperatura em graus CELSIUS. 5 (F 32) 9 program prgv112; uses crt; var gf, gc : integer; begin clrscr; write('Temperatura em graus Farenheit = '); readln(gf); gc:=(5/9)*(gf-32); write('Temperatura em graus Celcius = ',gc); repeat until keypressed; end. C = Linguagem Computacional Pascal Página: 5 Prof. Juarez Barboza da Cunha 14) Fazer um algoritmo que, dado o raio, calcule e imprima a área do setor circular. R² 360 = 3,14 program prgv114; uses crt; var s, r : real; begin clrscr; write(' Raio = '); readln(r); s:=(3.14*sqr(r))/360; writeln('Área do setor circular = ',s:2:2); repeat until keypressed; end. S = Linguagem Computacional Pascal Página: 6 Prof. Juarez Barboza da Cunha 3ª aula: A Estruturas Condicional: simples e composta 1) Faça um programa para solicitar o nome e a idade de uma pessoa. Se sua idade for menor que 18 anos, escrever a mensagem: “É menor”. program prgv201; uses crt; var nome : string; id : integer; begin clrscr; write('Nome: '); readln(nome); write('Idade: '); readln(id); if id<18 then write('É menor'); repeat until keypressed; end. 3) Faça um programa para solicitar o nome e as duas notas de um aluno. Calcular sua média e informá-la. Se ela for inferior a 7.0, escrever “Reprovado”; caso contrário, escrever “Aprovado”. program prgv203; uses crt; var nome : string; n1, n2, med : integer; begin clrscr; write('Digite o nome: '); readln(nome); write('Digite a primeira nota: '); readln(n1); write('Digite a segunda nota: '); readln(n2); med:=(n1+n2) div 2; write('Média = ',med); if med<70 then write(' reprovado') else write(' aprovado'); repeat until keypressed; Linguagem Computacional Pascal Página: 7 Prof. Juarez Barboza da Cunha end. 6) Elabore um programa para solicitar o nome, o sexo e o salário de um empregado. Se o seu sexo for masculino, descontar 5% do seu salário; caso contrário, descontar 3%. Informar o valor do desconto e o salário líquido a receber. program prgv206; uses crt; var nome : string; sexo : char; saliq, sal, desc : real; begin clrscr; write('Nome: '); readln(nome); write('Sexo: '); readln(sexo); write('Salário: '); readln(sal);if sexo='m' then desc:=sal*0.05 else desc:=sal*0.03; saliq:=sal-desc; writeln('Desconto de = ',desc:5:2); writeln('Salário líquido = ',saliq:5:2); repeat until keypressed; end. 9) Faça um programa para ler o valor do salário mínimo, e o nome e salário bruto de um empregado. Se o seu salário for menor que um salário mínimo, descontar R$2,00; se for igual, descontar 5%, e se for superior, descontar 8%. Informar o valor do desconto e o salário líquido. program prgv209; uses crt; var nome : string; salmin, salb, desc, saliq : real; begin clrscr; write('Nome : '); readln(nome); write('Salário mínimo: '); readln(salmin); write('Salário bruto: '); readln(salb); if salb<salmin then desc:=2.00 Linguagem Computacional Pascal Página: 8 Prof. Juarez Barboza da Cunha else if salb=salmin then desc:=salb*0.05 else desc:=salb*0.08; saliq:=salb-desc; writeln('Desconto = ',desc:5:2); writeln('Salário líquido = ',saliq:5:2); repeat until keypressed; end. Linguagem Computacional Pascal Página: 9 Prof. Juarez Barboza da Cunha 4ª aula: A Estrutura CASE (CASO) 1) Um programa para solicitar o nome, o código da função e o salário de um empregado. Calcular e informar o valor do desconto para a Associação dos Funcionários e o seu salário após o referido desconto, conforme tabela abaixo: CÓDIGO DA FUNÇÃO DESCONTO (%) 100 3 200 5 600 7 700 10 900 15 Obs.: Considere que somente serão digitados os códigos constantes na tabela. program prgiii01; uses crt; var nome : string; codf : integer; sal, desc, salfinal : real; begin clrscr; write('Nome: '); readln(nome); write('Código da Função : '); readln(codf); write('Salário Base....: '); readln(sal); case codf of 100 : desc:=sal*0.03; 200 : desc:=sal*0.05; 600 : desc:=sal*0.07; 700 : desc:=sal*0.10; 900 : desc:=sal*0.15; end; salfinal:=sal-desc; writeln('Valor do desconto = ',desc:5:2); writeln('Salário Final = ',salfinal:5:2); repeat until keypressed; end. Linguagem Computacional Pascal Página: 10 Prof. Juarez Barboza da Cunha 2) Para verificar o seu planeta regente e a sua cor de sorte, é usada a tabela abaixo, de acordo com o mês de nascimento: MÊS PLANETA / COR 1, 5, 9 Saturno / Verde 2, 6, 10 Vênus / Azul 3, 7, 11 Júpiter / Vermelho 4, 8, 12 Marte / Amarelo Faça um programa para solicitar o nome e o mês de nascimento de uma pessoa e informe seu planeta regente e sua cor de sorte. Obs.: Emitir mensagem de erro caso seja digitado o mês errado (fora do intervalo de 1 a 12 meses, inclusive). program prgiii02; uses crt; var nome : string; mes : integer; begin clrscr; write('Nome : '); readln(nome); write('Mês de Nascimento: '); readln(mes); case mes of 1, 5, 9 : write('Saturno/Verde'); 2, 6,10 : write('Venus /Azul'); 3, 7,11 : write('Júpiter /Vermelho'); 4, 8,12 : write('Marte /Amarelo'); else write ('Mês inválido !!!'); end; repeat until keypressed; end. 3) Elaborar um programa para ler a matrícula e as duas notas de um aluno. Calcular e informar sua média. Informar também o seu conceito conforme tabela: MÉDIA CONCEITO de 0 a 49 Insuficiente de 50 a 69 Regular de 70 a 89 Bom acima de 89 Excelente Obs.: Considere que as notas terão valores de 0 a 100 e serão digitadas corretas. program prgiii03; uses crt; var Linguagem Computacional Pascal Página: 11 Prof. Juarez Barboza da Cunha matr, n1, n2, med : integer; begin clrscr; write('Matrícula: '); readln(matr); write('1a. Nota: '); readln(n1); write('2a. Nota: '); readln(n2); med:=(n1+n2) div 2; write('Media .... : ',med); case med of 0 .. 49 : write(' Insuficiente'); 50 .. 69 : write(' Regular'); 70 .. 89 : write(' Bom'); 90 .. 100: write(' Ótimo'); end; repeat until keypressed; end. Linguagem Computacional Pascal Página: 12 Prof. Juarez Barboza da Cunha 5ª aula: A Estrutura FOR (PARA) 1) Faça um programa para solicitar o nome e as duas notas de 50 alunos e, para cada um deles, calcular e escrever a sua média. Início PRGV401 declare NOME literal I, N1, N2, MED numérico PARA I DE 1 ATÉ 50 FAÇA | escreva “Nome : “ leia NOME | escreva “Nota-1: “ leia N1 | escreva “Nota-2: “ leia N2 | MED (N1 + N2) / 2 | escreva “A media e “,MED FIM PARA Fim PRGV401 program prgv401; uses crt; var nome : string; i : integer; n1, n2, med : real; begin clrscr; for i:=1 to 50 do begin write('Nome: '); readln(nome); write('Nota-1: '); readln(n1); write('Nota-2: '); readln(n2); med:=(n1+n2)/2; writeln('A media e ',med:2:1); writeln; end; repeat until keypressed; end. Linguagem Computacional Pascal Página: 13 Prof. Juarez Barboza da Cunha 3) Elabore um programa que solicite o código, a quantidade em estoque e o preço unitário (em reais) de 200 produtos. Para cada um deles, calcular e informar o valor total do estoque. Início PRGV403 declare COD, QDE, PRECO, VREST, I numérico PARA I DE 1 ATÉ 200 FAÇA | escreva “Código: “ leia COD | escreva “Quantidade: “ leia QDE | escreva “Preço Unitário : “ leia PRECO | VREST QDE * PRECO | escreva “Valor do Estoque = “,VREST FIM PARA Fim PRGV403 program prg303; uses crt; var cod : string; qde,i : integer; preco, vrest : real; begin clrscr; for i:=1 to 200 do begin write('Código: '); readln(cod); write('Quantidade: '); readln(qde); write('Preço Unitário: '); readln(preco); vrest:=qde*preco; writeln('Valor do Estoque: ',vrest:5:2); writeln; end; repeat until keypressed; end. 6) Elabore um algoritmo para solicitar o nome, as notas do primeiro e do segundo teste, e a nota da prova de uma turma com 39 alunos. Para cada aluno, escrever sua soma de notas e o seu conceito, segundo a tabela abaixo. Linguagem Computacional Pascal Página: 14 Prof. Juarez Barboza da Cunha SOMA DAS NOTAS CONCEITO 0 a 59 “I” 60 a 79 “R” 80 a 89 “B” 90 a 100 “E” Obs.: Considere que a soma das notas estará sempre no intervalo mostrado na tabela, ou seja, de 0 a 100. Início PRGV406 declare NOME literal TESTE1, TESTE2, PROVA, SOMA, X numérico PARA X DE 1 ATÉ 39 FAÇA | escreva “Nome: “ leia NOME | escreva “1º Teste: “ leia TESTE1 | escreva “2º Teste: “ leia TESTE2 | escreva “Prova: “ leia PROVA | SOMA TESTE1 + TESTE2 + PROVA | escreva “Soma = “,SOMA | CASO SOMA DE | | 0 ..49 : escreva “I” | | 50.. 69 : escreva “R” | | 70.. 89 : escreva “B” | | 90..100 : escreva “E” | FIM CASO FIM PARA Fim PRGV406 program prgv406; uses crt; var nome : string; teste1, teste2, prova, soma, x : integer; begin clrscr; for x:=1 to 39 do begin write('Nome: '); readln(nome); write('1º Teste: '); readln(teste1); write('2º Teste: '); readln(teste2); write('Prova: '); readln(prova); soma:=teste1+teste2+prova; writeln('Soma = ',soma); Linguagem Computacional Pascal Página: 15 Prof. Juarez Barboza da Cunha case soma of 0 .. 49 : write(' I ') 50 .. 69 : write(' R '); 70 .. 89 : write(' B '); 90 .. 100: write (' E '); end; writeln; end; repeat until keypressed; end. 6ª aula: A Estrutura WHILE (ENQUANTO) 2) Faça um programa que leia o nome e as duas notas de n alunos, calcule e escreva a média de suas notas. Início PRGV402 declare NOME, RESP literal N1, N2, MED numérico RESP “S” ENQUANTO RESP = “S” FAÇA | escreva “Nome: “ leia NOME | escreva “1ª Nota: “ leia N1 | escreva “2ª Nota: “ leia N2 | MED (N1 + N2) / 2 | escreva “Media = “,MED | escreva “Para continuar digite ‘S’...: “ leia RESP FIM ENQUANTO Fim PRGV402 program prgv404; uses crt; var resp : char; sal, desc, saliq : real; begin clrscr; resp:='S'; while resp='S' do begin Linguagem Computacional Pascal Página: 16 Prof. Juarez Barboza da Cunha write('Matricula: '); readln(matr); write('1a.Nota: '); readln(n1); write('2a.Nota: '); readln(n2); med:=(n1+n2)/2; writeln('Media = ',med:2:1); write('Para continuar digite "S"... '); readln(resp); writeln; end; repeat until keypressed; end. 4) Crie um algoritmo para solicitar a matrícula e o salário de certa quantidade de empregados e, para cada um deles, descontar 8% e informar o valor do desconto e o salário líquido. Início PRGV404 declare MATR, SAL, DESC, SALIQ numérico RESP literal RESP “S” ENQUANTO RESP=”S” FAÇA | escreva “Matricula: “ leia MATR | escreva “Salario: “ leia SAL | DESC SAL * 0,08 | SALIQ SAL – DESC | escreva “8% de Desconto = “,DESC | escreva “Salário Liquido = “,SALIQ | escreva “Para continuar digite ‘S’...: “ leia RESP FIM ENQUANTO Fim PRGV404 program prgv404; uses crt; var matr : integer; resp : char; sal, desc, saliq : real; begin clrscr; resp:='S'; while resp='S' do begin write('Matricula: '); readln(matr); Linguagem Computacional Pascal Página: 17 Prof. Juarez Barboza da Cunha write('Salario: '); readln(sal); desc:=sal*0.08; saliq:=sal-desc; writeln('8% de Desconto = ',desc:5:2); writeln('Salario Liquido = ',saliq:5:2); write('Para continuar digite "S"... '); readln(resp); writeln; end; repeat until keypressed; end. 5) Crie um programa que solicite o n° de inscrição, o sexo e os três saltos de atletas que participaram de uma competição de salto em distância. Se o atleta for do sexo masculino, escrever seu nº de inscrição e seus saltos; se for do sexo feminino, escrever seu nº de inscrição e a média dos seus saltos. Início PRGV405 declare SEXO, RESP literal NRO, S1, S2, S3, MED numérico RESP “S” ENQUANTO RESP=”S” FAÇA | escreva “Numero: “ leia NRO | escreva “Sexo: “ leia SEXO | escreva “1º Salto: “ leia S1 | escreva “2º Salto: “ leia S2 | escreva “3º Salto: “ leia S3 | SE SEXO = “M” | | ENTÃO | | escreva “Numero: “,NRO | | escreva “1º Salto: “,S1 | | escreva “2º Salto: “,S2 | | escreva “3º Salto: “,S3 | | SENÃO | | MED (S1 + S2 + S3) / 3 | | escreva “Numero: “,NRO | | escreva “Media: “,MED | FIM SE | escreva “Para continuar digite ‘S’...: “ leia RESP FIM ENQUANTO Linguagem Computacional Pascal Página: 18 Prof. Juarez Barboza da Cunha Fim PRGV405 program prgv405; uses crt; var nro : integer; resp, sexo : char; s1, s2, s3, med : real; begin clrscr; resp:='S'; while ((resp='S')or(resp='s')) do begin write('Numero: '); readln(nro); write('Sexo: '); readln(sexo); write('1o. Salto: '); readln(s1); write('2o. Salto: '); readln(s2); write('3o. Salto: '); readln(s3); if sexo=’M’ then begin writeln('Numero = ',nro); writeln('1o. Salto = ',s1:1:2); writeln('2o. Salto = ',s2:1:2); writeln('3o. Salto = ',s3:1:2); end else begin med:=(s1+s2+s3)/3; writeln('Numero = ',nro); writeln('Media = ',med:1:2); end; write('Para continuar digite "S"... '); readln(resp); writeln; end; writeln(’FIM’); repeat until keypressed; end. Obs.: Game = R$ 15,00
Compartilhar