Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Algorítimos Parte1, Notas de estudo de Matemática Elementar

Apostilas de Física sobre o estudo de Algorítimos, Fases de um Algoritmo, Estrutura de Algoritmos, Variáveis, Tipos de Dados.

Tipologia: Notas de estudo

2013

Compartilhado em 23/04/2013

Caruru200
Caruru200 🇧🇷

4.5

(135)

447 documentos

1 / 25

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Apostila de Algorítimos
Algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único
algoritmo. Algoritmo é um caminho para a solução de um problema, e em geral, os caminhos que
levam a uma solução são muitas.
O aprendizado de algoritmos não se consegue a não ser através de muitos exercícios.
Algoritmos não se aprende:
- Copiando Algoritmos
- Estudando Algoritmos
Algoritmos só se aprendem:
- Construindo Algoritmos
- Testando Algoritmos
1. Fases de um Algoritmo
Quando temos um problema e vamos utilizar um computador para resolve-lo inevitavelmente
temos que passar pelas seguintes etapas:
a) Definir o problema.
b) Realizar um estudo da situação atual e verificar quais a(s) forma(s) de resolver o problema.
c) Terminada a fase de estudo, utilizar uma linguagem de programação para escrever o programa
que deverá a princípio, resolver o problema.
d) Analisar junto aos usuários se o problema foi resolvido. Se a solução não foi encontrada, deverá
ser retornado para a fase de estudo para descobrir onde está a falha.
Estas são de forma bem geral, as etapas que um analista passa, desde a apresentação do
problema até a sua efetiva solução. Iremos, neste curso, nos ater as etapas de estudo, também
chamada de análise, e a etapa de programação. Mas antes vamos definir o seguinte conceito:
Programar um computador consiste em elaborar um conjunto finito de instruções, reconhecidas
pela máquina, de forma que o computador execute estas instruções. Estas instruções possuem
regras e uma Sintaxe própria, como uma linguagem tipo português ou inglês, sendo isto chamadas
de linguagem de computador.
No mundo computacional existe uma grande variedade de linguagens Pascal, C, C++, Cobol,
Fortran, etc… . Nós iremos enfocar uma delas, o Pascal.
2. Estrutura de Algoritmos
Antes de utilizarmos uma linguagem de computador, é necessário organizar as ações a serem
tomadas pela máquina de forma organizada e lógica, sem nos atermos as regras rígidas da
Sintaxe de uma linguagem. Para isto utilizaremos uma forma de escrever tais ações, conhecida
como algoritmo, ou pseudo-código.
Conceituando: Algoritmo consiste em um conjunto lógico e finito de ações ( instruções ) que
resolvem um determinado problema.
Os algoritmos terão a seguinte estrutura:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Pré-visualização parcial do texto

Baixe Algorítimos Parte1 e outras Notas de estudo em PDF para Matemática Elementar, somente na Docsity!

Apostila de Algorítimos

Algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é um caminho para a solução de um problema, e em geral, os caminhos que levam a uma solução são muitas. O aprendizado de algoritmos não se consegue a não ser através de muitos exercícios.

Algoritmos não se aprende:

  • Copiando Algoritmos
  • Estudando Algoritmos

Algoritmos só se aprendem:

  • Construindo Algoritmos
  • Testando Algoritmos 1. Fases de um Algoritmo

Quando temos um problema e vamos utilizar um computador para resolve-lo inevitavelmente temos que passar pelas seguintes etapas:

a) Definir o problema. b) Realizar um estudo da situação atual e verificar quais a(s) forma(s) de resolver o problema. c) Terminada a fase de estudo, utilizar uma linguagem de programação para escrever o programa que deverá a princípio, resolver o problema. d) Analisar junto aos usuários se o problema foi resolvido. Se a solução não foi encontrada, deverá ser retornado para a fase de estudo para descobrir onde está a falha.

Estas são de forma bem geral, as etapas que um analista passa, desde a apresentação do problema até a sua efetiva solução. Iremos, neste curso, nos ater as etapas de estudo, também chamada de análise, e a etapa de programação. Mas antes vamos definir o seguinte conceito: Programar um computador consiste em elaborar um conjunto finito de instruções, reconhecidas pela máquina, de forma que o computador execute estas instruções. Estas instruções possuem regras e uma Sintaxe própria, como uma linguagem tipo português ou inglês, sendo isto chamadas de linguagem de computador. No mundo computacional existe uma grande variedade de linguagens Pascal, C, C++, Cobol, Fortran, etc…. Nós iremos enfocar uma delas, o Pascal.

2. Estrutura de Algoritmos

Antes de utilizarmos uma linguagem de computador, é necessário organizar as ações a serem tomadas pela máquina de forma organizada e lógica, sem nos atermos as regras rígidas da Sintaxe de uma linguagem. Para isto utilizaremos uma forma de escrever tais ações, conhecida como algoritmo, ou pseudo-código. Conceituando: Algoritmo consiste em um conjunto lógico e finito de ações ( instruções ) que resolvem um determinado problema.

Os algoritmos terão a seguinte estrutura:

ALGORITMO <definições> INÍCIO FIM

Em Pascal ficaria da seguinte forma:

PROGRAM ; <definições> BEGIN ; END.

3. Variáveis

O computador possui uma área de armazenamento conhecida como memória. Todas as informações existentes no computador estão ou na memória primária ( memória RAM ), ou na memória secundária ( discos, fitas, CD-ROM etc ). Nós iremos trabalhar, neste curso, somente com a memória primária, especificamente com as informações armazenadas na RAM ( memória de acesso aleatório ).

A memória do computador pode ser entendida como uma seqüência finita de caixas, que num dado momento, guardam algum tipo de informação, como número, uma letra, uma palavra, uma frase etc, não importa, basta saber que lá sempre existe alguma informação. O computador, para poder trabalhar como alguma destas informações, precisa saber onde, na memória, o dado está localizado. Fisicamente, cada caixa, ou cada posição de memória, possui um endereço, ou seja, um número, que indica onde cada informação está localizada. este número é representado através da notação hexadecimal, tendo o tamanho de quatro, ou mais bytes. Abaixo segue alguns exemplos:

Endereço Físico Informação 3000: B712 'João' 2000: 12EC 12345 3000: 0004 'H'

Como pode ser observado, o endereçamento das posições de memória através de números hexadecimais é perfeitamente compreendido pela máquina, mas para nós humanos torna-se uma tarefa complicada. Pensando nisto, as linguagens de computador facilitaram o manuseio, por parte dos usuários, das posições de memória da máquina, permitindo que, ao invés de trabalhar diretamente com os números hexadecimais, fosse possível dar nomes diferentes a cada posição de memória. Tais nomes seriam de livre escolha do usuário. Com este recurso, os usuários ficaram livres dos endereços físicos ( números hexadecimais ) e passaram a trabalhar com endereços lógicos ( nomes dados pelos próprios usuários ). Desta forma, o Exemplo acima, poderia ser alterado para ter o seguinte aspecto:

Endereço Físico Informação Nome 'João' número 12345 letra 'H'

Como tínhamos falado, os endereços lógicos são como caixas, que num dado instante guardam algum tipo de informação. Mas é importante saber que o conteúdo desta caixa não é algo fixo, permanente, na verdade, uma caixa pode conter diversas informações, ou seja, como no Exemplo acima, a caixa ( Endereço Lógico ) rotulada de "Nome" num dado momento contém a informação "João", mas em um outro momento, poderá conter uma outra informação, por Exemplo "Pedro".

j) Single Representa os números entre 1.5 x 10 -45 até 3.4 x 1038. Ocupa 4 bytes na memória. l) Double Representa os números entre 5 x 10 -324 até 1.7 x 10308. Ocupa 8 bytes na memória.

Iremos gradativamente trabalhar com cada um destes tipos e mostrar as suas características.

5. Definição de Variáveis

Para definir uma ou mais variáveis, devemos utilizar, em Pascal, a palavra VAR. Para manter uma compatibilidade, utilizaremos a mesma nomenclatura em nossos algoritmos. Abaixo segue Exemplo de algumas definições de variáveis:

a) ALGORITMO Teste PROGRAM Teste; VARIÁVEIS VAR Palavra : CADEIA Palavra: String; INICIO BEGIN ; FIM END.

b) ALGORITMO Teste PROGRAM Teste; VARIÁVEIS VAR Letra, Caracter: CARACTER Letra, Caracter: CHAR; INICIO BEGIN ; FIM END.

c) ALGORITMO Teste PROGRAM Teste; VARIÁVEIS VAR Letra, Caracter: CARACTER Letra, Caracter: CHAR; Número: INTEIRO Número: INTEGER; INICIO BEGIN ; FIM END.

Obs.: Os nomes dados as variáveis não podem ser os mesmos nomes de palavras reservadas do Pascal, tais como PROGRAM, BEGIN, END, VER, etc…

5.1 Comando de atribuição

Quando definimos uma variável é natural atribuirmos a ela uma informação. Uma das formas de colocar um valor dentro de uma variável, consequentemente colocado este dado na memória do computador, é através da atribuição direta, do valor desejado que a variável armazena. Para isto utilizaremos o símbolo ( : = (Pascal) , (Algoritmo) ), que significa: recebe, ou seja, a posição, de memória que uma variável representa, receberá uma informação, a qual será armazenada no interior desta variável.

Exemplo:

ALGORITMO Teste PROGRAM Teste; VARIÁVEIS VAR Número: INTEIRO Número: INTEGER; INICIO BEGIN Número 10 Número: =10; FIM END.

O Exemplo acima nos informa que:

a) Foi definido uma variável, a qual demos o Nome de "Número", e informamos que esta variável, ou posição de memória, só poderá aceitar dados, que sejam numéricos e que estejam entre - 32768 a +32767 ( tipo INTEGER ).

b) Atribuímos à variável "Número" o valor 10

A memória se comportaria da seguinte forma, de acordo com os itens acima:

a) Variável Conteúdo Número indefinido

b) Variável Conteúdo Número 10

5.2 Variáveis do tipo CHAR(Caracter) e STRING(Cadeia)

As definições de variáveis como sendo do tipo CHAR e STRING, possuem algumas curiosidades que merecem um cuidado especial por parte do usuário. 5.2.1 Uso das aspas ( ' ) Quando estivermos fazendo a atribuição de um valor para uma variável do tipo CHAR (Caracter) ou STRING (Cadeia), temos que ter o cuidado de colocar o valor ( dado ) entre aspas ( ' ), pois esta é a forma de informar que a informação é caracter.

Exemplo:

ALGORITMO Teste VARIÁVEIS Letra : CARACTER Nome : CADEIA INICIO Letra 'A' Nome 'João' FIM

5.2.2 Manipulação de caracteres individuais em STRING's (Cadeias)

Muitas vezes é necessário manipular caracteres individuais em uma STRING (Cadeia). O Pascal possui uma forma toda especial de permitir tal operação, através do uso de colchetes( [ ] ) logo após o Nome da variável do tipo STRING (Cadeia) , e o número do caracter que se deseja manipular entre os colchetes.

Exemplo: Atribuir o primeiro caracter de uma STRING a uma variável do tipo CHAR.

ALGORITMO AtribuiString; VARIÁVEIS letra : CARACTER Nome : CADEIA INICIO Nome 'Joao' letra Nome[1] FIM

Quando definimos uma variável como sendo do tipo STRING não estamos alocando 1 posição de memória apenas ( uma caixa, pela analogia inicial ), mas na verdade, estamos alocando até 255

  1. Dar o tipo de cada uma das constantes a) 613 b) 613, c) - d) "613" e) -3,012 * 1015 f) 17* g) -28,3 * 10 - h) "Fim de Questão"

  2. Faça um PROGRAMA para atribuir a variáveis as seguintes informações:

a) 12345 b) 123456 c) - d) 10 e) VERDADE f) 12345605

  1. No seguinte PROGRAMA existe algum erro? Onde?

ALGORITMO Teste VARIÁVEIS Maria : CADEIA idade : INTEIRO letra : CARACTER Maria : REAL INICIO idade 23 idade 678 idade letra letra ABC letra A letra 2 FIM

  1. Qual a diferença existente nas seguintes atribuições?

a) Letra 'A' Nome 'João'

b) Letra A Nome João

  1. É correto definir uma variável como sendo Caracter e atribuirmos a ela o valor: 'PEDRO'? E se a variável fosse definida como CADEIA, a mesma poderia receber um valor do tipo CARACTER?

6. Operadores

6.1 Operadores matemáticos

Os operadores matemáticos são os seguintes:

a) Adição : + b) Subtração : - c) Multiplicação : * d) Divisão : / e) Divisão inteira : DIV (QUOCIENTE) f) Resto da divisão : MOD (RESTO) g) Exponenciação : ** h) Diferença : <> i) Menor Igual : <= j) Maior Igual : >=

6.2 Operadores Lógicos

Os operadores lógicos, realizam as operações da álgebra booleana. Os operadores são os seguintes: a) AND (E) b) OR (OU) c) NOT (NÃO) d) XOR (NÃO OU)

Exemplo:

a) Operador AND:

TRUE AND TRUE => TRUE

TRUE AND FALSE => FALSE

FALSE AND TRUE => FALSE

FALSE AND FALSE => FALSE

b) Operador OR:

TRUE OR TRUE => TRUE

TRUE OR FALSE => TRUE

FALSE OR TRUE => TRUE

FALSE OR FALSE => FALSE

c) Operador NOT:

NOT TRUE => FALSE

NOT FALSE => TRUE

d) Operador XOR:

TRUE XOR TRUE => FALSE

TRUE XOR FALSE => TRUE

FALSE XOR TRUE => TRUE

FALSE XOR FALSE => FALSE

6.2.1 Exercícios 1 :

O computador não é uma máquina isolada, pois ele precisa se comunicar com o mundo exterior com vídeo, impressora, teclado, discos, fitas etc. Para realizar esta comunicação existem comandos que permitem que informações sejam exibidas, por Exemplo, no vídeo, como também existem comandos que permitem que informações sejam colocadas na memória do computador através do teclado do PC. Os comandos que iremos ver são os comandos LEIA e ESCREVA, respectivamente, comando de entrada e de Saída ( em Pascal escreve-se READ e WRITE ).

Exemplo 1: Escrever um algoritmo para ler um valor numérico do teclado e atribuí-lo a uma variável do tipo numérica.

ALGORITMO LeNúmero VARIÁVEIS Num : INTEIRO INICIO LEIA(Num) FIM

O algoritmo acima, executará os seguintes comandos:

a) Define uma variável rotulada "Num", a qual só poderá armazenar dados numéricos, que estejam compreendidos entre -32768 a +32767 ( INTEIRO ), sendo que inicialmente o conteúdo desta variável está indefinido. b) interrompe o processamento até que uma informação seja digitada, seguida do pressionamento da tecla ENTER. Caso a informação seja digitada seja compatível com o tipo INTEGER (INTEIRO), este valor será armazenado dentro da variável "Num".

Exemplo 2: Fazer um algoritmo para escrever no vídeo do PC uma mensagem qualquer.

ALGORITMO EscreveMsg INICIO ESCREVA ('Alo Mundo') FIM

Obs.: A mensagem está entre aspas porque representa uma cadeia de caracteres.

É perfeitamente possível mandar escrever o conteúdo de variáveis no vídeo. Desta forma, o Exemplo acima poderia ser escrito do seguinte modo:

ALGORITMO EscreveMsg VARIÁVEIS Msg: : CADEIA INICIO Msg 'Alo Mundo' ESCREVA (Msg) FIM

Obs.: Em Pascal, o Exemplo ficaria como é mostrado abaixo

PROGRAM EscreveMsg; VAR Msg : STRING; BEGIN Msg : = 'Alo Mundo'; WRITE (Msg); END.

Obs.: Em Pascal, quando usamos os comandos READ e WRITE, o cursor continuará posicionado na mesma linha. Para evitar tal situação, devemos pular para nova linha. Isto é obtido acrescentando as letras LN ( de LINE NEW, ou seja, linha nova ) no final dos comandos READ e WRITE. Desta forma os comandos terão a seguinte grafia: READLN e WRITELN. 7.1.1 Exercícios 2:

  1. Faça um algoritmo para ler as seguintes informações de uma pessoa: Nome, Idade, Sexo, Peso, Altura, Profissão, Rua, Bairro, Cidade, Estado, CEP, Telefone.

  2. Dado as seguintes informações de um funcionário: Nome, idade cargo e o seu salário bruto considere: a) O salário bruto teve um reajuste de 38%. b) O funcionário receberá uma gratificação de 20% do salário bruto. c) O Salário total é descontado em 15% Faça um algoritmo e um algoritmo para: · Imprimir Nome, idade e cargo. · Imprimir o salário bruto. · Imprimir o salário líquido.

  3. Faça um algoritmo para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2

  4. Faça um algoritmo para: a) Ler uma CADEIA em forma de data. Exemplo : '26/09/95' b) escrever o dia , mês e ano desta data.

  5. Uma empresa tem para um determinado funcionário uma ficha contendo o nome, número de horas trabalhadas e o n0 de dependentes de um funcionário. Considerando que: a) A empresa paga 12 reais por hora e 40 reais por dependentes. b) Sobre o salário são feito descontos de 8,5% para o INSS e 5% para IR. Faça um algoritmo para ler o Nome, número de horas trabalhadas e número de dependentes de um funcionário. Após a leitura, escreva qual o Nome, salário bruto, os valores descontados para cada tipo de imposto e finalmente qual o salário líquido do funcionário.

  6. Faça um algoritmo que calcule a média aritmética de 4 valores inteiros.

  7. O preço de um automóvel é calculado pela soma do preço de fábrica com o preço dos impostos (45% do preço de fábrica) e a percentagem do revendedor (28% do preço de fábrica). Faça um algoritmo que leia o nome do automóvel e o preço de fábrica e imprima o nome do automóvel e o preço final.

8. Processos de Repetição e Seleção

8.1 Estrutura de Repetição ENQUANTO-FAÇA (WHILE DO)

a) ALGORITMO

ALGORITMO ExEnquanto ENQUANTO <Condição for verdadeira> FAÇA

  1. Ampliando o exercício acima, faça um algoritmo para calcular a soma dos termos da P.G..

  2. Faça um algoritmo para calcular a série Fibonacci até 0 N-ésimo termo. A série tem a seguinte forma: 1,1,2,3,5,8,13,21,34,…

  3. Faça um algoritmo para ler um valor X e calcular Y = X+2X+3X+4X+5X+…+20X

  4. Faça um algoritmo para ler e escrever o Nome, idade e sexo de um número indeterminado de alunos. Ao final escreva o total de alunos lidos.

  5. Para cada nota de compra , tem-se o Nome do produto comprado, o valor e o imposto. Faça um algoritmo que escreva o valor total bruto, o imposto total cobrado e o valor total líquido de todas as notas. Considere 500 notas

  6. O valor aproximado de PI pode ser calculado usando-se a série

sendo fazer um algoritmo para calcular e escrever o valor de PI com 51 termos

  1. Faça um algoritmo para ler um valor X e um valor n. Após, calcule a seguinte expressão:

  2. Faça um algoritmo para somar os restos da divisão por 3 de 200 números.

  3. Faça um algoritmo que calcule a hipotenusa de 10 triângulos. hipotenusa2 = cateto2 + cateto

  4. Faça um algoritmo para calcular a área de N quadriláteros. Fórmula: Área = Lado * Lado

  5. Faça um algoritmo para calcular a área de N Círculos. Fórmula : Área = p raio 2 p = 3,141592.

  6. Fazer um algoritmo que calcule escreva a soma dos 50 primeiros termos das seguinte série:

8.2 Estrutura de repetição REPITA-ATÉ ( Repeat Until)

ALGORITMO REPITA ATE <Condição for verdadeira>

PASCAL REPEAT UNTIL <Condição for verdadeira>

Exemplo: Faça um ALGORITMO para ler e escrever o Nome de 20 pessoas.

ALGORITMO LeEscreve VARIÁVEIS Nome : CADEIA Total : INTEIRO INICIO Total 0 REPITA

LEIA(Nome) ESCREVA('Nome=',Nome) Total Total + 1 ATÉ Total >= FIM Em pascal: PROGRAM LeEscreve; VAR Nome : STRING; Total : INTEIRO; BEGIN Total : = 0; REPEAT READ(Nome); WRITE('Nome=',Nome); Total : = Total + 1; UNTIL Total >=20; END.

8.2.1 Exercícios 4:

  1. Leia 20 valores reais e escreva o seu somatório.

  2. Dado uma frase de exatamente 80 caracteres, escreva a frase de trás para frente, um caracter por linha.

  3. Dado um número indeterminado de funcionários, onde é fornecido o Nome, número de dependentes e o número de horas trabalhadas. Pede-se que seja impresso, para cada funcionário, o seu Nome, salário bruto, salário líquido e o valor descontado. A empresa, paga R$ 2.250,00 por hora de trabalho, e R$ 125,55 por dependente, e ainda faz um desconto de 12% sobre o salário bruto. Pede-se ainda que seja impresso o total de funcionários da empresa, o total gasto com salários, e o total descontado.

  4. Faça um ALGORITMO para: a) Leia um valor X e um valor N. b) Calcular: Y = X - 2X + 4X - 6X + 8X - 10X + … NX.

  5. Faça um ALGORITMO para ler um valor X e um Valor N. Após, calcule a seguinte expressão:

  6. Dado uma quantidade indeterminada de palavras, sendo que as mesmas sempre terminam com o caracter "$", escreva o tamanho de cada uma das mesmas ( o sinal de "$" não deve ser considerado na contagem ).

  7. Dado uma palavra terminada com o sinal "$", faça um ALGORITMO para criar uma nova STRING, a ser formada com os caracteres da primeira palavra invertidos.

  8. Faça um algoritmo que calcule a hipotenusa de 10 triângulos. hipotenusa2 = cateto2 + cateto

  9. Faça um algoritmo para calcular a área de N quadriláteros. Fórmula: Área = Lado * Lado

  10. Faça um algoritmo para calcular a área de N Círculos. Fórmula : Área = p raio 2 p = 3,141592.

  11. Fazer um algoritmo que calcule escreva o valor de S onde:

  1. Uma empresa possui 100 vendedores que ganham por comissão sobre cada produto vendido. Cada vendedor em um determinado mês vendeu X produtos, onde cada produto pode ou não ter preços iguais. A empresa deseja obter um relatório com o Nome, o total de vendas e o valor a ser pago a cada vendedor. A comissão paga pela empresa é de 30% sobre o valor de cada produto vendido.

  2. Dado uma relação de 1000 números em graus Célcius, faça um PROGRAMA que imprima o seguinte relatório:

Graus Fahrenheit Graus Célcius xxxxxx xxxxxx Obs.:

  1. Dado um número indeterminado de palavras, sendo que cada palavra possui um tamanho indeterminado, o qual deverá ser lido pelo teclado, faça um PROGRAMA que imprima um relatório como é mostrado no Exemplo abaixo: Suponha que a palavra digitada foi "MARIA".

M A

A I

R R

I A

A M

  1. Escrever um programa para gerar e escrever uma tabela com os valores de seno de um Angulo A em radianos, utilizando a série de Mac-Laurin Truncada apresentada a seguir:

Condições: os valores dos ângulos devem variar de 0.0 a 6.3, inclusive, de 0.1 em 0.

Obs.: Em pascal, caso seja necessário que o "Loop" PARA-FAÇA ao invés de incrementar a variável de controle decrementa-a, a Sintaxe a ser utilizada será a seguinte

a) FOR <Variável > : = DOWNTO DO

b) FOR <Variável > : = DOWNTO DO BEGIN ; END; Em algoritmo: a) PARA <Variável > DE ATÉ PASSO (-1) FACA FIM PARA

9. Estrutura de seleção

9.1 Estrutura SE…ENTÃO…SENÃO (IF…THEN…ELSE)

ALGORITMO

SE <Condição FOR verdade> ENTÃO [SENÃO ] Colchete indica que o comando é opcional FIMSE

PASCAL

a) IF <Condição for verdade> THEN [ELSE ;]

b) IF <Condição for verdade> THEN BEGIN END [ELSE BEGIN ; END;]

Exemplo: Dado dois valores A e B quaisquer, faça um algoritmo que imprima se A > B, ou A < B , ou A = B

ALGORITMO Maior VARIÁVEIS A,B : INTEIRO INICIO ESCREVA('Digite os valores A e B'); SE A > B ENTÃO ESCREVA('A é maior que B') SENÃO SE A < B ENTÃO ESCREVA('A é menor que B') SENÃO ESCREVA('A é igual a B') FIM

Em pascal

PROGRAM Maior; VAR A,B : BYTE; BEGIN WRITE('Digite os valores A e B'); IF A > B THEN WRITE('A é maior que B') ELSE IF A < B THEN WRITE('A é menor que B') ELSE WRITE('A é igual a B'); END.

9.1.1 Exercícios 6:

  1. Faça um algoritmo que leia os valores A, B, C e diga se a soma de A + B é menor que C.

  2. Faça um algoritmo que leia dois valores inteiros A e B se os valores forem iguais deverá se somar os dois, caso contrário multiplique A por B ao final do calculo atribuir o valor para uma variável C.

  1. Dado uma relação de 100 STRING's no formato de data ( Exemplo '10/12/95' ), imprima um relatório no seguinte formato:

Data Por Extenso 26/09/95 26 de setembro de 1995

  1. Dados uma relação de n STRING's, todas terminadas com o caracter "$", faça um algoritmo que escreva a STRING e o seu tamanho.

  2. Dado uma relação de n STRING's, todas terminadas com o caracter "$", faça um algoritmo que imprima aquelas que tem tamanho par.

  3. Dado uma relação de n STRING's, todas terminadas com o caracter "$", faça um algoritmo que escreva as STRING's ímpares cujo caracter central é uma vogal.

  4. Dado três valores X, Y, Z, verificar se eles podem ser os comprimentos dos lados de um triângulo, e se forem, verificar se é um triângulo equilátero, isósceles ou escaleno. Se eles não formarem um triângulo, escrever uma mensagem. Antes da elaboração do algoritmo, torna-se necessária a revisão de algumas propriedades e definições. Propriedade - O comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois lados. Definição 1 - Chama-se triângulo equilátero os que tem os comprimentos dos três lados iguais, Definição 2 - Chama-se triângulo isósceles ao triângulo que tem os comprimentos de dois lados iguais. Definição 3 - Chama-se triângulo escaleno ao triângulo que tem os comprimentos dos três lados diferentes.

  5. Um hotel cobra R$ 300,00 por diária e mais uma taxa adicional de serviços. Se a diária for menor que 15 a taxa e de R$ 20,00. Se o número de diárias for igual a 15 a taxa é de R$ 14,00 e se o número for maior que 15 a taxa é de R$ 12,00. Considerando-se que se tenha 200 pessoas e para cada pessoa tenha-se um registro contendo seu nome e o número de diárias. Faça um algoritmo que imprima o nome e o total a pagar de cada pessoa e imprimir também o total ganho pelo hotel e o número total de diárias.

  6. Dado que cada pessoa tenha o seu nome e a sua idade e o seu peso em uma ficha, faça uma algoritmo que: a) Imprimir o nome da pessoa cujo a idade esta na faixa de 20 a 30 anos inclusive os extremos; b) Calcule a idade média das pessoas com peso maior que 80 Kg, considere que exista N pessoas.

  7. Faça um algoritmo que calcule o salário e o imposto de renda de um grupo de pessoas, considerando: a) Para cada pessoa tem-se: Nome, Número de Dependentes, Renda Bruta Anual; b) O imposto é calculado segundo a tabela abaixo: Renda Liquida % até R$ 10.000,00 isento

R$ 10.000,00 até R$ 30.000,00 5% R$ 30.000,00 até R$ 60.000,00 10% R$ 60.000,00 15% c) Há um desconto de R$ 600,00 para cada dependente. d) Sendo que a renda liquida é igual a renda bruta menos o abatimento de cada dependente.

  1. O Departamento de transito do estado anotou dados de acidentes de transito no ultimo ano. Para cada motorista envolvido no acidente, tem-se as seguintes informações:
  • Ano de nascimento;
  • Sexo (M - Masculino, F - Feminino)
  • Procedência ( 0 - Capital, 1 - Interior, 2 - Outro estado); Faça um algoritmo que : a) Calcule a porcentagem de motoristas com menos de 21 anos; b) Calcule quantas mulheres são da capital; c) Calcule quantos motoristas do interior do estado tem idade maior que 60 anos; d) Verifique se existe alguma mulher com idade maior que 60 anos; R.
  1. Suponha que para cada tipo de computador fabricado, a SEI, tem os seguintes informações:
  • Nome do computador;
  • O nome do fabricante;
  • e a sua capacidade de armazenamento; Faça um algoritmo que: a) Determine qual o valor da maior capacidade de memória; b) Determine quantos computadores diferentes a IBM fabrica; c) Verifique se tem algum computador chamado PS/1. Se tiver qual o seu fabricante;

9.2 Estrutura CASE

ALGORITMO

ESCOLHA <Opções> : . . . <Opções> : [ Senão ] FIMESCOLHA

PASCAL

a) CASE OF <opções> : ; . . . <opções> : ; [Else ; END;

b) CASE OF <opções> : BEGIN ; END; . . . <opções> : ; [ Else BEGIN ;