• Nenhum resultado encontrado

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

Documentos relacionados