algoritmos e programação de computadores prof.: wyllian fressatti

77
Algoritmos e Algoritmos e Programação de Programação de Computadores Computadores Prof.: Wyllian Prof.: Wyllian Fressatti Fressatti

Upload: internet

Post on 18-Apr-2015

107 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Algoritmos e Algoritmos e Programação de Programação de ComputadoresComputadores

Algoritmos e Algoritmos e Programação de Programação de ComputadoresComputadores

Prof.: Wyllian FressattiProf.: Wyllian Fressatti

Page 2: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Hardware: parte física do computador. Formada pelos circuitos eletrônicos, dispositivos mecânicos, magnéticos e etc.

• Software: os programas que executam sobre o hardware.

HARDWARE + SOFTWARE = COMPUTADOR

O Computador

Page 3: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Conceitos Iniciais

• Lógica de programação: é a técnica de encadear pensamentos para atingir determinado objetivo. O aprendizado desta técnica é necessário, para quem deseja trabalhar com desenvolvimento de sistemas e programas.

• Algoritmo: é uma seqüência de passos finitos com o objetivo de solucionar um problema.

(Lopes, Garcia)

Page 4: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Quando nós temos um problema, nosso objetivo é solucioná-lo. Algoritmo não é a solução de um problema, pois, se assim fosse, cada problema teria um único algoritmo. Algoritmo é um conjunto de passos (ações) que levam à solução de um determinado problema, ou então, é um caminho para a solução de um problema e, em geral, os caminhos que levam a uma solução são muitos.

(Lopes, Garcia)

Page 5: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Algoritmo• Frequentemente nos deparamos com vários

problemas. Muitas vezes já vimos um algoritmo e não sabíamos que, à aquela seqüência de passos damos o nome de algoritmo. Um exemplo bem freqüente é quando queremos falar em algum telefone público. Aquilo que está escrito no telefone é um algoritmo. Veja a seguir um exemplo de um algoritmo do cotidiano.

1 – Retirar o telefone do gancho2 – Esperar o sinal3 – Colocar o cartão4 – Discar o número5 – Falar no telefone6- Colocar o telefone no gancho

Page 6: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Algoritmo

Outro exemplo clássico é um algoritmo para resolver o problema de fritar um ovo

• 1 Pegar frigideira, ovo, óleo e sal• 2 Colocar óleo na frigideira• 3 Acender o fogo• 4 Colocar a frigideira no fogo• 5 Esperar o óleo aquecer• 6 Colocar o ovo• 7 Retirar quando pronto

Cada linha do algoritmo podemos chamar de uma instrução, logo, podemos dizer que um algoritmo é um conjunto de instruções.

Instrução indica a um computador uma ação elementar a ser executada.

Page 7: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Algoritmo para trocar lâmpada

• 1 Se (lâmpada estiver fora do alcance) pegar escada;

• 2 Se (lâmpada estiver quente) pegar pano;

• 3 Pegar lâmpada;• 4 Tirar lâmpada queimada;• 5 Colocar lâmpada boa;

Page 8: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Exemplo Hipotético do funcionamento de um computador

Conjunto de

EscaninhosOperad

or

Page 9: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Operador - só faz o que for ordenado, não toma decisões

Conjunto de escaninhos - com capacidade para um cartão cada

Máquina de calcular - executa as operações

Caixa de entrada - para receber cartões de fora

Máquina de escrever - para dar saída às informações / resultados

Exemplo Hipotético do funcionamento de um computador

Page 10: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Para que este modelo funcione, deve existir em cada cartão uma INSTRUÇÃO. O operador segue de escaninho em escaninho, fazendo exatamente o que está escrito em cada cartão, até encontrar um cartão contendo uma instrução que manda que ele PARE.

Exemplo Hipotético do funcionamento de um computador

Page 11: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO Obs.: Utilizaremos a notação (E10) significando "o conteúdo do escaninho E10", isto é, o valor que está agora armazenado no

escaninho E10 (ou, mais formalmente, o valor corrente daquela posição de memória).

• E1 : leia o conteúdo de E10 (através de meio externo - caixa de entrada)

• E2 : leia o conteúdo de E11 (através de meio externo - caixa de entrada)

• E3 : Somar E10 com E11 (usando a máquina de calcular) e armazene o resultado em E12

• E4 : imprima o conteúdo de E12 (usando a máquina de escrever)

• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

Page 12: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

Page 13: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

0

Page 14: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

000011

Page 15: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

1

11

Page 16: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

1

11

Page 17: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

1

11

2

Page 18: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

2

1212

Page 19: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

2

1212

Page 20: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

2

1212

3

Page 21: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

3

123

123

Page 22: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

3

123

123

Page 23: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

3

123

123

4

Page 24: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

4

1234

1234

Page 25: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

4

1234

1234

Page 26: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

4

1234

1234

5

Page 27: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

5

12345

12345

Page 28: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

5

12345

12345

Page 29: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

EXERCÍCIO 2Faça um algoritmo que imprima os números de 1 a 5

Execução

• E1 : armazene o valor 0 no E10• E2 : E10 recebe o conteúdo de E10

mais 1• E3 : Imprima o valor de E10• E4 : Se E10 menor que 5 vá para E2• E5 : PARE

A partir de um sinal externo do tipo COMECE, este modelo inicia do E1 daí por diante prossegue até E5 (o final).

5

12345

12345

Page 30: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Algoritmos

• Sintaxe: dita as regras de como as sentenças e cada um de seus elementos devem ser construídos corretamente;

• Semântica: se preocupa com o significado de uma sentença construída.

Page 31: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Todo algoritmo deve ser descrito em alguma linguagem;

• Assim, o algoritmo deve respeitar um padrão sintático;

• Primeira linguagem: LPE (Linguagem em Português Estruturado);

Algoritmos

Page 32: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Estrutura básica do algoritmo em LPE:

Programa teste;

{ //Início programa

int x, y, soma;

soma = x + y; Imprima (“\soma”, soma);

} //Fim programa

Identificação do algoritmo

Bloco de declarações: variáveis

Bloco de comandos

Algoritmos

Page 33: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Um primeiro algoritmo em LPE:

Prog primeiro;{ imprima (“\n Oi Mundo!”);

}

Algoritmos

Comando Imprima. Gera uma saída no

vídeo. Será visto mais adiante

Page 34: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Algoritmos geralmente descrevem algum processamento de dados:

• Estes dados precisam ser representados (descritos) nos algoritmos;

Dados de Entrada

Dados de Saída

Processamento(Computador)

Algoritmos

Page 35: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Um algoritmo para fins computacionais é a descrição de ações que manipulam objetos em função do tempo.

– Objetos descrevem o estado computacional;* Objetos frequentemente serão

chamados de variáveis.

Algoritmos

Page 36: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• A cada objeto é associado um nome que identifica este objeto ao longo da programação. Este nome é chamado identificador.

• De forma geral, podemos dizer que um identificador está associado à uma célula de memória.

• O termo variável é freqüentemente utilizado como sinônimo de identificador.

Algoritmos

Page 37: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Regras para nomes de Variáveis:

– Use somente letras e números;– O primeiro caracter do nome deve ser uma letra;– Não é permitido o uso de caracteres especiais.

• Exemplos válidos: ImpostoDeRenda, F1, soma, produto, desconto, SalarioHora.

• Exemplos inválidos: 1f, Imposto-renda, salario hora.

Algoritmos

Page 38: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Atributos (características) de um objeto:– Nome;– Célula de memória;– Valor associado;– Tipo: define a categoria dos dados que

podem ser armazenados no objeto.

conteúdo (valor armazenado na célula de memória)

Nome identificador do objeto

célula de memória

Algoritmos

Page 39: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Atributos de um objeto:– O tipo:

• especifica uma classe de valores que podem ser armazenados na célula de memória associada ao identificador;

• define as operações válidas sobre o identificador;

Algoritmos

Page 40: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Tipo de Dado

– Um identificador armazena um único dado num instante, mas este dado não pode ser qualquer um;

– As células de memória do computador precisam ser compatíveis com o tipo de dado que vão armazenar;

Algoritmos

Page 41: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Devemos informar ao computador qual o tipo de dado que vamos armazenar;

• Esta informação determina quantas células de memória serão necessárias para armazenar o dado;

• Esta informação define quais serão as operações possíveis de se aplicar sobre os dados;– Exemplo: em um dado numérico pode-se aplicar

uma operação aritmética.

Algoritmos

Page 42: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Os tipos de dados podem variar de uma linguagem para outra. No entanto, existem dois tipos básicos:– Tipos simples;– Tipos estruturados (estudados mais

adiante);Tipos de Dados Simples

Numérico Nulo (Void)Caracter

Inteiro Real

Algoritmos

Page 43: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Declaração do tipo do identificador (objeto): em LPE.

tipo identificador;

Algoritmos

Esta é uma seção obrigatória e todas as variáveis devem

ser declaradas antes de serem

referenciadas

Page 44: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Os Tipos de Dados Numéricos são divididos basicamente em dois grandes conjuntos:– Inteiros;– Reais;

• Os inteiros podem ser positivos, negativos ou nulos, mas não possuem um componente decimal;

Algoritmos

Page 45: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Os inteiros são compatíveis com os reais, mas os reais não são compatíveis com os inteiros;

• Assim, um objeto real pode receber um valor inteiro, mas um objeto inteiro não pode receber um valor real;

• Declaração de uma variável do tipo inteiro:

LPE Pascal C int x x:integer int x

Algoritmos

Page 46: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Os reais podem ser positivos, negativos ou nulos, e possuem sempre um componente decimal;

• Exemplos: 2,34; 0,0; -214,123;

• Computacionalmente, existem muitas diferenças entre o armazenamento de números inteiros e números reais;

Algoritmos

Page 47: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Os números inteiros consomem menos espaço de armazenamento em memória que o tipo real;

• Declaração de variáveis do tipo real:Exemplo

LPE Pascal C real x x: real float x

Algoritmos

Page 48: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Os tipos de dados não numéricos:– Caracter: formado pelas letras (de A a Z, e

de a a z), dígitos (de 0 a 9) e caracteres especiais (~, ., ?, >, <, ...);

– A diferença entre caracteres e dados numéricos estão na forma de armazenamento, e nas operações legais permitidas sobre os mesmos;• Exemplo: operações aritméticas sobre os

dados numéricos.

Algoritmos

Page 49: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Para diferenciar um caracter de um identificador ou de um dado numérico, utilizaremos apóstrofes (aspas simples). . Assim:

– 8 é um dado numérico;– ‘8’ é um caracter;– A é um identificador;– ‘A’ é um caracter;

Algoritmos

Page 50: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Objetos declarados como do tipo caracter poderão armazenar um único caracter;

• Para armazenar uma seqüência de caracteres será utilizada a estrutura cadeia de caracteres, que consiste num tipo de dado estruturado;– Exemplo:

• ‘Z’ é um caracter;• “ANA” é uma cadeia de caracteres;

Algoritmos

Page 51: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

•Declaração:

LPE Pascal C

char x x: char char x

Algoritmos

Page 52: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Tipo Lógico: os valores lógicos podem assumir uma entre duas possibilidades (verdadeiro ou falso);– Só poderá armazenar um destes dois valores;

• Muito utilizados em controle do fluxo lógico do algoritmo;

LPE Pascal C logico x x:boolean não existe

Algoritmos

Page 53: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Caso haja mais de uma variável do mesmo tipo:

variaveis tipo identificador1, identificador2;• Se houver identificadores de tipos

diferentes (inteiro,real, lógico):variaveis int i1, i2, i3, i; real r1, r2;

Algoritmos

Page 54: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Escolha do tipo de um identificador: deve-se conhecer bem a solução do problema.– Exemplos de inteiros:

• número de pessoas;• um número par ou ímpar;• idade de uma pessoa;• quantidade de objetos;

– Exemplos de reais:• o peso de uma pessoa;• um percentual;• nota de uma avaliação;• média;• preço de um produto;

Algoritmos

Page 55: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Situações de dúvida– Exemplos:

• raíz quadrada de um número;• divisão entre dois números inteiros;

• Quando houver alguma possibilidade de um identificador numérico receber um valor não inteiro, deve ser declarado como real.

Inteiros

Reais

Algoritmos

Page 56: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Valores dos dados– os dados são valores que são armazenados em

células de memória e que são acessados (ao longo do algoritmo) por referência aos identificadores;

– assim, se tivermos os identificadores i, r e l, para objetos do tipo inteiro e real respectivamente, e atribuírmos os valores 100 e 3,14; teríamos a seguinte configuração:

– Estes são os valores exibidos quando se utiliza a instrução Imprima.

100 3,14

i r

Algoritmos

Page 57: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Tipos de dados serão necessários na declaração de objetos (variáveis);

• Tipos disponíveis em LPE:

TIPO DE DADO DESCRIÇÃO

CharTipo de dado caracter – Todos os caracteres, desde que escrito

entre aspas simples: Ex: ‘a’, ‘A’;

int Tipo de dado numérico de valores inteiros: Ex: 54

real Tipo de dado numérico de valores reais: Ex:0,56

Char[numero]String

Conjunto de caracteres “Olá Mundo”;

Algoritmos

Page 58: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Operadores Aritméticos

Os operadores aritméticos são utilizados na construção de expressões matemáticas, que podem ser formadas por números, constantes de valor numérico ou variáveis numéricas. São eles:

OPERADOR DESCRIÇÃO

+ Adição

- Subtração

* Multiplicação

/ Divisão

% (mod) Resto da divisão

div Quociente da divisão

Algoritmos

Page 59: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Algoritmos

<variável> <- <expressão>;//Exemploresultado <- 5*86;

Comandos

Comandos simplesOs comandos simples ou não estruturados caracterizam-se por não

possuírem comandos relacionados ou dependentes. Todos os comandos são separados por ponto e vírgula.

Exemplo Comando de AtribuiçãoComando utilizado para atribuir um valor à uma variável e definido pelo

operador de atribuição “<-“. Consiste pelo nome de uma variável seguido do operador de atribuição “<-“, depois por uma expressão válida e ponto e vírgula. Por exemplo:

Page 60: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Comandos

Entrada de dados (leia)leia(<variável>);

EX: leia(total1);

Comando onde o usuário especifica um valor para uma variável em tempo de interpretação. O valor digitado deve ser correspondente ao tipo de dado da variável definida como parâmetro ao comando. Só permite ler valores para uma variável por comando. Sua sintaxe é:

Algoritmos

leia(Nome da variável);

//Exemploleia(total1);

Page 61: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

Saída de dados (ìmprima)

Comando de saída de dados para o monitor. Imprime na tela o valor de cada parâmetro. Caso haja mais de um parâmetro, o comando efetua a concatenação de todos e imprime o resultado. São permitidas expressões de qualquer tipo como parâmetro. Os parâmetros são separados por vírgula. Exemplo:

Imprima (<expressões>);

Exemploimprima(‘Resultado: ‘, a+b-5);

Algoritmos

imprima(expressão ou variável);

//Exemploimprima(“Resultado: “, a+b-5);

Page 62: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Exemplo:considerando a figura mostrada acima (um retângulo), faça um algoritmo que calcule a área da mesma.

• Neste problema existem três valores (estados) a serem representados:– Altura do retângulo (h);– Largura (ou base) do retângulo (b);– Área do retângulo.

h

b

Dados de Entrada

Dados de Saída

Algoritmos

Page 63: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Nesta solução, os valores de a e de h só serão conhecidos em tempo de execução, e deverão ser fornecidos pela pessoa que executa o algoritmo.

• Assim, a preocupação não é com o valor do resultado produzido, e sim com a produção de resultados corretos.

Algoritmos

Page 64: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Exemplo: no algoritmo para calcular a área de um triângulo retângulo, descrito abaixo, os objetos base e altura são argumentos de entrada, enquanto o objeto area é argumento de saída.

Programa Retangulo;

{ real base, altura, area real;

Imprima (“Digite um valor para a altura do retângulo: “); leia (altura); Imprima (“Digite um valor para a base do retângulo: “); leia (base); area <- altura*base; Imprima (“Valor da área: “, area);}

123456789

101112

Algoritmos

Page 65: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Teste de mesa: tabela que demonstra os resultados obtidos ao longo da execução de um algoritmo.– Exemplo: execução do algoritmo do slide anterior para

entrada dos valores 3 para o objeto base e 5 para o objeto altura;

Linha Base Altura Area

7 - 5 -

9 3 5 -

10 3 5 15

12 3 5 15

Algoritmos

Page 66: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Escreva um algoritmo que calcule o diâmetro, a área e a circunferência de um círculo, sabendo que o único dado disponível é o seu raio.

– Diâmetro = 2 * Raio– Área = Pi * Raio * Raio– Circunferência= 2 * Pi * Raio

• Ler dois números inteiros e imprimir a soma.• Entrar com dois números inteiros e imprimir a média aritmética.• Criar um algoritmo que solicite e imprima os valores da diagonal

maior, diagonal menor e calcule a área de um losango. – Fórmula: (diagonal maior * diagonal menor) dividido por 2

• Elaborar um algoritmo para calcular e apresentar o volume de uma lata de óleo, utilizando a fórmula: VOLUME = 3.14159 * (R*R) * ALTURA.

Algoritmos

Page 67: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Escreva um programa em LPE que pergunte o nome a altura (em metros) e a massa (em Kg) do usuário. Em seguida o programa deverá exibir uma mensagem dizendo o nome do usuário e a sua densidade corporal.– Densidade = peso / altura2

Algoritmos

Page 68: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Operadores Aritméticos

• As operações são realizadas em uma expressão de acordo com a ordem de prioridade. Quando houver empate entre operações, elas serão realizadas da esquerda para a direita.

+

divisão

adição

- subtração II

II

I

I*

/

Operador PrioridadeSignificado

multiplicação

Algoritmos

Page 69: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Os parênteses quebram o ordem de prioridade natural.

a

Expressão Matemática Expressão Algoritmica

2.a+b 2*a+b

a/2+b

a*x^2a.x2

2+b

a2+b

a/2+b

a/(2+b)

errado

certo

Expressões Aritméticas

Algoritmos

Page 70: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Quando houverem parênteses aninhados, a prioridade será do mais interno.

a / (a + b) - (2 * (b + c))1 2

34

5

Algoritmos

Page 71: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Operadores Relacionais– Comparação entre objetos (ou entre um

objeto e um valor) do mesmo tipo;– O resultado será sempre do tipo lógico (V ou

F);Operador Exemplo de usoSignificado

> A>B, 4>3, C>3

= =

Diferente de

Igual a

<= Menor ou igual a B*A<=0

A= =0

A+B != C

Menor que 2*A<B

Maior que

<

!=

>= Maior ou igual a ‘a’>=‘b'

Algoritmos

Page 72: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• O operador relacional perde em prioridade para os operadores aritméticos;

• O operador relacional é binário, isto é, ele deve envolver um operando a sua esquerda e um a sua direita.

• Assim, a expressão -3 < X <=2 não é válida, pois nela X está relacionando-se com outros dois operandos.

Algoritmos

Page 73: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Exercício: qual o resultado da expressão relacional A+3 > B quando:– A tem valor igual a 5 e B igual a 8;– A tem valor igual a 0 e B igual a -3;– A tem valor igual a 1 e B igual a 1;– A tem valor igual a -3 e B igual a 1;

Algoritmos

Page 74: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Operadores Lógicos– Constrói expressão lógica que envolve operandos

lógicos;– Utilizados no processo de tomada de decisão e em

controles de repetição;– Operadores:

• e - usado na conjunção de proposições• ou - usado na disjunção de proposições• não - usado na negação de proposições

– Proposição é qualquer elemento que possa produzir valor lógico (variável lógica, expressão relacional ou expressão lógica);

Algoritmos

Page 75: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Os operadores e e ou são binários;• O operador não é unário;• Ordem de prioridade:

– não I– e II– ou III

Algoritmos

Page 76: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• A expressão A e B será verdadeira quando o operando A e o operando B produzirem resultados verdadeiros simultaneamente. Qualquer outra combinação de valores destes operandos produzirá resultado falso;

• A expressão A ou B será verdadeira quando uma das proposições (operando A e B) produzir resultado verdadeiro;

Algoritmos

Page 77: Algoritmos e Programação de Computadores Prof.: Wyllian Fressatti

• Tabela do operador e:

A B A e B

V VV

V F F

F V F

F F F

Algoritmos