65
CURSO BÁSICO DE PROGRAMAÇÃO AULA 2 Revisão Variáveis Estrutura de um algoritmo Estruturação de operações Ferramenta Visualg

CURSO BÁSICO DE PROGRAMAÇÃO AULA 2 - inf.unioeste.br · CURSO BÁSICO DE PROGRAMAÇÃO – AULA 2 Revisão Variáveis Estrutura de um algoritmo Estruturação de operações Ferramenta

  • Upload
    vubao

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

CURSO BÁSICO DE

PROGRAMAÇÃO –

AULA 2 Revisão

Variáveis

Estrutura de um algoritmo

Estruturação de operações

Ferramenta Visualg

Revisão da aula anterior

1. Hardware e Software Básico/Aplicativo.

2. Sistemas Operacionais

3. O que é Programação?

4. Linguagens de Programação

5. Paradigmas da Programação

6. Compiladores e Interpretadores

7. Proposições, Conectores e Tabelas Verdade

Revisão da aula anterior

P Q ¬(P v Q) ^ P → Q

V V

V F

F V

F F

Revisão da aula anterior

P Q P v Q ¬(P v Q) ¬(P v Q) ^ P ¬(P v Q) ^ P → Q

V V V F F T

V F V F F T

F V V F F T

F F F V F T

Revisão da aula anterior

1. O que é um algoritmo?

2. Quais os passos para fazer um sanduíche?

3. O que é um desvio em um algoritmo?

Revisão da aula anterior

1. Pegar um pão.

2. Pegar uma faca

3. Abri-lo com a faca.

4. Passar maionese

5. Colocar uma fatia de mussarela.

6. Se tiver presunto, colocar uma fatia de presunto.

7. Senão se tiver peito de peru, colocar uma fatia de peito de peru e pular para o PASSO 9.

8. Senão cancelar sanduíche e fazer miojo. FIM

9. Colocar o sanduíche na sanduicheira.

10. Esperar 3 minutos.

11. Desligar a sanduicheira.

12. Retirar o sanduiche e servir. FIM

• Mas o computador entende essas sequências de

passos?

• Para o computador, o que significa “digitar sua senha” ou

“ligar o fogão”?

• Computacionalmente, os algoritmos devem seguir um

conjunto de instruções pré-determinadas.

• Essas instruções são a “língua” que o computador fala.

Ou seja – são uma linguagem de programação.

Revisão da aula anterior

Variáveis

• Trata-se de algo instável, inconstante e sujeito a alterações.

• Uma variável é um símbolo que representa um elemento não

fixo de determinado conjunto.

• Ex : x é uma variável do Universo {..., -12, -9, -6, -3, 0, 3, 6, 9, 12, ...}

• Logo x, é uma variável que pode assumir qualquer valor múltiplo de 3.

• Variáveis estão presentes em fórmulas (equações), preposições

(lógica), como também em algoritmos.

Variáveis

• Variáveis, em algoritmos, representam de forma abstrata uma

porção da memória, a qual serve para armazenar quaisquer

informações em tempo de execução.

• Variáveis podem assumir diversos valores durante uma

mesma execução.

• Variáveis possuem três atributos: • Nome: Identificador da variável

• Tipo de dado: Refere-se ao universo em que a variável está contida

• Informação: Refere-se ao valor atribuído a ela e portanto armazenado por ela.

Nomes de Variáveis

• Ao trabalhar com variáveis, devemos nomeá-las de forma a

identificá-las de forma única, e poder resgatá-las quando

necessário.

• O nome deve ser intuitivo, de forma a identificar o que o valor

contido nela representa ao programa.

• Para nomear uma variável é necessário seguir regras:

• Deve iniciar com letras ou _.

• Não é permitido uso de caracteres especiais (exceto _ ).

• Não pode ser uma palavra reservada da linguagem.

• Non-case-sensitive.

Nomes de Variáveis

Válidos Inválidos

lucro &lucro

_lucro lucro#

lucro_mensal 1lucro

lucro_ escreva, leia

lucro1 inicio, fimalgoritmo

Tipos de Variáveis

• Variáveis devem estar contidas em um conjunto definido de

valores.

• Para matemática uma variável pode estar contida em diversos

conjuntos:

N – Naturais

Z – Inteiros

Q – Racionais

I – Irracionais

R – Reais

C - Complexos

Tipos de Variáveis

• Nas linguagem em geral apenas representa-se inteiros e reais

para tipos numéricos.

• Além destes, também é possível representar valores literais e

lógicos.

• Exemplos: Tipo Valores

Inteiro {..., -3, -2, -1, 0, 1, 2, 3, ...}

Real {..., -1, ..., -0.5, ..., 0, ..., 0.5, ..., 1, ...}

Literal “João”, “Pedro”, “Francisco”, ”06/07/2013”

Lógico Verdadeiro ou Falso.

Caractere „a‟,‟b‟,‟D‟,‟1‟,‟&‟...

Declaração de Variáveis

• Para se utilizar as variáveis, antes é necessária a declaração

das mesmas.

• Declarar: definir o tipo de variável e seu nome.

• Exemplos:

• numero_conta: inteiro

• lucro_mensal: real

• nome_cliente: literal

• devendo: lógico

• int numero_conta;

• float lucro_mensal;

• char nome_cliente[50];

• boolean devendo;

Declaração de Variáveis

• Pode se declarar mais de uma variável por vez:

• numero_conta_corrente, numero_conta_poupanca : inteiro

• saldo, lucro_mensal : real

• int numero_conta_corrente,numero_conta_poupanca;

• float saldo, lucro_mensal;

Exercícios

1) Indique com um X quais dos dados seguintes são do tipo Inteiro.

• a) ( ) 1000

• b) ( ) “0”

• c) ( ) “-900”

• d) ( ) Verdadeiro

• e) ( ) -456

• f) ( ) 34

• g) ( ) “Casa 8”

• h) ( ) 0

• i) ( ) Falso

• j) ( ) -1,56

2) Indique com um X quais dos dados seguintes são do tipo Real.

• a) ( ) -678

• b) ( ) “0,97”

• c) ( ) “-9,12”

• d) ( ) Verdadeiro

• e) ( ) -456

• f) ( ) -99,8

• g) ( ) “Cinco”

• h) ( ) 45,8976

• i) ( ) Falso

• j) ( ) -1,56

Exercícios

3) Indique com um X os dados do tipo Literal.

• a) ( ) 678

• b) ( ) “0,87”

• c) ( ) “-9,12”

• d) ( ) “Verdadeiro”

• e) ( ) -456

• f)( ) -99,8

• g) ( ) “Cinco”

• h) ( ) 45,8976

• i) ( ) Falso

• j) ( ) 1,56

Exercícios

4) Indique com um X os dados do tipo Lógico

• a) ( ) -678

• b) ( ) “0,87”

• c) ( ) “-9,12”

• d) ( ) Verdadeiro

• e) ( ) -456

• f) ( ) V

• g) ( ) “Cinco”

• h) ( ) Falso

• i) ( ) F

• j) ( ) True

• k) ( ) -1,56

Exercícios

5) Assinale com um X os nomes válidos para uma variável.

• a) ( ) Endereço

• b) ( ) 21Brasil

• c) ( ) Fone$Com

• d) ( ) NomeUsuário

• e) ( ) Nome_Usuário

• f) ( ) Nome*Usuário

• g) ( ) End*A-6

• h) ( ) Cidade3

• i) ( ) Tes_Te

• j) ( ) Nome_Pess_Cont

• k) ( ) 2Aluno

Exercícios

Estrutura de um Algoritmo

• Cabeçalho

• Informações a respeito do código, elas aparecem como linhas

comentadas no inicio do código antes do conjunto de instruções.

• Em Portugol elas aparecem logo na segunda linha do código logo

após a palavra chave algoritmo como linhas comentadas, “//”,

onde cada linha contem uma informação.

• Exemplo:

// Função : bhaskara

// Autor : Jhon

// Data : 02/07/2013

Estrutura de um Algoritmo

• Declaração de variáveis

• O local de declaração de variáveis varia entre as linguagens de

programação.

• Em Portugol devem ser declaradas na seção de variáveis, na

primeira linha logo após a palavra chave var.

• Exemplo:

var

K : real

Z : inteiro

W : logico

R : caracter

S : literal

A, B, C : real

Estrutura de um Algoritmo

• Corpo do Programa

• O corpo do programa é constituído pelos métodos e funções que

serão utilizados para resolver um determinado problema.

• Desenvolvimento Top-Down: consiste em projetar os algoritmos

começando com uma descrição do algoritmo em termos gerais e

através de refinamentos sucessivos progredindo até instruções de

nível mais básico.

• Exemplos de métodos que compõem o corpo de um programa:

• Comandos de entrada de dados

• Comandos de saída de dados

• Cadeias “Se” e “Senão”

• Laços de repetição

Estrutura de um Algoritmo

• Identação: Organização das linhas do código ressaltando a

hierarquia de blocos. É muito importante ter um código identado

pois melhora a sua legibilidade.

• Escopo: faixa de instrução na qual uma determinada variável é

visível. Uma variável visível é aquela que pode ser referenciada

naquela instrução.

• Blocos: seção de código que tem suas próprias variáveis locais

cujo escopo é reduzido. Linguagens como Python e Raskell usam

a identação para identificar os blocos.

Estrutura de um Algoritmo

Exemplo de código identado Exemplo de código não identado

Exemplo

• Calculando a área de um retângulo:

• Variáveis:

• inteiros: aresta1, aresta2, area

• Comandos:

• Peça aresta1 ao usuário

• Peça aresta2 ao usuário

• Armazenar em area o resultado de aresta1 * aresta2

• Imprima area

Exercícios

6) Estruture os algoritmos conforme o exemplo

anterior:

• a) Calculando a área de um retângulo com entrada de

coordenadas.

• b) Calculando a área de um círculo.

• c) Calculando o volume de uma caixa retangular.

• Entrada por medidas de lados

• Entrada por coordenadas

(X1,Y1)

(X2,Y2)

(X3,Y3)

(X4,Y4)

Operadores lógicos • Lógica

• “o estudo dos processos válidos que atingem a verdade”

• O valor retornado é apenas VERDADEIRO ou FALSO

OPERADOR OPERAÇÃO TIPO RESULTANTE

= ou == igual lógico

<> Ou != diferente lógico

< menor que lógico

> maior que lógico

<= menor ou igual lógico

>= maior ou igual lógico

Exemplos • Considere a expressão Idade < 18

• Considere a expressão Saldo >= 1250.

Valor Idade Resultado

31 FALSO

3 VERDADEIRO

15 VERDADEIRO

18 FALSO

Valor Idade Resultado

1580 VERDADEIRO

1100 FALSO

1251 VERDADEIRO

1250 VERDADEIRO

V 18

F

F 1250

V

Exemplos • Considere a expressão Idade = 18

• Considere a expressão Saldo != 1250.

Valor Idade Resultado

31 FALSO

3 FALSO

15 FALSO

18 VERDADEIRO

Valor Idade Resultado

1580 VERDADEIRO

1100 VERDADEIRO

1251 VERDADEIRO

1250 FALSO

V

18 F

V 1250

V

F

F

Observações

• Comparação entre valores reais:

• Tem o mesmo formato da relação entre inteiros.

• Comparações entre valores lógicos:

• Verdadeiro maior que falso.

Observações

• Comparações entre valores de caracteres e literais

seguem a tabela ASCII.

Conectores lógicos Símbolo Significado

AND, &&, E E

||, OR, OU OU

!,¬ negação

P Q P && Q

V V V

V F F

F V F

F F F

P Q P || Q

V V V

V F V

F V V

F F F

P ¬P

V F

F V

Conector E Conector OU Conector Não

Exemplos

• A and B

• Esta operação só retornará VERDADEIRO, somente se A e B

forem verdadeiro

• A ou B

• Esta operação só retornará VERDADEIRO, somente se A ou B

forem verdadeiro.

A B P || Q

V V V

V F V

F V V

F F F

Conector OU

P Q P && Q

V V V

V F F

F V F

F F F

Conector E

Conectores Lógicos

• Podemos juntar vários operadores para montar uma

expressão lógica complexa

• A && B || C and !D

• Ou

• (A &&B) || (C && !D)

• Ou

• A && (B || C) && !D

• Cada uma destas expressões pode ser diferente

• Somente fazendo tabela verdade para ter certeza

Precedência de operadores

• Quando usamos vários conectores lógicos, eles tem uma

ordem de resolução

1. O que está dentro dos parênteses, priorizando os parênteses

mais internos

2. Operador NOT

3. Operador AND

4. Operador OR

• Exemplo

• (A>2) AND NOT (A>20) equivale a

(A>2) AND (NOT (A>20))

• (X=0) OR (X>=2) AND (X<=5), equivale a

(X=0) OR ((X>=2) AND (X<=5))

Precedência de Operadores

• Operações com precedência igual normalmente

são executadas da esquerda para a direita,

embora o compilador possa, às vezes, rearranjar

os operadores para otimização de código.

• Na dúvida, é aconselhável usar parênteses para

garantir a prioridade desejada

Operadores aritméticos

OPERADOR OPERAÇÃO Na matemática

+ adição +

- subtração -

* multiplicação × 𝑜𝑢 .

/ divisão ÷

div divisão inteira ?

mod resto da divisão inteira ?

**, ^ Potência 𝑥𝑦

Exemplos

• 1+4 = 5

• 5-3 = 2

• -5 + 9 = 4

• 5 * 5 = 25

• 20 / 2 = 10

• 20 div 2 = 10

• 2 / 4 = 0,5

• 2 div 4 = 0

• 2 mod 4 = 2 • Não é possível dividir 2 por 4

inteiramente, então a divisão fica com quociente zero e resto 2!

• 3 mod 4 = 3

• 4 mod 4 = 0

• 5 mod 4 = 1

• 5 div 4 = 1

• 5 / 4 = 1 com resto 1

• 5 ^2 = 25

• 4 ^2 + 3 = 19

Precedência de Operadores

• Prioridade mais alta: ^

• Prioridade média:* / div mod

• Prioridade mais baixa: + -

• Parênteses são prioritários sempre!

• A + B – C * D / E

• (A+B) – C * D /E

• ((A+B) – C) * (D/E)

• A+B – (C*D)/E

• Operações com precedência igual normalmente são executadas da esquerda para a direita, embora o compilador possa, às vezes, rearranjar os operadores para otimização de código.

• Na dúvida, é aconselhável usar parênteses para garantir a prioridade desejada

7) Indicar o resultado e o tipo do resultado de cada uma

das expressões onde A = 5, B = 2, C = 8 e D = 1,5.

a) 5 + 4 – 2

b) 10 – 3,4

c) A < B

d) 4 + B – D

e) 5/2

f) A * 2,4

g) A > B

h) B + C = B * A

Exercícios

Exercícios

8) Sendo as variáveis A = 3, B = 5, C = 1 e D = 2, construa

uma expressão que obtenha:

a) T = 8

b) T = 27

e) T = 50,5

f) T = 12

g) T = 13,5

h) T = 9

i) T = 21

Exercícios

9)Analise as expressões e responda V ou F sendo A = 1, B =

2, C = 3, D = 4, E = 5 e G = -4:

a) ( ) A * B + C = D – E

b) ( ) C * D + E = E * B + C + D

c) ( ) A + E + D – C > C * B – E + C

Ferramenta Visualg

O que é o Visualg?

Ferramenta Visualg

Menus do Visualg

Estrutura de um Algoritmo no Visualg

Nome e comentários sobre

seu algoritmo.

Declaração das variáveis

do seu algoritmo.

Instruções do seu

algoritmo.

Tipos de Variáveis do Visualg

• Inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem

casas decimais.

• Real: define variáveis numéricas do tipo real, ou seja, com

casas decimais.

• Caractere: define variáveis do tipo string, ou seja, cadeia de

caracteres.

• Lógico: define variáveis do tipo booleano, ou seja, com valor

VERDADEIRO ou FALSO.

Declarando Variáveis do Visualg

• <lista-de-variáveis> : <tipo-de-dado>

• <lista-de-variáveis> : vetor "["<lista-de-intervalos>"]" de <tipo-de-dado>

Exemplo:

Casos de Erro na Declaração

Atribuindo Valores a Variáveis do Visualg

• <variavel> <- <valor> ou <variavel> := <valor>

Exemplo:

Casos de Erro na Atribuição

Operações Básicas do Visualg

Operações sobre números:

Operações sobre cadeias de caracteres:

Operações Básicas do Visualg

Operadores relacionais:

Operadores lógicos:

Exemplos:

Casos de Erro nas Operações

Comando de Saída no Visualg

Exemplo:

• escreva(<lista-de-expressões>)

• escreval(<lista-de-expressões>)

Comando de Saída no Visualg

Variações:

Casos de Erro nas Operação de Saída

Comando de Entrada no Visualg

Exemplo:

• leia (<lista-de-variáveis>)

Casos de Erro de Entrada no Visualg

E se o usuário não for

cuidadoso com o tipo da

entrada que fornece?

Exercícios

10) Fácil: Peça para que o usuário forneça seu nome, e então

imprima-o na tela.

11) Médio: Peça para que o usuário forneça seu nome, idade,

peso e CPF, e então imprima-os na mesma linha, porém com

separação de 5 espaços entre cada um. Existe mais de uma

forma de resolver este problema?

12) Semi-Difícil: Peça para que o usuário fornaça seu peso e

altura, e então imprima seu IMC na tela. Lembre-se: IMC =

(peso)/(altura²).

Exercícios

• 13) Fazer um algoritmo para informar a área de um

triângulo

• 14) Dadas 3 notas, fazer um algoritmo para calcular a

média aritmética

• 15) Fazer um algoritmo para calcular o salário líquido de

um empregado, onde: • SB = Salário Bruto DE = descontos AD = adicionais SL = salário líquido

• 16) Dadas 2 notas, mostrar na tela: Soma e a média

• 17) Fazer um algoritmo que dado um número qualquer

obtenha a soma do número com seus 3 consecutivos

• 18) Dadas 2 variáveis, imprimi-las com os valores

invertidos.

Exercícios

19) Elabore um código que Leia do dispositivo de

entrada um valor inteiro qualquer, obtenha a raiz

desse numero e escreva no dispositivo de saída

com a precisão de duas casas decimais.

20) Elabore um código que implemente a função

de bhaskara, leia três valores inteiros qualquer de

entrada, e de saída escreva os resultados com

precisão de 3 casas decimais.