Listagem 9 – Seleção com N Vias
Repetição com Teste Antecipado
Usa-se a Repetição com Teste Antecipado quando há a necessidade de tomar uma decisão com base no valor lógico de uma expressão. A mesma ação será executada repetidamente enquanto o resultado da expressão lógica se mantiver verdadeiro. O teste da expressão lógica precede a ação. O teste funciona como uma condição de parada das repetições.
No exemplo da Figura 6 a Ação 1 será executada sempre que a Decisão retornar um valor verdadeiro. Decisão Entrada Ação 1 Verdade Saída Falso
Repetição com Teste Postergado
A Repetição com Teste Postergado é semelhante à anterior, mudando apenas quando efetuar o teste, que é após a Ação. A Figura 7 exemplifica isso.
Condição Entrada Ação Verdade Falso Saída
Listagem 11 – Repetição com Teste Postergado
Exemplos
Exemplo 1: Como calcular as raízes de uma equação do primeiro grau? Sabe-se que a forma da equação de 1º grau é: y = ax + b
A descrição da solução em linguagem natural pode ser:
1. Início do Algoritmo Raízes a. Obter o coeficiente a
b. Se a é igual a zero, informar que não há raízes para a equação e terminar o algoritmo.
c. Obter o coeficiente b
d. Calcular o valor de x quando y é zero: x = -b / a i. Fornecer como resultado o valor de x e. Terminar o algoritmo.
2. Fim do Algoritmo Raízes
Início Fim Ler a Obter b NÃO a = 0 Não há raiz para a equação SIM x = -b/a Exibe x
Listagem 12 – Equação do 1º Grau
Exemplo 2: Determinar os tipos dos triângulos em função da quantidade de lados. Equilátero: possui todos os lados iguais.
Isósceles: possui pelo menos dois lados iguais. Escaleno: possui os três lados diferentes.
A descrição da solução em linguagem natural pode ser: 1. Início do Algoritmo Triângulos
a. Obter os lados a, b e c
b. Se os três lados são iguais, imprima que é Equilátero. c. Senão, se dois lados são iguais, imprima que é Isósceles. d. Senão, imprima que é Escaleno.
2. Fim do Algoritmo Triângulos
Uma descrição mais detalhada (próxima da programação) pode ser: 1. Início do Algoritmo Triângulos
a. Obter os lados a, b e c
b. Se a = b e b = c, imprima que é Equilátero.
c. Senão, se a = b ou b = c ou a = c, imprima que é Isósceles. d. Senão, imprima que é Escaleno.
2. Fim do Algoritmo Triângulos
Início a, b, c a = b e b = c Triângulo Equilátero Fim V a = b ou a = c ou b = c F Triângulo Isósceles V Triângulo Escaleno F
Apêndice B – Exercícios
1. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que resolve o seguinte problema:
- Numa escola, decidiu-se fazer o censo de alunos. Criou-se uma base de dados onde os registros são estruturados da seguinte forma:
Nome | Sexo
- O campo Nome informa o nome do aluno.
- O campo sexo, com valores ‘F’ ou ‘M’, corresponde a Feminino ou Masculino, respectivamente.
Seu algoritmo deve ler múltiplos registros e informar: 1. Total de meninos;
2. Total de meninas; 3. Total de alunos. Início de solução:
Início do Algoritmo
Iniciar as variáveis TotalMeninos, TotalMeninas e TotalAlunos com zero. Enquanto houver registros, faça:
Leia Registro
Se sexo = ‘M’ então adicione 1 a TotalMeninos Senão, adicione 1 a TotalMeninas
TotalAlunos = TotalMeninos + TotalMeninas Imprima TotalMeninos, TotalMeninas, TotalAlunos
Fim do Algoritmo
2. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que resolve o seguinte problema:
- Numa escola, decidiu-se fazer o censo de alunos com Miopia. Criou-se uma base de dados onde os registros são estruturados da seguinte forma:
Nome | Sexo | Miopia
- O campo Nome informa o nome do aluno.
- O campo sexo, com valores ‘F’ ou ‘M’, corresponde a Feminino ou Masculino, respectivamente.
Observações:
1. Todas as questões trabalham com intervalos fechados. Logo, “entre A e B” corresponde a [A, B].
- O campo Miopia indica o grau da disfunção. Grau zero indica não haver o problema.
Seu algoritmo deve ler todos os registros da base de dados e informar: 1. Total de meninos;
2. Total de meninos com miopia; 3. Média de miopia entre os meninos; 4. Total de meninas;
5. Total de meninas com miopia; 6. Média de miopia entre as meninas; 7. Média geral de miopia.
3. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que resolve o seguinte problema:
- Numa escola, decidiu-se fazer o censo de alunos com Miopia e Hipermetropia. Criou-se uma base de dados onde os registros são estruturados da seguinte forma:
Nome | Sexo | Miopia | Hipermetropia - O campo Nome informa o nome do aluno.
- O campo sexo, com valores ‘F’ ou ‘M’, corresponde a Feminino ou Masculino, respectivamente.
- Os campos Miopia e Hipermetropia indicam o grau da disfunção. Grau zero indica não haver o problema.
Seu algoritmo deve ler todos os registros da base de dados e informar: 1. Total de meninos;
2. Total de meninos com miopia;
3. Total de meninos com hipermetropia; 4. Média de miopia entre meninos;
5. Média de hipermetropia entre meninos; 6. Total de meninas;
7. Total de meninas com miopia;
8. Total de meninas com hipermetropia; 9. Média de miopia entre meninas; 10. Média de hipermetropia entre meninas. 11. Média geral de miopia.
12. Média geral de hipermetropia.
4. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime todos os múltiplos de N entre A e B. Note que N, A e B devem ser fornecidos pelo usuário.
5. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime o Máximo Divisor Comum de dois números A e B, fornecidos pelo usuário.
Dois números naturais sempre têm divisores comuns.
Por exemplo: os divisores comuns de 12 e 18 são 1, 2, 3 e 6. Dentre eles, 6 é o maior. Então chamamos o 6 de máximo divisor comum de 12 e 18 e indicamos m.d.c.(12,18)
= 6. Alguns exemplos: mdc (6,12) = 6 mdc (12,20) = 4 mdc (20,24) = 4 mdc (12,20,24) = 4 mdc (6,12,15) = 3
CÁLCULO DO M.D.C. PELO PROCESSO DAS DIVISÕES SUCESSIVAS
Nesse processo efetuamos várias divisões até chegar a uma divisão exata. O divisor desta divisão é o m.d.c. Acompanhe o cálculo do m.d.c.(48,30).
Regra prática:
1º) dividimos o número maior pelo número menor;
48 / 30 = 1 (com resto 18)
2º) dividimos o divisor 30, que é divisor da divisão anterior, por 18, que é o resto da
divisão anterior, e assim sucessivamente; 30 / 18 = 1 (com resto 12) 18 / 12 = 1 (com resto 6)
12 / 6 = 2 (com resto zero - divisão exata)
3º) O divisor da divisão exata é 6. Então m.d.c.(48,30) = 6.
6. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime o Mínimo Múltiplo Comum de dois números A e B, fornecidos pelo usuário.
Sugestões:
Início do Algoritmo Leia A e B
Enquanto múltiplo de A menor que AxB faça Se múltiplo de A for divisível por B então
Imprima: MMC é múltiplo de A Calcule próximo múltiplo de A
Fim do Algoritmo Início do Algoritmo
Leia A e B Múltiplo = A
Enquanto Múltiplo menor ou igual a AxB faça Se Múltiplo divisível por B então
Imprima: MMC é Múltiplo Termine Algoritmo Múltiplo = Múltiplo + A Fim do Algoritmo
Dados dois números A e B, encontre os múltiplos de A. Para cada múltiplo de A, teste se ele é divisível por B. Se sim, ele é o MMC.
O ideal é achar os múltiplos do maior número entre A e B e testar com o menor.
Dica em http://www.somatematica.com.br/fundam/mmc.php:
7. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que lê os lados de um retângulo, calcula e imprime sua área.
8. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que lê o raio de um círculo, calcula e imprime sua área.
9. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que:
a. Lê o número de lados de um polígono regular. Se o número de lados é diferente de 3, 4 ou 6, termine o algoritmo.
b. Lê o tamanho do lado.
c. Calcula e imprime a área do polígono e seu nome (triângulo, quadrado ou hexágono).
Dica: http://www.mundoeducacao.com.br/matematica/area-hexagono-regular.htm
Início do Algoritmo
Leia o número de lados do polígono.
Se o número de lados lido for diferente de 3, 4 ou 6, termine o algoritmo. Senão, Leia o tamanho do lado.
Se número de lados é igual a 3, então área = (fórmula a ser lida). Imprima área calculada e “triângulo”.
Senão,
Se número de lados é igual a 4, então área = lado2. Imprima área calculada e “quadrado”.
Senão, área = (fórmula a ser lida). Imprima área calculada e “hexágono”.
Fim do Algoritmo
10. Usando Linguagem Natural e Fluxograma, descreva um algoritmo que leia um conjunto de números naturais e determine qual o menor e o maior. A leitura do conjunto deve ser feita até que um número negativo seja encontrado.
11. Usando Linguagem Natural e Fluxograma, descreva um algoritmo que leia um número inteiro que representa uma quantidade de segundos, e determine quantas horas, minutos e segundos estão contidos neste número.
Por exemplo: 3600 segundos correspondem a 1 hora : 00 minutos : 00 segundos 12. Usando Linguagem Natural e Fluxograma, descreva um algoritmo que leia o sexo de uma pessoa (H ou M) e sua altura e a partir dele calcule seu peso ideal:
a) Para homens (H): (72.7 * altura) - 58 b) Para mulheres (M): (62.1 * altura) – 44.
13. Usando Linguagem Natural e Fluxograma, descreva um algoritmo que leia os valores de X e Y e calcule XY usando apenas a operação de multiplicação.
14. Usando Linguagem Natural e Fluxograma, descreva um algoritmo que leia os valores de X e Y e calcule X * Y usando apenas a operação de soma.
Início do Algoritmo Leia X e Y Resultado = 0 Faça Y vezes Resultado = Resultado + X Imprima Resultado Fim do Algoritmo
15. O fatorial de um número natural n, representado por n!, é o produto de todos os inteiros positivos menores ou iguais a n. Usando Linguagem Natural e Fluxograma, descreva um algoritmo leia n e imprima seu fatorial.
16. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime todos os números primos entre A e B. Note que A e B devem ser fornecidos pelo usuário.
17. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime todos os divisores de N entre A e B. Note que N, A e B devem ser fornecidos pelo usuário. Se A for menor que 1 ou se A for maior que B ou se B for maior que N, termine o algoritmo.
18. Usando Linguagem Natural e Fluxograma, descreva um algoritmo que leia os valores de X e Y e calcule X / Y usando apenas a operação de subtração.
19. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime todos os múltiplos de N entre A e B. Note que N, A e B devem ser fornecidos pelo usuário.
20. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que usando variáveis que armazenam apenas 1 dígito [0..9] escreve todos os número entre 0 e 999. Dica: serão necessárias 3 variáveis.
21. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia algo do teclado. Enquanto o que for lido for diferente de espaço em branco, imprima o que foi lido.
22. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprima o número 20 vinte vezes, o número 19 dezenove vezes, o número 18 dezoito vezes, e assim sucessivamente, até o número 1 uma vez.
23. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia um número N e imprima o número N ene vezes, o número (N-1) ene menos uma vezes, e assim sucessivamente, até o número 1 uma vez.
Por exemplo: Se N for 3 deve imprimir: 3 3 3 2 2 1
24. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia um número N e um número F e imprima o número N ene vezes, o número (N-1) ene menos uma vezes, e assim sucessivamente, até o número F efe vezes. Se F for maior que N, encerre o algoritmo
Por exemplo: Se N for 5 e F for 3 deve imprimir: 5 5 5 5 5 4 4 4 4 3 3 3 Sugestão:
Início do Algoritmo Leia N, F
Enquanto N >= F faça Cont = N Faça Cont Vezes
Imprima N N = N - 1
Fim do Algoritmo
25. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia dois números, A e B e determine o valor da menor e da maior razão entre eles. Ou seja, determine se A/B é maior que B/A e imprima-os.
26. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia H (altura) e g (gravidade) e determine a velocidade de um corpo a cada metro percorrido após ser largado de uma altura H.
Dica: H = gt2/2, onde t é o tempo. Logo, t = √2H/g (raiz quadrada) V = V0 + at2/2, onde a é a aceleração. Neste caso, a = g.
27. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia g (gravidade) e t (tempo) e determine a altura H percorrida por um corpo em queda.
Dica: H = gt2/2, onde t é o tempo. Logo, t = √2H/g (raiz quadrada) V = V0 + at2/2, onde a é a aceleração. Neste caso, a = g.
28. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia H (altura) e g (gravidade) e determine o tempo de queda de um corpo após ser largado de uma altura H.
Dica: H = gt2/2, onde t é o tempo. Logo, t = √2H/g (raiz quadrada) V = V0 + at2/2, onde a é a aceleração. Neste caso, a = g.
29. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia V (velocidade final), a (aceleração) e t (tempo) e determine a velocidade inicial de um corpo em movimento.
Dica: V = V0 + at2/2, onde a é a aceleração. Neste caso, a = g.
30. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia um valor N. Se N for maior ou igual a zero, imprimir N e ler outro valor. Se N for menor que zero, termine o algoritmo.
31. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia dois números A e B, sendo B maior que A, e imprima todos os divisores de todos os números entre A e B.
32. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que resolve o seguinte problema:
- Numa empresa, decidiu-se fazer o levantamento de consumo de telefone. Criou-se uma base de dados onde os registros são estruturados da seguinte forma:
Ramal | Numero Discado | Tempo Ligação
Seu algoritmo deve ler todos os registros da base de dados e informar quais os 5 ramais com maior tempo total de ligação. Existem, na empresa, 10 ramais. 33. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que resolve o seguinte problema:
- Uma empresa aérea decidiu imprimir uma relação de funcionários nordestinos. Sabe-se que ela possui uma base de dados onde os registros são estruturados da seguinte forma:
Nome | DataNascimento | CidadeNascimento |UF
Seu algoritmo deve ler todos os registros da base de dados e gerar tal relação. UF possui valores como BA, SE, PB, etc.
34. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia um valor N e imprima todos os número pares entre 1 e N.
35. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que leia um número inteiro de até 4 dígitos N e imprima todos os seus dígitos.
Dica: 13 DIV 10 resulta em 1 13 MOD 10 resulta em 3
36. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime todos os números de Armstrong entre 1 e 1000. Um número N é dito de Armstrong se a soma dos cubos de seus dígitos é igual a N.
37. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime todos os números simétricos entre 1 e 10000. Um número N é dito simétrico se ele é lido igualmente da direita para a esquerda e da esquerda para a direita: Exemplo: 232, 1221, etc.
38. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime todos os números simétricos e pares entre 1 e 10000.
39. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime todos os números simétricos e primos entre 1 e 10000.
40. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que imprime todos os números simétricos entre 1 e 10000 e também todos os seus divisores.
41. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que determina todas as possíveis combinações de números consecutivos para os números entre 1 e 100. Para isto, tem-se que pegar um número N e descobrir somas de números consecutivos que resultem neste número N.
Por exemplo: se o número N é15, o número de combinações consecutivas será: 1 2 3 4 5, pois 1 + 2 + 3 + 4 + 5 = 15
4 5 6, pois 4 + 5 + 6 = 15 7 8, pois 7 + 8 = 15
42. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que determina os 8 primeiros números naturais curiosos. Para isso, dado um número N, deve-se encontrar seu número de dígitos (nd). Eleve N ao quadrado e pegue os nd dígitos da direita. Se o número original N é igual ao número formado pelos nd dígitos da direita de N2, N é um número curioso.
Por exemplo: 25 é um número curioso. Note que nd = 2 (dois dígits em 25). 252= 625. Os dois dígitos da direita são 25.
43. Usando Linguagem Natural e Fluxograma, descreva o algoritmo que dado um número real escreva-o por extenso e em Real (moeda).
Por exemplo: dado 1.325,17 escreva: Mil, trezentos e vinte e cinco reais e dezessete centavos.
Apêndice C – Exemplos de Código
C1 - Tipos, Variáveis e Constantes
C.1.1 - Este programa demonstra o uso de variáveis e constantes no Pascal. Seu objetivo é determinar um valor para o Raio de um círculo e Calcular sua área = πr2.
Como π é uma constante matemática, ela foi definida na linha 12.
Área e Raio são variáveis, pois círculos diferentes têm valores diferentes.
1 program VariaveisConstantes;
2 {Este programa demonstra o uso de variáveis e constantes no Pascal.
3 Seu objetivo é determinar um valor para o Raio de um círculo e 4 Calcular sua área.}
5
6 uses crt; 7 var
8 {Declara area e raio como variáveis REAIS}
9 area, raio : real; 10 const
11 {Declara pi como uma constante}
12 pi = 3.1415926536; 13
14 begin
15 {Atribuições de valores às variáves}
16 {Determina o raio do círculo explicitamente.}
17 raio := 10;
18 {Calcula a área do círculo = pi * raio ao quadrado}
19 area := pi * raio * raio;
20 writeln('A area do circulo de raio ', raio:3:2, ' eh: ', area:3:4); 21
22 readkey; 23 end.
C.1.2 - Este programa vai demonstrar os tipos de variáveis do Pascal, como lhes atribuir valores e imprimi-las. Para isto são definidas variáveis inteiras, reais, lógicas, caracter e texto.
1 program TiposDeVariaveis;
2 {Este programa vai demonstrar os tipos de variáveis do Pascal,
3 como lhes atribuir valores e imprimi-las.} 4
5 uses crt; 6
7 {Tudo que vem após VAR é variável
8 sintaxe:
9 nomeDaVariável : tipo; 10 }
11 var
12 {Declara ai, bi e ci como variáveis INTEIRAS}
13 ai, bi, ci : integer;
14 {Declara ar e br como varáveis REAIS}
15 ar, br : real;
16 {Variáveis lógicas - podem ser TRUE ou FALSE}
17 al, bl : boolean;
18 {Declara bs como String - uma cadeia de caracteres}
19 bs : string;
20 {O uso de [] na declaração de string delimita o número de
caracteres.
21 Neste caso, a variável nome pode ter 10 caracteres no máximo.}
22 nome : string[10];
23 {Char representa um único caracter}
24 caracter : char; 25 26 const 27 pi = 3.1415926536; 28 29 begin
30 {Atribuições de valores às variáveis}
31 ai := 10; 32 bi := ai * 2; 33 ci := 2 * 23; 34
35 caracter := 'A';
36 writeln('A letra eh: ', caracter); 37 caracter := 'B';
38 writeln('A letra eh: ', caracter);
39 {Atribui a letra pelo valor da Tabela AscII}
40 caracter := #69;
41 writeln('A letra eh: ', caracter); 42
43 {Teste se 2 é maior que 1 e atribui o resultado para al}
44 al := 2 > 1;
45 writeln('AL: ', al); 46
47 bs := ' Isto eh uma string longa. Pode ser uma frase.'; 48 nome := 'Edeyson';
49 writeln(nome, bs); 50
51 readkey; 52 end.
C.1.3 - Segunda lei de movimento de Newton ou Princípio da Proporcionalidade ou Lei de Força: Um ponto material sujeito à ação de uma força F adquire aceleração a, de mesma direção e sentido que a força e módulo |a| proporcional à intensidade de F; o coeficiente de proporcionalidade é um escalar essencialmente positivo que 'mede' a inércia do ponto - sua massa. Assim, calcula-se Força = massa * aceleração.
C.1.4 - Segunda lei de movimento de Newton ou Princípio da Proporcionalidade ou Lei de Força: Cálculo da Massa.
1 program ReaisEmPascal;
2 {Este programa vai demonstrar o uso do tipo Real em Pascal calculando a
massa de um ponto material conhecendo-se a força nele aplicada e sua aceleração.}
4
5 uses crt; 6
7 var
8 forca, massa, aceleracao : real; 9
10 begin
11 writeln('Qual a forca do ponto material?'); 12 readln(forca);
13
14 writeln('Qual a aceleracao do ponto material?'); 15 readln(aceleracao);
16
17 massa := forca / aceleracao;
18 writeln('A massa eh: ', massa:3:2); 19 readkey;
20 end.
1 program InteirosEmPascal;
2 {Este programa vai demonstrar o uso de Inteiros em Pascal
3 calculando a Força que incide num ponto material de massa e aceleração conhecidas.}
4
5 uses crt; 6
7 var
8 forca, massa, aceleracao : integer; 9
10 begin
11 writeln('Qual a massa do ponto material?'); 12 readln(massa);
13
14 writeln('Qual a aceleracao do ponto material?'); 15 readln(aceleracao);
16
17 forca:= massa * aceleracao;
18 writeln('A Forca aplicada ao ponto material eh: ', forca); 19 readkey;
C.1.5 – Uso de String e Char em Pascal.
C.1.6 – Uso de String e Char em Pascal.
1 program StringsEmPascal;
2 {Este programa vai demonstrar o uso de String em Pascal.}
3
4 uses crt; 5
6 var
7 endereco : string; {endereço é uma cadeia com 0 a 255 caracteres.} 8 nome : string[30];
9 CPF : string[11]; {O uso de [] delimita o número de caracteres. Neste caso CPF tem 11 caracteres.}
10 11 begin
12 endereco := 'Rua dos Alferes, 1234, Ap. 1001, Barra, Salvador, Bahia - CEP: 40.130.280';
13 nome:= 'Jose da Silva Santos'; 14 CPF := '12345678901';
15 writeln('Endereco: ', endereco, ' Cliente: ', nome, ' CPF: ', cpf); 16 readkey;
17 end.
1 program StringChar; 2 uses crt;
3 var
4 endereco, nome : string; {endereço e nome são cadeias com 0 a 255 caracteres.}
5 CPF : string[11]; {O uso de [] delimita o número de caracteres. Neste caso CPF tem 11 caracteres.}
6 sexo : char; {char representa um único caracter. Neste caso sexo pode ser 'M' ou 'F'}
7 8 begin
9 {Atribuições de valores às variáves}
10 endereco := 'Rua dos Alferes, 1234, Ap. 1001, Barra, Salvador, Bahia - CEP: 40.130.280';
11 nome:= 'Jose da Silva Santos'; 12 CPF := '12345678901';
13 sexo := 'M'; 14
15 writeln('Endereco: ', endereco); 16 writeln('Cliente: ', nome); 17 writeln('CPF: ', cpf); 18 writeln('Sexo: ', sexo); 19 readkey;
C.1.7 – Uso de Boolean em Pascal.
C.1.8 – Uso de Char em Pascal.
1 program CharEmPascal;
2 {Este programa vai demonstrar o tipo chardo Pascal}
3
4 uses crt; 5 var
6 letraAMinuscula, letraAMaiuscula : char; 7 letraBMinuscula, letraBMaiuscula : char; 8 {char representa um único caracter.} 9 sexo : char;
10 11 begin
12 {Atribuições de valores às variáves}
13 sexo := 'M'; 14 letraAMinuscula := 'a'; 15 letraAMaiuscula := #65; 16 17 letraBMinuscula := #98; 18 letraBMaiuscula := 'B'; 19
20 writeln('Sexo: ', sexo);
21 writeln('Letras Maiusculas: ', letraAMaiuscula, letraBMaiuscula); 22 writeln('Letras Minusculas: ', letraAMinuscula, letraBMinuscula); 23 readkey;
24 end.
1 program BooleanEmPascal;
2 {Este programa vai demonstrar o tipo boolean do Pascal}
3
4 uses crt; 5 var
6 aprovado : boolean; {Variáveis lógicas - podem ser TRUE ou FALSE} 7 maior, menor, igual : boolean;
8 9 begin
10 {Atribuições de valores às variáves}
11 {Atribui TRUE a aprovado}
12 aprovado := true;
13 {Atribui o resultado do teste: 2 > 1? a maior}
14 maior := 2 > 1;
15 {Atribui o resultado do teste: 2 > 1? a igual}
16 igual := 2 = 1;
17 {Atribui o resultado do teste: 2 > 1? a menor}
18 menor := 2 < 1; 19
20 writeln('Aprovado: ', aprovado); 21 writeln('2 > 1? eh: ', maior); 22 writeln('2 = 1 eh: ', menor); 23 writeln('2 = 1 eh: ', igual); 24 readkey;
C2 - Operadores
C.2.1 - Este programa demonstra o uso de operadores de concatenação de Strings.
C.2.2 - Este programa demonstra o uso de operadores lógicos.
1 program ConcatenacaoDeStrings;
2 {Este programa vai demonstrar a Concatenação de Strings em Pascal.}
3 uses crt; 4 var
5 nome : string[20]; {Definição de variáveis} 6 sobrenome : string[20];
7 nomeCompleto : string[40]; 8
9 begin
10 nome := 'Edeyson'; {Atribui Edeyson aa var. nome}
11 sobrenome:= 'Gomes'; {Atribui Gomes aa var. sobrenome}
12 nomeCompleto := nome + ' ' + sobrenome; {Concatena nome e sobrenome}
13 writeln('Nome Completo: ', nomeCompleto); {Exibe o nome completo} 14
15 readkey; 16 end.
1 program OperadoresLogicos;
2 {Este programa vai demonstrar Operadores Lógicos do Pascal}
3 uses crt; 4 var
5 valorLogico : boolean; {Variáveis lógicas - podem ser TRUE ou FALSE} 6 x, inicio, fim : integer;
7 8 begin
9 {Atribuições de valores às variáves}
10 inicio := 0; 11 fim := 10; 12 x := 5; 13
14 valorLogico := (x > inicio) and (x > fim);
15 writeln('Teste se ', x, ' eh > que ', inicio , ' E ', x, ' eh > que ', fim, ' : ', valorLogico);
16
17 valorLogico := (x > inicio) and (x < fim);
18 writeln('Teste se ', x, ' eh > que ', inicio , ' E ', x, ' eh < que ', fim, ' : ', valorLogico);
19
20 valorLogico := (x > inicio) or (x > fim);
21 writeln('Teste se ', x, ' eh > que ', inicio , ' OU ', x, ' eh > que ', fim, ' : ', valorLogico);
22
23 valorLogico := ((x >= 1) and (x <= 5)) AND ((x >= 4) and (x <= 6)); 24 writeln('Teste se ', x, ' esta entre 1 e 5 e se ', x, ' esta entre