38
Teoria da Computação e Algoritmos Prof. Luís Augusto Mattos Mendes lmendes@email.it

Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

Embed Size (px)

Citation preview

Page 1: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

Teoria da Computação e Algoritmos

Prof. Luís Augusto Mattos Mendes

[email protected]

Page 2: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

2

Sumário

Unidade 1 – Lógica de Programação ....................................................................................... 5 1.1 - O que é Lógica de programação............................................................................................. 5 1.2 - Seqüência Lógica ...................................................................................................................... 6 1.3 - Instruções ................................................................................................................................. 6

Unidade 2 – Introdução aos Algoritmos................................................................................... 8 2.1 - Definição .................................................................................................................................... 8

2.1.1 – Uma Definição Formal ...................................................................................................................... 9 2.1.2 – Importância...................................................................................................................................... 10 2.1.3 - Algoritmos não – computacionais .................................................................................................... 10

2.2 Características.................................................................................................................... 10 2.3 Formas de representação .................................................................................................. 11

2.3.1 Descrição Narrativa....................................................................................................................... 11 2.3.2 Linguagem Algorítmica ................................................................................................................ 12 2.3.3 Portugol......................................................................................................................................... 13

2.4 Fases de um algoritmo ....................................................................................................... 13 2.5 O que é um programa e linguagem de programação...................................................... 14

2.5.1 O que é um Programa? .................................................................................................................. 14 2.5.2 O que é uma Linguagem de Programação? ................................................................................... 14

2.6 Exercícios de Fixação......................................................................................................... 14 Unidade 3 – Estruturas de implementação de algoritmos ..................................................... 15

3.1 Características de implementação dos algoritmos ................................................................. 15 3.1.1 Refinamentos Sucessivos ................................................................................................................... 16 3.1.2 Linearização de expressões................................................................................................................. 17 3.1.3 Modularização de Expressões............................................................................................................. 18

3.2 Operação de Entrada e Saída .................................................................................................. 18 3.3 Operadores ................................................................................................................................ 19

3.3.1 Operadores Aritméticos ...................................................................................................................... 19 3.3.2 Operadores Lógicos............................................................................................................................ 19 3.3.3 Operadores Relacionais ...................................................................................................................... 21 3.3.4 Operadores Especiais.......................................................................................................................... 21

3.4 - Exercícios de Fixação: ............................................................................................................ 21 UNIDADE 4 – Variáveis e Tipos de Dados............................................................................ 23

4.1 Conceitos de Variáveis.............................................................................................................. 23 4.2 Operação de Atribuição............................................................................................................ 23 4.3 Identificadores........................................................................................................................... 24 4.4 Tipos de Dados .......................................................................................................................... 24

4.4.1 Manipulação de Caracteres e Strings.................................................................................................. 26 4.5 – Declaração de Variáveis ........................................................................................................ 28

Unidade 5 – Estruturas De Decisão E Repetição................................................................... 29 5.1 – Estruturas de Decisão ............................................................................................................ 29

Page 3: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

3

5.2 – Estrutura Condicional ........................................................................................................... 29 5.2.1 – Estrutura condicional Simples (Se ... então) .................................................................................... 30 5.2.2 – Estrutura Condicional Composta ..................................................................................................... 30

5.3 Estrutura de Repetição............................................................................................................. 31 5.3.1 – Enquanto ... faça .............................................................................................................................. 31 5.3.2 – Para ... faça ...................................................................................................................................... 32 5.3.3 – Repita ... até ..................................................................................................................................... 33

5.4 – Estruturas de Seleção............................................................................................................. 33 5.4.1 – Se ... então Aninhados ..................................................................................................................... 35

5.5 - EXERCÍCIOS.................................................................................................................. 35 MA = (Nota1 + Nota2 x 2 + Nota3 x 3 + ME )/7.................................................................... 36

AUMENTO.............................................................................................................................. 37

Unidade 6 - Linguagem De Programação Pascal.................................................................. 39 6.1 - Introdução ............................................................................................................................... 39 6.2 - Linguagens De Programação................................................................................................ 39 6.3 - Tradutores .............................................................................................................................. 39

6.3.1 - Compilador....................................................................................................................................... 40 6.3.2 - Interpretador..................................................................................................................................... 40

Unidade 7 - Linguagem De Programação Pascal................................................................. 41 7.1 - Elementos Básicos................................................................................................................... 41

7.1.1 - Identificadores.................................................................................................................................. 41 7.1.2 - Palavras Reservadas ........................................................................................................................ 42

7.2 - Tipos De Dados ....................................................................................................................... 43 7.2.1 - Simples............................................................................................................................................. 43 7.2.2 - Estruturados..................................................................................................................................... 44 7.2.3 - Definidos Pelo Usuário .................................................................................................................... 44

7.3 - Expressões Aritméticas .......................................................................................................... 45 7.3.1 - Operadores Aritméticos................................................................................................................... 45 7.3.2 - Prioridade ........................................................................................................................................ 46 7.3.3 - Funções E Procedimentos Numéricos Predefinidos ........................................................................ 46

7.4 - Expressões Lógicas ................................................................................................................. 48 7.4.1 - Operadores Relacionais................................................................................................................... 48 7.4.2 - Operadores Lógicos......................................................................................................................... 49 7.4.3 - Prioridade ........................................................................................................................................ 49

7.5 - Formato De Um Programa Pascal ....................................................................................... 50 7.5.1 - Declaração De Uso De Unidades .................................................................................................... 51 7.5.2 - Declaração De Constantes................................................................................................................ 51 7.5.3 - Declaração De Tipos ....................................................................................................................... 51 7.5.4 - Declaração De Variáveis ................................................................................................................. 52 7.5.5 - Declaração De Procedimentos E Funções ....................................................................................... 52 7.5.6 - Área De Comandos ......................................................................................................................... 53

7.6 - Comentários ............................................................................................................................ 53 Unidade 8 - Comandos Básicos Da Linguagem Pascal......................................................... 55

8.1 - Atribuição............................................................................................................................... 55 8.2 - Entrada .................................................................................................................................... 55 8.3 - Saída......................................................................................................................................... 57

Page 4: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

4

8.4 - Comandos De Decisão ............................................................................................................ 59 8.4.1 - Decisão Simples ( If-Then ) ........................................................................................................... 59 8.4.2 - Decisão Composta ( If-Then-Else )................................................................................................ 60 8.4.3 - Decisão Múltipla ( Case-Of ) .......................................................................................................... 62

8.5 - Comandos De Repetição......................................................................................................... 65 8.5.1 - Repetição Com Teste No Início ( While-Do ) ................................................................................ 65 8.5.2 - Repetição Com Teste No Final ( Repeat-Until ) ............................................................................. 66 8.5.3 - Repetição Automática ( For ) ........................................................................................................... 68

Unidade 9 – Variáveis Compostas Homogêneas.................................................................... 70 9.1 - Vetores ..................................................................................................................................... 71 9.2 - Matrizes ................................................................................................................................... 72 10.1 - Procedimento ....................................................................................................................... 75 10.2 - Função................................................................................................................................... 77 10.3 - Variáveis Globais E Variáveis Locais ................................................................................. 80 10.4 - Parâmetros ............................................................................................................................ 80 10.5 - Utilizando Arrays Como Parâmetros ................................................................................. 83

Unidade 11 - Manipulação De Strings ................................................................................... 84 11.1 - O Tipo De Dado String......................................................................................................... 84 11.2 - Usando Strings Como Parâmetros Em Subrotinas ........................................................... 85 11.3 - Funções E Procedimento Predefinidos ............................................................................... 85 11.4 - Controle Do Vídeo E Do Teclado ........................................................................................ 90

APÊNDICE ............................................................................................................................. 95 - GLOSSÁRIO - .............................................................................................................................. 95

Page 5: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

5

Unidade 1 – Lógica de Programação

• O uso corriqueiro da palavra lógica está normalmente relacionado à coerência

e racionalidade. Freqüentemente associa-se lógica apenas à matemática, não

percebendo sua aplicabilidade e relação com as demais ciências.

• Podemos relacionar lógica com a “correção do pensamento”, pois uma de

suas preocupações é determinar quais operações são válidas e quais não

são, fazendo análises das formas e leis do pensamento.

• Podemos dizer também que a lógica é a “arte de bem pensar”, que é a

“ciência das formas do pensamento”. Visto que a forma mais complexa do

pensamento é o raciocínio, a lógica estuda a “correção do raciocínio”.

• A lógica tem em vista a “ordem da razão”. Por isso a lógica estuda e ensina a

colocar “ordem no pensamento”

• Exemplos:

Todo mamífero é um animal.

Todo cavalo é um mamífero.

Portanto, todo cavalo é um animal.

1.1 - O que é Lógica de programação

• Significa o uso correto das leis do pensamento, da “ordem da razão” e de

processos de raciocínio e simbolização formais na programação de

computadores, objetivando racionalidade e o desenvolvimento de técnicas

que cooperem para a produção de soluções logicamente válidas e coerente,

que resolvam com qualidade os problemas que se deseja programar.

• O raciocínio é algo abstrato, intangível.

• Os seres humanos têm a capacidade de expressá-lo através da palavra

falada ou escrita, que por sua vez se baseia em um determinado idioma, que

segue uma série de padrões (gramática).

• Um mesmo raciocínio pode ser expresso em qualquer um dos inúmeros

idiomas existentes, mas continuará representando o mesmo raciocínio,

usando apenas outra convenção.

Page 6: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

6

• Algo similar ocorre com a Lógica de Programação, que pode ser concebida

pela mente treinada e pode ser representada em qualquer umas das

inúmeras linguagens de programação existentes.

• O objetivo principal do estudo da Lógica de Programação é a construção de

algoritmos coerentes e válidos.

Lógica de Programação - é a técnica de encadear pensamentos para atingir

determinado objetivo.

1.2 - Seqüência Lógica

• São passos executados até atingir um objetivo ou solução de um problema.

• Estes pensamentos, podem ser descritos como uma seqüência de instruções,

que devem ser seguidas para se cumprir uma determinada tarefa.

Seqüência Lógica são passos executados até atingir um objetivo ou solução de um

problema.

1.3 - Instruções

• São um conjunto de regras ou normas definidas para a realização de algo.

• Na linguagem comum, entende-se por instruções “um conjunto de regras ou normas definidas para a realização ou emprego de algo”.

• Em informática, porém, instrução é a informação que indica a um computador

uma ação elementar a executar.

• Convém ressaltar que uma ordem isolada não permite realizar o processo

completo, para isso é necessário um conjunto de instruções colocadas em

ordem seqüencial lógica.

Page 7: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

7

• Por exemplo, se quisermos fazer uma omelete de batatas, precisaremos

colocar em prática uma série de instruções: descascar as batatas, bater os

ovos, fritar as batatas, etc...

• É evidente que essas instruções tem que ser executadas em uma ordem

adequada – não se pode descascar as batatas depois de fritá-las.

• Dessa maneira, uma instrução tomada em separado não tem muito sentido;

para obtermos o resultado, precisamos colocar em prática o conjunto de

todas as instruções, na ordem correta.

Instruções são um conjunto de regras ou normas definidas para a realização ou

emprego de algo. Em informática, é o que indica a um computador uma ação

elementar a executar.

Page 8: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

8

Unidade 2 – Introdução aos Algoritmos

2.1 - Definição

• Na medida em que precisamos especificar uma seqüência de passos,

precisamos utilizar ordem, ou seja, “pensar em ordem”, portanto, precisamos

utilizar lógica.

• Quando elaboramos um algoritmo devemos especificar ações claras e

precisas, que a partir de um estado inicial, após um período de tempo finito,

produzem um estado final previsível e bem sucedido.

• Um algoritmo é formalmente uma seqüência finita de passos que levam a

execução de uma tarefa. Podemos pensar em algoritmo como uma receita,

uma seqüência de instruções que dão cabo de uma meta específica. Estas

tarefas não podem ser redundantes nem subjetivas na sua definição, devem

ser claras e precisas.

• Como exemplos de algoritmos podemos citar os algoritmos das operações

básicas (adição, multiplicação, divisão e subtração) de números reais

decimais. Outros exemplos seriam os manuais de aparelhos eletrônicos,

como um videocassete, que explicam passo-a-passo como, por exemplo,

gravar um evento.

• Até mesmo as coisas mais simples, podem ser descritas por seqüências

lógicas. Por exemplo:

– “Chupar uma bala”. · Pegar a bala

· Retirar o papel

· Chupar a bala

· Jogar o papel no lixo

– “Somar dois números quaisquer”. · Escreva o primeiro número no retângulo A

· Escreva o segundo número no retângulo B

· Some o número do retângulo A com número do retângulo B e

coloque o resultado no retângulo C

Page 9: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

9

Fazemos uso constantemente de algoritmos em nosso cotidiano: a maneira

como uma pessoa toma banho é um algoritmo.

Outros algoritmos freqüentemente encontrados são:

– Instruções para se utilizar um aparelho eletrodoméstico;

– Uma receita para preparo de algum prato;

– Guia de preenchimento para declaração de imposto de renda;

– A regra para determinação de máximos e mínimos de funções são calculadas

por derivadas sucessivas;

– A maneira como as contas de água, luz e telefone são calculadas

mensalmente, etc.

2.1.1 – Uma Definição Formal

“Um Algoritmo é uma seqüência de instruções ordenadas de forma lógica

para a resolução de uma determinada tarefa ou problema.”

– Um algoritmo é um conjunto finito de instruções que, se seguidas, realizam

uma determinada tarefa.

– Além disso, todo algoritmo deve satisfazer:

a) Entrada – zero ou mais valores de entrada

b) Saída – pelo menos um valor deve ser produzido

c) Clareza – toda instrução deve ser clara e não ambígua

d) Término – o algoritmo deve terminar após um número finito de passos

e) Efetividade – toda instrução deve ser factível

Page 10: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

10

2.1.2 – Importância

– A importância do algoritmo está no fato de termos que especificar uma

seqüência de passos lógicos para que o computador possa executar uma

tarefa qualquer, pois o mesmo por si só não têm vontade própria, faz

apensa o que mandamos.

– Com uma ferramenta algorítmica, podemos conceber uma solução para

um dado problema, independendo de uma linguagem específica e até

mesmo do próprio computador,

2.1.3 - Algoritmos não – computacionais

– Exemplo de Algoritmo Não-Computacional:

– Problema: Usar um telefone público.

Início

1) Tirar o fone do gancho;

2) Ouvir o sinal de linha;

3) Introduzir o cartão;

4) Teclar o número desejado;

5) Se der o sinal de chamar

5.1) Conversar;

5.2) Desligar;

5.3) Retirar o cartão;

6) Senão

6.1) Repetir;

Fim.

2.2 Características

– Todo algoritmo deve apresentar algumas características básicas:

• Ter fim;

DESVIO SEQUENCIAL

Page 11: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

11

• Não dar margem à dupla interpretação (não ambíguo);

• Capacidade de receber dado(s) de entrada do mundo exterior;

• Poder gerar informações de saída para o mundo externo ao do

ambiente do algoritmo;

• Ser efetivo (todas as etapas especificadas no algoritmo devem ser

alcançáveis em um tempo finito).

2.3 Formas de representação

2.3.1 Descrição Narrativa Faz-se uso do português para descrever algoritmos. Exemplo:

Receita de Bolo:

• Providencie manteiga, ovos, 2 kg de massa, etc

• Misture os ingredientes

• Despeje a mistura na fôrma de bolo

• Leve a fôrma ao forno

• Espere 20 minutos

• Retire a fôrma do forno

• Deixe esfriar

• Prove

– VANTAGENS

• O português é bastante conhecido por nós;

– DESVANTAGENS

• Imprecisão;

• Pouca confiabilidade ( a imprecisão acarreta a desconfiança);

• Extensão (normalmente, escreve-se muito para dizer pouca coisa).

Page 12: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

12

2.3.2 Linguagem Algorítmica

– Consiste na definição de uma pseudolinguagem de programação, cujos

comandos são em português, para representar algoritmos.

– Os algoritmos são descritos em uma linguagem chamada pseudocódigo.

– Este nome é uma alusão à posterior implementação em uma linguagem

de programação, por exemplo, Visual Basic, estaremos gerando código

em Visual Basic.

– Por isso os algoritmos são independentes das linguagens de

Programação. Ao contrário de uma linguagem de programação não existe

um formalismo rígido de como deve ser escrito o algoritmo.

– O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja,

ele deve ser o intermediário entre a linguagem falada e a linguagem de

programação.

– EXEMPLO:

Algoritmo CALCULA_DOBRO; Inicio

Leia NUM;

DOBRO ← 2 * NUM;

Escreva DOBRO;

Fim.

– VANTAGENS:

Independência física da solução (solução lógica apenas);

Usa o português com base;

Pode-se definir quais e como os dados vão estar estruturados;

Passagem quase imediata do algoritmo para uma linguagem de

programação qualquer.

– DESVANTAGENS:

Page 13: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

13

Exige a definição de uma linguagem não real para trabalho;

Não padronizado.

2.3.3 Portugol

– Durante nosso curso iremos aprender a desenvolver nossos Algoritmos

em uma pseudo-linguagem conhecida como “Portugol” ou Português

Estruturado.

– “Portugol” é derivado da aglutinação de Português + Algol.

– Algol é o nome de umalinguagem de programação usada no final da

década de 50.

2.4 Fases de um algoritmo

– Ao montar um algoritmo, precisamos primeiro dividir o problema

apresentado em três fases fundamentais.

– Onde temos:

ENTRADA: São os dados de entrada do algoritmo

PROCESSAMENTO: São os procedimentos utilizados para chegar

ao resultado final.

SAÍDA: São os dados já processados.

Entrada

Processamento

Saída

Page 14: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

14

2.5 O que é um programa e linguagem de programação

2.5.1 O que é um Programa?

Os programas de computadores nada mais são do que algoritmos escritos

numa linguagem de computador e que são interpretados e executados por uma

máquina, no caso um computador. Dada esta interpretação rigorosa, um programa é

por natureza muito específico e rígido em relação aos algoritmos da vida real.

2.5.2 O que é uma Linguagem de Programação?

– São softwares que permitem o desenvolvimento de programas. Possuem

um poder de criação ilimitado, desde jogos, editores de texto, sistemas

empresariais até sistemas operacionais.

– Existem várias linguagens de programação, cada uma com suas

características próprias.

– Exemplos: Pascal, Clipper, C, C++, Visual Basic, Delphi, Java, etc.

2.6 Exercícios de Fixação

1) Crie uma seqüência lógica para tomar banho

2) Faça um algoritmo para somar dois números e multiplicar o resultado pelo

primeiro número

3) Descreva com detalhes a seqüência lógica para Trocar um pneu de um carro

4) Faça um algoritmo para trocar uma lâmpada. Descreva com detalhes

Page 15: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

15

Unidade 3 – Estruturas de implementação de algoritmos – Quando temos um problema e vamos utilizar um computador para resolvê-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.

3.1 Características de implementação dos algoritmos

– Os algoritmos terão a seguinte estrutura:

ALGORITMO <Nome do algoritmo>

<definições>

INÍCIO

<comandos>

FIM

– Regras para se escrever um algoritmo

Para escrever um algoritmo precisamos descrever a seqüência de

instruções, de maneira simples e objetiva.

Para isso utilizaremos algumas técnicas:

• Usar somente um verbo por frase;

• Imaginar que você está desenvolvendo um algoritmo para pessoas

que não trabalham com informática;

• Usar frases curtas e simples;

• Ser objetivo;

Page 16: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

16

• Procurar usar palavras que não tenham sentido dúbio.

– O aprendizado de Algoritmos

Algoritmos não se aprende:

• Copiando algoritmos

• Estudando algoritmos

Algoritmos só se aprende

• Construindo algoritmos

• Testando algoritmos

3.1.1 Refinamentos Sucessivos

– Um algoritmo é considerado completo se os seus comandos forem no

entendimento do seu destinatário.

– Num algoritmo, um comando que não for do entendimento do destinatário

terá que ser desdobrado em novos comandos, que constituirão um

refinamento do comando inicial, e assim sucessivamente, até que os

comandos sejam entendidos pelo destinatário.

– Por exemplo, o algoritmo para calcular a média de dois números pode ser

escrito da seguinte forma:

ALGORITMO CALCULA_MÉDIA;

INICIO

Receba os dois números;

Calcule a média dos dois números;

Exiba o resultado;

FIM.

– Podemos desdobrar o comando “Calcula a média dos dois números” em:

Soma os dois números;

Divida o resultado por 2;

Page 17: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

17

– Após esse refinamento, o algoritmo pode ser considerado completo, a

menos que o destinatário não saiba fazer as operações de adição e

divisão, ou não seja capaz de entender diretamente algum comando.

– O algoritmo estando completo, podemos reescrevê-lo, inserindo o

refinamento na posição de comando que foi refinado. Assim sendo, obtém-

se:

ALGORITMO Calcula_Média;

Início

Receba os dois números;

Soma os dois números;

Divida o resultado por 2;

Exiba o resultado;

Fim.

– Reescrever um algoritmo, com os refinamentos sucessivos inseridos nos

seus devidos lugares, permite ter uma visão global de como o algoritmo

deve ser executado.

– À medida que o algoritmo passa a ser maior e mais complexo, esta visão

global torna-se menos clara e, neste caso, um algoritmo apresentado com

os refinamentos sucessivos separados oferece uma melhor abordagem

para quem precisar entendê-lo.

3.1.2 Linearização de expressões

– Para a construção de Algoritmos todas as expressões aritméticas devem

ser linearizadas, ou seja, colocadas em linhas.

– É importante também ressalvar o uso dos operadores correspondentes da

aritmética tradicional para a computacional.

Page 18: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

18

( 2 / 3 + ( 5 – 3 ) ) + 1 =

COMPUTACIONAL

3.1.3 Modularização de Expressões

– A modularização é a divisão das expressões em partes, proporcionando

maior compreensão e definindo prioridades para resolução da mesma.

– Como pode ser observado no exemplo anterior, em expressões

computacionais usamos somente parênteses “ ( ) “ para modularização.

– Na informática podemos ter parênteses dentro de parênteses.

– Exemplos de prioridade:

(2+2)/2=2

2+2/2=3

3.2 Operação de Entrada e Saída

– Os cálculos do computador são de pouco valor a não ser que, primeiro

possamos fornecer os dados sobre os quais estes cálculos serão

efetuados e, segundo, ver os resultados destes cálculos.

– Definimos aqui dois novos comandos da nossa linguagem algorítmica para

manusear entrada e saída.

O comando leia nos permite ler valores dados atribuindo-os à

variáveis indicadas;

O comando escreva nos permite mostrar os resultados.

2 + ( 5 – 3 ) + 1 = 3 TRADICIONAL

Page 19: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

19

– A entrada pode vir do teclado ou qualquer outro dispositivo de entrada.

– A saída pode aparecer na tela do monitor de vídeo ou ser impressa em

papel.

– Caso deseja-se imprimir o resultado, usa-se o comando imprima.

– A sintaxe destes comandos são:

Leia variável-1, variável-2,..., variável-n

Escreva expressão-1, expressão-2, ..., expressão-n

– Exemplos

Leia (Nota) Escreva (15) Imprima (Nota)

Leia(A, B, C) Escreva (Nota + 2) Imprima (Tel)

Leia (Nome) Escreva (A< B) Imprima (Result)

3.3 Operadores

3.3.1 Operadores Aritméticos

Operação Operador

Adição +

Subtração -

Multiplicação *

Divisão /

Exponenciação **

3.3.2 Operadores Lógicos

– Os operadores lógicos servem para combinar resultados de expressões,

retornando se o resultado final é verdadeiro ou falso.

– Os operadores lógicos são:

Page 20: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

20

Operador Descrição

E (AND) Uma expressão E é verdadeira se todas as condições forem

verdadeiras.

OU (OR) Uma expressão OU é verdadeira se elo menos uma condição for

verdadeira.

Não (NOT) Uma expressão NÃO inverte o valor da expressão ou condição, se

verdadeira inverte para falsa e vice-versa.

– TABELA VERDADE

A B A E B A OU B NÃO(A)

V V V V F

V F F V F

F V F V V

F F F F V

– Exemplos:

Suponha que temos três variáveis A = 5. B = 8 e C = 1.

Os resultados das expressões seriam:

Expressões Resultado

A = B E B > C Falso

A < > B OU B < C Verdadeiro

A > B NÃO Verdadeiro

A < B E B > C Verdadeiro

A > = B OU B = C Falso

A < = B NÃO Falso

Page 21: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

TCA – Teoria Da Computação E Algorítmos Luís Augusto M. Mendes

21

3.3.3 Operadores Relacionais

Operação Operador

Maior que >

Menor que <

Maior ou igual >=

Menor ou igual <=

Diferente < >

Igual =

3.3.4 Operadores Especiais

Operador Descrição

MOD Retorna o resto da divisão entre dois números inteiros.

DIV Retorna o valor inteiro que resulta da divisão entre dois números

inteiros.

3.4 - Exercícios de Fixação:

1. Determine o resultado das operações:

a) 25 DIV 3

b) 172 MOD 3

c) 74 DIV 2

d) 55 MOD 4

13 2

1 6

DIVMOD

13 DIV 2 = 6

13 MOD 2 = 1

Page 22: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

22

2. Considere as variáveis a seguir e determine o resultado: A = 14; B = 7; C

= 21; D = -5; E =0

Expressões Resultado

A < B E D > C

D< A OU D = C

D = C OU B< C

B < > E E D< E

C < > D E D < > A OU D < E

A < > D NÃO

D < E E A = B E C < >D OU A < D

A = B E C < > D E B = C

C = D E A = C OU E < > D OU B < A

D < >B E B > E OU E > D

Page 23: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

23

UNIDADE 4 – Variáveis e Tipos de Dados

4.1 Conceitos de Variáveis

– Sabe-se da Matemática que uma variável é a representação

simbólica dos elementos de um certo conjunto.

– Nos algoritmos destinados a resolver um problema no computador, a

cada variável corresponde uma posição de memória, cujo conteúdo pode variar ao longo do tempo durante a execução de um algoritmo. Embora a variável possa assumir diferentes valores,

ela só pode armazenar um valor a cada instante.

– Toda variável é identificada por um nome ou identificador.

Exemplo: num algoritmo para calcular a área de um triângulo

retângulo pelo teorema de Pitágoras (a2 = b2 + c2), os

identificadores A, B e C podem representar as posições de

memória que armazenam o valor da hipotenusa e dos catetos.

– Nunca usar uma palavra reservada (que faça parte da linguagem

algorítmica), visto que, poderá causar ambigüidade no entendimento

do algorítmo.

– Na nossa linguagem algorítmica, vamos admitir que nossas variáveis

poderão armazenar valores numéricos ou alfanuméricos (strings).

4.2 Operação de Atribuição

– A operação de atribuição permite que se forneça um valor a uma

certa variável.

Se for atribuído uma expressão à variável, será armazenado o

resultado daquela expressão.

Se for atribuído uma outra variável, será armazenado o

conteúdo daquela variável.

– Para a operação de atribuição, utilizaremos a seguinte sintaxe:

variável ← expressão

Page 24: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

24

Exemplos:

A ← 2 B ← A NOTA ← 10

NOME ← ‘João’ SENHA ← ‘X3Y9’ C ← 1 / 3

A ← B + C NOTA ← NOTA - 1 X ← 2.5

4.3 Identificadores

– São os nomes dados a variáveis, constantes e programas.

– Regras para construção de Identificadores:

Não podem ter nomes de palavras reservadas (comandos da

linguagem);

Devem possuir como 1º caractere uma letra ou underscore ( _

);

Ter como demais caracteres letras, números ou underscore;

Ter no máximo 127 caracteres;

Não possuir espaços em branco;

A escolha de letras maiúscula ou minúscula é indiferente.

– Exemplos: nome, telefone, nota1, salário, idade_filho

4.4 Tipos de Dados

– No momento que formos trabalhar com variáveis, indiquemos o tipo

de informação que uma variável pode conter, isto é, se uma dada

posição de memória armazenará um número ou uma letra, etc.

– O Tipo de dado pode ser:

PRIMITIVO – pré-definido pela linguagem;

SUB-FAIXA – é uma parte de um tipo já existente;

DEFINIDO PELO USUÁRIO (ESCALAR) – definidos pelo

programador.

Page 25: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

25

Tipo de Dados Descrição

Inteiro Representa números entre -32768 até + 32767. Ocupa 2 bytes

na memória.

Real Representa os números entre 2.9 x 10-39 até 1.7 x 1038. Ocupa 6

bytes na memória.

Caracter Representa um dos caracteres da tabela ASCII. Ocupa 1 byte

na memória.

String Conjunto de caracteres (CHAR). Ocupa de 1 a 255 bytes

namemória.

Lógico Valor lógico. Assume somente dois valores: TRUE (verdadeiro)

ou FALSE (falso). Ocupa 1 byte na memória.

– As definições de variáveis como sendo do tipo CHAR (caracter) e

STRING (cadeia), possuem algumas curiosidades que merecem um

cuidado especial por parte do usuário.

– Uso das aspas ( ‘ ‘ ): atribuição de um valor para uma variável do

tipo CHAR (caracter) ou STRING (cadeia) = colocar o valor (dado)

entre aspas (‘ ‘), pois esta é a forma de informar que a informação é

um caracter.

Exemplo:

ALGORITMO Teste;

VARIÁVEIS

Letra : Caracter;

Nome: Cadeia;

Início

Nome ← ‘João’;

Letra ← ‘A’;

FIM.

Page 26: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

26

4.4.1 Manipulação de Caracteres e Strings

– Muitas vezes é necessário manipular caracteres individuais em uma

STRING (cadeia).

– Utilizaremos 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 (forma baseada no Pascal).

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-se até 255

caixas, uma para cada caracter da STRING (lembre-se que uma

STRING pode ter no máximo 255 caracteres).

– Ao utilizarmos o símbolo de colchete, estamos na verdade indicando

qual o caracter (qual a caixa) desejamos manipular.

– De acordo com o Exemplo acima, teríamos na memória a seguinte

situação:

a) Alocamos 255 bytes (caracteres) na memória. A estas posições

de memória é dado o Nome de “Nome”. Inicialmente estas

posições de memória (Caixas) possuem o conteúdo indefinido.

Page 27: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

27

b) Alocamos 1 byte (caracter) na memória. A este caracter é dado o

Nome de “Letra”. Inicialmente esta posição de memória possui o

conteúdo indefinido.

c) Na memória temos a seguinte situação:

Nome

Letra

1 2 3 4 ... 255

d) Atribuímos a variável “Nome” o valor “João”, obtendo na memória

a seguinte configuração

1 2 3 4 ... 255

‘J’ ‘O’ ‘Ã’ ‘O’

e) Atribuímos a variável “Letra” o primeiro caracter da variável

“Nome”, ou seja, o conteúdo da primeira posição de memória

(caixa). Na memória teremos a seguinte configuração:

Nome

Letra

1 2 3 4 ... 255

‘J’ ‘O’ ‘Ã’ ‘O’

‘J’

– Obs.: É possível definir variáveis do tipo STRING (Cadeia) com

menos de 255 caracteres. Para isto, basta colocar, após a

palavra STRING (Cadeia), o número de caracteres desejados

entre colchetes ( [ ] ). Exemplo:

ALGORITMO Define;

Page 28: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

28

VARIÁVEIS

Nome :CADEIA[80];

INICIO

FIM.

– Desta forma, o espaço ocupado por uma variável STRING (Cadeia)

passa de 255 bytes para apenas 80 bytes, na memória.

4.5 – Declaração de Variáveis

ALGORITMO Teste;

VARIÁVEIS

Palavra : Cadeia;

INICIO

<Comandos>;

FIM.

ALGORITMO Teste;

VARIÁVEIS

Letra, Caracter : Caracter;

INICIO

<Comandos>;

FIM.

ALGORITMO Teste;

VARIÁVEIS

Letra, Caracter : Caracter;

Número : Inteiro;

INICIO

<Comandos>;

FIM.

PROGRAM Teste; VAR Letra, Caracter : CHAR; Número : INTEGER; BEGIN <Comandos>; END.

Page 29: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

29

Unidade 5 – Estruturas De Decisão E Repetição

5.1 – Estruturas de Decisão

– Num algoritmo, os comandos deverão ser executados numa

seqüência linear, seguindo-se o texto em que estão escritos, de

cima para baixo, se não houver indicação em contrário.

INICIO

Comando-1;

Comando-2;

. . .

Comando-n;

FIM.

Exemplo:

Inicio

Leia A, B;

SOMA ← A + B;

Escreva SOMA;

Fim.

5.2 – Estrutura Condicional

– A estrutura condicional permite a escolha do grupo de ações e

estruturas a ser executado quando determinadas condições

(expressões lógicas) são ou não satisfeitas. Esta estrutura pode se

apresentar de duas formas:

Estrutura Condicional Simples;

Estrutura Condicional Composta.

INÍCIO

COMANDO-1

COMANDO-2

COMANDO-N

FIM

Page 30: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

30

5.2.1 – Estrutura condicional Simples (Se ... então)

SE condição ENTÃO

Comando-1;

Comando-2;

. . .

Comando-n;

FIM_SE;

Exemplo:

se MÈDIA>= 7 então

SITUAÇÃO ← ‘Aprovado’;

Escreva SITUAÇÃO;

fim_se;

5.2.2 – Estrutura Condicional Composta

SE condição ENTÃO

Comando-A1;

Comando-A2;

. . .

Comando-An;

SENÂO

Comando-B1;

Comando-B2;

. . .

Comando-Bn;

FIM_SE;

CONDIÇÃO

COMANDO-1

COMANDO-2

COMANDO-N

CONDIÇÃO

COMANDO-A1

COMANDO-A2

COMANDO-AN

COMANDO-B1

COMANDO-B2

COMANDO-BN

F

V

Page 31: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

31

Exemplo:

. . .

se PESO > 80 então

escreva ‘Você está obeso’;

escreva ‘Faça atividades físicas’;

senão

escreva ‘Você está no peso certo’;

escreva ‘Procure manter sua forma’;

fim_se;

. . .

5.3 Estrutura de Repetição

– A estrutura de repetição permite que uma sequência de comandos

seja executada repetidamente até que uma determinada condição

não seja satisfeita. Utilizaremos os comandos abaixo para

representar esta estrutura.

5.3.1 – Enquanto ... faça

enquanto CONDIÇÃO faça

Comando-A1;

Comando-A2;

. . .

Comando-An;

fim_enquanto;

Exemplo: Faça um algoritmo para ler e escrever o.

nome de 20 pessoas.

F

V

CONDIÇÃO

COMANDO-A1

COMANDO-A2

COMANDO-AN

Page 32: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

32

ALGORITMO LeEscreve;

VARIÁVEIS

NOME: STRING;

Total: INTEIRO;

INICIO

TOTAL ← 0;

ENQUANTO Total < 20 Faça

Leia(Nome);

Escreva (‘Nome=’, Nome);

Total ← Total + 1;

FIM_ENQUANTO;

FIM.

5.3.2 – Para ... faça

para <VARIÁVEL> de <INÍCIO> até <FIM> faça

Comando-A1;

Comando-A2;

. . .

Comando-An;

fim_para;

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

ALGORITMO LeEscreve;

VARIÁVEIS

Nome: Cadeia;

Cont : Inteiro;

INICIO

PARA Cont DE 1 ATÉ 20, Passo 1, FAÇA

Leia(Nome);

Escreva(Nome);

Page 33: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

33

FIM_PARA;

FIM.

5.3.3 – Repita ... até

repita

Comando-A1;

Comando-A2;

. . .

Comando-An;

Até <CONDIÇÃO 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 >= 20;

FIM.

5.4 – Estruturas de Seleção

– A estrutura de condição equivale a um ninho de SE’s.

ESCOLHA <expressão>

Page 34: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

34

CASO 1

Comando A1; CASO 2

Comando A2;

CASO n

Comando An;

SENÃO

Comando n;

FIM_ESCOLHA;

Exemplo:

ALGORITMO Título;

VARIÁVEIS

Título :STRING;

Op : INTEIRO;

INICIO

Leia(Op);

ESCOLHA Op:

CASO 1

TITULO = “OPÇÃO 1”;

CASO 2

TITULO = “OPÇÃO 2”; CASO 3

TITULO = “OPÇÃO 3”; CASO 4

TITULO = “OPÇÃO 4”; CASO 5

TITULO = “OPÇÃO 5”; SENÃO

TITULO = “OPÇÃO ERRADA”;

FIM_ESCOLHA;

FIM.

Page 35: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

35

5.4.1 – Se ... então Aninhados

– Usados para tomadas de decisões para mais de 2 opções.

SE condição

ENTÃO Comando-1;

SENÃO SE condição

ENTÃO Comando-2;

SENÃO Comando-3;

FIM_SE;

FIM_SE;

5.5 - EXERCÍCIOS

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

cálculo atribuir o valor para uma variável C.

3) Faça um algoritmo que leia o nome e as três notas de uma disciplina de um

aluno. Ao final escreva o nome do aluno, sua média e se ele foi aprovado a

média é 8.

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

5) Escreva um algoritmo para ler um número e determinar se ele é maior, igual

ou menor que zero.

6) Escreva um algoritmo que leia dois números e exiba o maior deles.

Page 36: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

36

7) 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 para:

• Imprimir Nome, idade e cargo.

• Imprimir o salário bruto.

• Imprimir o salário líquido.

8) Dado uma série de 20 valores reais, faça uma algoritmo que calcule e

escreva a média aritmética destes valores, entretanto se a média obtida for

maior que 8 deverá ser atribuída 10 para a média.

9) Elaborar um algoritmo que lê 3 valores a,b,c e os escreve. A seguir, encontre

o maior dos 3 valores e o escreva com a mensagem : "É o maior ".

10) Faça um algoritmo que leia um nº inteiro e mostre uma mensagem

indicando se este número é par ou ímpar.

11) Escrever um algoritmo que lê o número de identificação, as 3 notas obtidas

por um aluno nas 3 verificações e a média dos exercícios que fazem parte da

avaliação. Calcular a média de aproveitamento, usando a fórmula:

MA = (Nota1 + Nota2 x 2 + Nota3 x 3 + ME )/7

A atribuição de conceitos obedece a tabela abaixo:

Média de Aproveitamento Conceito

9,0 A

7,5 e < 9,0 B

Page 37: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

37

6,0 e < 7,5 C

4,0 < 6,0 D

< 4,0 E

O algoritmo deve escrever o número do aluno, suas notas, a média dos

exercícios, a média de aproveitamento, o conceito correspondente e a

mensagem: APROVADO se o conceito for A,B ou C e REPROVADO se o

conceito for D ou E.

12) Faça um algoritmo que, dado as três notas de um aluno, determine e exiba

a sua média final e o seu conceito, sabendo-se que:

- a média final é calculada pela média aritmética das 3 notas;

- o conceito é determinado com base na tabela abaixo:

MÉDIA FINAL CONCEITO

≥ 8,0 A

≥ 5,0 e < 8,0 B

< 5,0 C

13) O São Paulo Futebol Clube deseja aumentar o salário de seus jogadores.

O reajuste deve obedecer a seguinte tabela:

SALÁRIO ATUAL (R$) AUMENTO

0,00 a 1.000,00 20%

1.000,01 a 5.000,00 10%

acima de 5.000,00 0%

Page 38: Teoria da Computação e Algoritmos Prof. Luís Augusto ...files.profandre5.webnode.com/200000003-dd986de927/ICC I - Cap 4... · UNIVERSO TCA – Teoria Da Computação E Algorítmos

UNIVERSO

Teoria da Computação e Algoritmos Luís Augusto M. Mendes

38

Escrever um algoritmo que leia o nome e o salário atual de um jogador,

e exiba o nome, o salário atual e o salário reajustado.

14) Escreva um algoritmo que leia três números inteiros e positivos (A, B, C) e

calcule a seguinte expressão:

R + S onde R = ( A + B )2 e S = ( B + C)2

D =

2

15) O custo ao consumidor de um carro novo é a soma do custo de fábrica com

a percentagem do distribuidor e dos impostos (aplicados ao custo de fábrica).

Supondo que a percentagem do distribuidor seja de 28% e os impostos de

45%, escrever um algoritmo que leia o custo de fábrica de um carro e escreva

o custo ao consumidor.