Aula 02 - Itens Fundamentais de Um Algotimo

47
ALGORITMOS E LINGUAGENS DE PROGRAMAÇÃO I MILLYS FABRIELLE ARAUJO CARVALHAES ITENS FUNDAMENTAIS

description

Itens fundamentais de um algoritmo

Transcript of Aula 02 - Itens Fundamentais de Um Algotimo

Page 1: Aula 02 - Itens Fundamentais de Um Algotimo

ALGORITMOS E LINGUAGENS DE

PROGRAMAÇÃO I

MILLYS FABRIELLE ARAUJO CARVALHAES

ITENS FUNDAMENTAIS

Page 2: Aula 02 - Itens Fundamentais de Um Algotimo

OBJETIVOS

• Entender a forma básica de um algoritmo;

• Identificar os itens fundamentais que compõe um algoritmo;

• Resolução de exercícios para fixação;

Prof. Millys Fabrielle A. Carvalhaes 2

Page 3: Aula 02 - Itens Fundamentais de Um Algotimo

FORMA BÁSICA DE UM ALGORITMO

Prof. Millys Fabrielle A. Carvalhaes 3

Page 4: Aula 02 - Itens Fundamentais de Um Algotimo

EXEMPLO DE UM ALGORITMO

Considere o algoritmo abaixo que soma dois número inteiros

Prof. Millys Fabrielle A. Carvalhaes 4

Algoritmo SOMA_NUMEROSvar

X, A, B : inteiroinício

leia Aleia BX ←A + Bescreva X

fim

Page 5: Aula 02 - Itens Fundamentais de Um Algotimo

TIPOS DE DADOS

• Dados são elementos utilizados para o processamento de uma informação.

• Usuários fornecem dados de entrada aos algoritmos para serem processados

• Os algoritmos retornam os dados processados aos usuários.

• Definir o tipo de dados mais adequado para o armazenamento de um valor é de grande importância.

Prof. Millys Fabrielle A. Carvalhaes 5

Page 6: Aula 02 - Itens Fundamentais de Um Algotimo

TIPOS DE DADOS

Tipo Definição

Literal Pode receber letras, números e símbolos

Obs. 1: Números armazenados em literais não podem ser

utilizados para cálculos

Obs. 2: Dados literais que aparece em um algoritmo deve ser

colocada entre aspas, para não ser confundida com outro tipo

Inteiro Poderá receber número inteiros positivos ou negativos

Real Poderá receber números reais, isto é, com casas decimais,

positivos ou negativos

Lógico Poderá receber somente os valores Verdadeiro ou Falso

Prof. Millys Fabrielle A. Carvalhaes 6

Page 7: Aula 02 - Itens Fundamentais de Um Algotimo

TIPOS DE DADOS : LITERAIS

São utilizados por exemplo em:

• Tratamento de textos;

• Exibição de mensagens aos usuários;

• Tratamento de dados do tipo, nome, endereço, etc...

Prof. Millys Fabrielle A. Carvalhaes 7

Page 8: Aula 02 - Itens Fundamentais de Um Algotimo

TIPOS DE DADOS : LITERAIS

Composição:

• Dados literais são compostos por caracteres;

• Caracteres são basicamente letras maiúsculas e minúsculas, algarismos, sinais de pontuação, etc. ;

• Caracteres são representados por códigos binários, pois computadores armazenam somente números;

• O código mais utilizado é o ASCII, Exemplo:

• ‘a’ = 97

• ‘z’ = 122

• ‘+’ = 43

• ‘$’ = 36

Prof. Millys Fabrielle A. Carvalhaes 8

Page 9: Aula 02 - Itens Fundamentais de Um Algotimo

TIPOS DE DADOS : INTEIROS / REAIS

Usados para representação de :

• Medida, Quantidade, etc...

• Os números são representados em base decimal;

• Os computadores armazenam números em base binária;

• Exemplo: 25 ↔ 11001

Prof. Millys Fabrielle A. Carvalhaes 9

Page 10: Aula 02 - Itens Fundamentais de Um Algotimo

TIPOS DE DADOS : LÓGICOS

• Aplicados no processo de tomada de decisões que o computador faz;

• Os dados desse tipo podem ser verdadeiro ou falso;

• Exemplo: Será que chove hoje ?

• Sim (verdadeiro) ou Não (falso) ?

• Exemplo 2: Média é maior ou igual a 8 ?

• Sim (verdadeiro) ou Não (falso) ?

Prof. Millys Fabrielle A. Carvalhaes 10

Page 11: Aula 02 - Itens Fundamentais de Um Algotimo

TIPOS DE DADOS

Identifique o tipo de cada uma das constantes abaixo:

1. 21;

2. “BOLA”;

3. “Verdadeiro”;

4. 0,21 x 102;

5. Falso;

Prof. Millys Fabrielle A. Carvalhaes 11

Page 12: Aula 02 - Itens Fundamentais de Um Algotimo

TIPOS DE DADOS

Identifique o tipo de cada uma das constantes abaixo:

1. 21; Inteiro

2. “BOLA”; Literal

3. “Verdadeiro”; Literal

4. 0,21 x 102; Real

5. Falso; Lógico

Prof. Millys Fabrielle A. Carvalhaes 12

Page 13: Aula 02 - Itens Fundamentais de Um Algotimo

ITENS IMPORTANTES EM UM ALGORITMO

Prof. Millys Fabrielle A. Carvalhaes 13

Page 14: Aula 02 - Itens Fundamentais de Um Algotimo

ITENS IMPORTANTES EM UM ALGORITMO : EXEMPLO

Considere o algoritmo abaixo que soma dois número inteiros

Prof. Millys Fabrielle A. Carvalhaes 14

Algoritmo SOMA_NUMEROSvar

X, A, B : inteiro

início

leia A { comentário 1 }leia B

X ←A + B

escreva Xfim

Page 15: Aula 02 - Itens Fundamentais de Um Algotimo

CONSTANTES

São valores que não sofrem alterações ao longo doprocessamento do algoritmo ou execução do programa. Aconstante pode ser um número, um valor lógico ou uma sequênciade caracteres qualquer.

• Exemplo: Calcular 𝐴𝑅𝐸𝐴 = 𝑃𝐼 ∗ 𝑅2 circunferência

Prof. Millys Fabrielle A. Carvalhaes 15

Algoritmo AREA_CIRCUNFERENCIAconst

PI = 3.14início....fim

Page 16: Aula 02 - Itens Fundamentais de Um Algotimo

VARIÁVEIS

Nos algoritmos variáveis são utilizadas para representar valoresdesconhecidos, porém necessários, que poderão ser alterados deacordo com a situação. Assim dizemos que variáveis armazenamvalores temporariamente.

Prof. Millys Fabrielle A. Carvalhaes 16

Algoritmo AREA_CIRCUNFERENCIAconst

PI = 3.14var

AREA, RAIO : realinício....fim

Page 17: Aula 02 - Itens Fundamentais de Um Algotimo

FORMAÇÃO DOS NOMES (IDENTIFICADORES)

Toda variável deve ser identificada, isto é, receber um nome ou identificador. O nome deve ser único no algoritmo e estar de acordo com algumas regras.

• Não utilizar espaço entre letras.

• Exemplo, em vez de utilizar nome do cliente o correto seria nome_do_cliente.

• O “sublinha” ou “underline” ( _ ) pode ser utilizado para representar o espaço.

• O primeiro caractere do identificador deve ser obrigatoriamente uma letra, e os caracteres seguintes letras ou dígitos, porém, NÃO é permitido o uso de símbolos especiais

• Cada variável deve receber um nome diferente.

• Não é feito diferenciação entre maiúsculo e minúsculo.

Prof. Millys Fabrielle A. Carvalhaes 17

Page 18: Aula 02 - Itens Fundamentais de Um Algotimo

FORMAÇÃO DOS NOMES : DICAS

• Escolher nomes significativos para as variáveis

• Ex. salario, nota_final, pagamento

• Não alongar desnecessariamente os nomes

• Ex. total_de_recebimentos_do_ano

Prof. Millys Fabrielle A. Carvalhaes 18

Page 19: Aula 02 - Itens Fundamentais de Um Algotimo

FORMAÇÃO DOS NOMES : DICAS

Identifique se os nomes abaixo estão corretos ou incorretos:

• soma$;

• salario total;

• Prova1;

• Salário;

• 1aula;

• salário/hora;

Prof. Millys Fabrielle A. Carvalhaes 19

Page 20: Aula 02 - Itens Fundamentais de Um Algotimo

FORMAÇÃO DOS NOMES : DICAS

Identifique se os nomes abaixo estão corretos ou incorretos:

• soma$; Incorreto

• salario total; Incorreto

• prova1; Correto

• salário; Correto

• 1aula; Incorreto

• salário/hora; Incorreto

Prof. Millys Fabrielle A. Carvalhaes 20

Page 21: Aula 02 - Itens Fundamentais de Um Algotimo

COMENTÁRIOS

Comentários são frases que aparecem delimitadas por{comentário}, que tem como objetivo aumentar a facilidade terãode compreender o que está escrito no algoritmo. Eles podem sercolocados em qualquer ponto do algoritmo onde seja necessário.

Prof. Millys Fabrielle A. Carvalhaes 21

Algoritmo AREA_CIRCUNFERENCIAconst

PI = 3.14 {constante matemática}início....fim

Page 22: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES

• São utilizados para representar expressões de cálculo, comparação, condição e atribuição.

Prof. Millys Fabrielle A. Carvalhaes 22

Page 23: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : ATRIBUIÇÃO

• São utilizados para expressar o armazenamento de um valor em uma variável. Esse valor pode ser predefinido ou ser resultado de um processamento.

Prof. Millys Fabrielle A. Carvalhaes 23

Algoritmo AREA_CIRCUNFERENCIAconst

PI = 3.14 var

AREA, RAIO : realinício...AREA ← PI * R * R...fim

Page 24: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : ARITMÉTICOS

• São utilizados para a realização de diversos cálculos matemáticos

Prof. Millys Fabrielle A. Carvalhaes 24

Operador Representação

Incremento A + 1

Decremento A – 1

Multiplicação *

Divisão /

Exponenciação ^ ou ** Ex. 25 2^5

Adição +

Subtração -

Módulo A mod B *resto da divisão

Page 25: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : ARITMÉTICOS

Dadas as seguintes atribuições, resolva as expressões:

A ← 9B ← 2C ← 5

• A ← A + 1;• B ← A * 2 * C;• A ← A mod B; • A ← C ^ B;• A ← 2 ^ 3;

Prof. Millys Fabrielle A. Carvalhaes 25

Page 26: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : ARITMÉTICOS

Dadas as seguintes atribuições, resolva as expressões:

A ← 9B ← 2C ← 5

• A ← A + 1; A ← 9 + 1 10• B ← A * 2 * C; B ← 9 * 2 * 5 90• A ← A mod B; A ← 9 mod 2 1• A ← C ^ B; A ← 5 ^ 2 25• A ← 2 ^ 3; 8

Prof. Millys Fabrielle A. Carvalhaes 26

Page 27: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : RELACIONAIS

• São utilizados para estabelecer uma relação de comparação entre valores ou expressões

Prof. Millys Fabrielle A. Carvalhaes 27

Operador Representação

Maior >

Maior ou Igual >=

Menor <

Menor ou Igual <=

Igual =

Diferente <>

Page 28: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : ARITMÉTICOS

Dadas as seguintes atribuições, indique verdadeiro ou falso para as expressões:

A ← 8B ← 2C ← 5D ← 3

• A = B;• B >= (C – D);• A <> (C + D); • A = B ^ D;

Prof. Millys Fabrielle A. Carvalhaes 28

Page 29: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : ARITMÉTICOS

Dadas as seguintes atribuições, indique verdadeiro ou falso para as expressões:

A ← 8B ← 2C ← 5D ← 3

• A = B; 8 = 2 (falso)• B >= (C – D); 2 >= 2 (verdadeiro) • A <> (C + D); 8 <> 8 (falso)• A = B ^ D; 8 = 8 (verdadeiro)

Prof. Millys Fabrielle A. Carvalhaes 29

Page 30: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : LÓGICOS

• São utilizados para concatenar ou associar expressões que estabelecem uma relação de comparação entre valores. Duas proposições podem ser combinas para criar uma nova proposição chamada conjunção.

Prof. Millys Fabrielle A. Carvalhaes 30

Operador Representação Prioridade

NÃO .não. 1

E .e. 2

OU .ou. 3

Page 31: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : LÓGICOS (ANÁLOGIA)

• Considere

Prof. Millys Fabrielle A. Carvalhaes 31

Verdadeiro

Falso

Page 32: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : LÓGICOS (E)

Prof. Millys Fabrielle A. Carvalhaes 32

A B

A .e. B é falso

Page 33: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : LÓGICOS (OU)

Prof. Millys Fabrielle A. Carvalhaes 33

A

B

A .ou. B é Verdadeiro

Page 34: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : LÓGICOS (NÃO)

Prof. Millys Fabrielle A. Carvalhaes 34

A

B

.não. A

.não. B

Page 35: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : LÓGICOS (TABELA VERDADE)

Prof. Millys Fabrielle A. Carvalhaes 35

A B .ou. .e. .não. A

0 0 0 0 1

0 1 1 0 1

1 0 1 0 0

1 1 1 1 0

Fazendo uma analogia que:

• .ou. Sendo uma soma

• .e. Sendo uma multiplicação

Page 36: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : LÓGICOS

Dadas as seguintes atribuições, indique verdadeiro ou falso para as expressões:

A ← 8B ← 2C ← 5D ← 3

• A = B .e. B >= (C – D); • A <> (C + D) .ou. A = B ^ D; • .não. A = B ^ D;

Prof. Millys Fabrielle A. Carvalhaes 36

Page 37: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : LÓGICOS

Dadas as seguintes atribuições, indique verdadeiro ou falso para as expressões:

A ← 8B ← 2C ← 5D ← 3

• A = B .e. B >= (C – D); falso .e. verdadeiro FALSO• A <> (C + D) .ou. A = B ^ D; Verdadeiro .ou. Verdadeiro VERDADEIRO• .não. A = B ^ D; .não. Verdadeiro FALSO

Prof. Millys Fabrielle A. Carvalhaes 37

Page 38: Aula 02 - Itens Fundamentais de Um Algotimo

OPERADORES : PRIORIDADE

Pode ter mais de um operador na expressão. Em alguns casos a ordem que são efetuadas as operações afeta o resultado final.

Ex. .não. A <> (C + D) .ou. A = B ^ D

Prof. Millys Fabrielle A. Carvalhaes 38

Operador Prioridade

Aritmético 1

Relacional 2

NÃO 3

E 4

OU 5

Page 39: Aula 02 - Itens Fundamentais de Um Algotimo

COMANDOS DE ENTRADA E SAÍDA DE DADOS

• Um algoritmo normalmente recebe dados para serem processados (entrada de dados)

• Um algoritmo devem devolver o resultado desse processamento (saída de dados)

Prof. Millys Fabrielle A. Carvalhaes 39

Algoritmo SOMA_NUMEROSvar

X, A, B : inteiroinício

leia A leia BX ←A + Bescreva X

fim

Page 40: Aula 02 - Itens Fundamentais de Um Algotimo

COMANDOS DE ENTRADA E SAÍDA DE DADOS

• Entrada

• leia < uma variável ou uma lista delas>

• Exemplos:

• leia X

• leia AREA, RAIO

• Saída

• escreva < lista de saída >

• Exemplos:

• escreva AREA

• escreva “MENSAGEM”

Prof. Millys Fabrielle A. Carvalhaes 40

Page 41: Aula 02 - Itens Fundamentais de Um Algotimo

ENTRADA DE DADOS

• Em um programa dados podem ser lidos de um teclado, disco rígido, pen-drive, etc..,

Prof. Millys Fabrielle A. Carvalhaes 41

Page 42: Aula 02 - Itens Fundamentais de Um Algotimo

SAÍDA DE DADOS

• Os dados de saída podem ser escritos em uma impressora, monitor, disco rígido, etc...

Prof. Millys Fabrielle A. Carvalhaes 42

Page 43: Aula 02 - Itens Fundamentais de Um Algotimo

TESTE DE MESA OU TESTE CHINÊS

• Forma de testar os algoritmos.

• Consiste no acompanhamento passo a passo, com objetivo de identificar falhas lógicas.

• O algoritmo apenas é correto se produzir um resultado esperado para qualquer entrada informada

Prof. Millys Fabrielle A. Carvalhaes 43

Page 44: Aula 02 - Itens Fundamentais de Um Algotimo

TESTE DE MESA OU TESTE CHINÊS

Considere o seguinte algoritmo de calcular salário:

• Informar o salário-base;

• Haverá uma gratificação de 5% do valor do salário-base;

• Haverá um imposto que é 3% do valor do salário-base;

• O salário a receber é a soma do salário-base com a gratificação descontado o imposto.

Prof. Millys Fabrielle A. Carvalhaes 44

Page 45: Aula 02 - Itens Fundamentais de Um Algotimo

TESTE DE MESA OU TESTE CHINÊS

Prof. Millys Fabrielle A. Carvalhaes 45

Page 46: Aula 02 - Itens Fundamentais de Um Algotimo

TESTE DE MESA OU TESTE CHINÊS

Prof. Millys Fabrielle A. Carvalhaes 46

Page 47: Aula 02 - Itens Fundamentais de Um Algotimo

REFERÊNCIAS ADICIONAIS

Prof. Millys Fabrielle A. Carvalhaes 47

Araújo, Rogério; Lógica de Programação e Estruturas de Dados