33
Fundamentos de Programação Turma CI-240-EST Josiney de Souza [email protected]

Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

  • Upload
    vanhanh

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Fundamentos de Programação

Turma CI-240-EST

Josiney de Souza

[email protected]

Page 2: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Agenda do Dia – Aula 8 (30/09/15)

Comentários sobre exercícios propostos Desvio condicional

Simples Composto

Page 3: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Exercícios Propostos

Exercícios: Mostrar na tela o comprimento de um texto

digitado pelo usuário Solicitar do usuário dois textos separados e

mostrá-los na tela concatenados, isto é, os dois textos como um só, sem espaço entre eles

Calcular a porcentagem de nucleotídeos A, C, G e C em uma cadeia de DNA informada pelo usuário. Indicar também a quantidade e a porcentagem de nucleotídeos inválidos.

Page 4: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Exercícios Propostos

Exercícios extras: Solicitar do usuário dois textos separados e

verificar se os dois são iguais ou se o primeiro está antes do segundo considerando ordem alfabética

Solicitar do usuário um texto qualquer e um caractere qualquer. Mostrar:

O índice da primeira ocorrência do caractere no texto. Se não ocorrer no texto, mostrar -1

O índice da última ocorrência do caractere no texto. Se não ocorrer no texto, mostrar -1

Page 5: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores

É possível realizar operações sobre as variáveis e sobre algumas constantes: Atribuição: guardar valor em variáveis Aritmética: soma, subtração, multiplicação,

divisão Relacional: maior, menor, igual, diferente, maior

ou igual, menor ou igual Lógica: e, ou, não

Page 6: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Relacional

Operadores para comparar o valor de operandos: Símbolo: ==, !=, <=, <, >=, >, in, is Sintaxe:

(Retorno) Operando <Operador> Operando

Operandos são comparados entre si O retorno é booleano (verdadeiro ou falso)

Page 7: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Relacional

Operadores para comparar o valor de operandos: Símbolo: == (igual) Símbolo: != (diferente) Símbolo: <= (menor ou igual que) Símbolo: < (menor que) Símbolo: >= (maior ou igual que) Símbolo: > (maior que) Símbolo: in (pertinência de strings) Símbolo: is (identidade/igualdade entre strings)

Page 8: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Relacional

Exemplo de expressões: (7 == 5) // Avalia como falso (5 > 4) // Avalia como verdadeiro (3 != 2) // Avalia como verdadeiro (6 >= 6) // Avalia como verdadeiro (5 < 5) // Avalia como falso ('ana' in 'banana') // Avalia como verdadeiro (nome is 'jao') // Depende do valor da variavel

nome

Page 9: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Lógica

Operadores para comparar o valor de operandos: Símbolo: not, and, or Sintaxe:

(Retorno) Expressao <Operador> Expressao

Compara expressões segundo a tabela-verdade

O retorno é booleano (verdadeiro ou falso)

Page 10: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Lógica

Operadores para comparar o valor de operandos: Símbolo: not (não) Símbolo: and (e) Símbolo: or (ou)

Page 11: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Lógica

Operador not: Inverte o valor da expressão

not (5 == 5) // Avalia como falso

not (6 <= 4) // Avalia como verdadeiro

not True // Avalia como falso

not False // Avalia como verdadeiro

Page 12: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Lógica

Operador and:

A B A and B

VERDADEIRO VERDADEIRO VERDADEIRO

VERDADEIRO FALSO FALSO

FALSO VERDADEIRO FALSO

FALSO FALSO FALSO

Page 13: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Lógica

Operador or:

A B A or B

VERDADEIRO VERDADEIRO VERDADEIRO

VERDADEIRO FALSO VERDADEIRO

FALSO VERDADEIRO VERDADEIRO

FALSO FALSO FALSO

Page 14: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Precedência

Existe uma ordem de avaliação dos operadores: 5 + 4 * 2 + 10 → 23 (28 está errado!!!) 5 + 4 >= 5 * 2 and 2 + 10 > 33 / 3 ???

Page 15: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Precedência

Existe uma ordem de avaliação dos operadores: 5 + 4 >= 5 * 2 and 2 + 10 > 33 / 3

5 + 4 >= 10 and 2 + 10 > 33 / 3

5 + 4 >= 10 and 2 + 10 > 11

9 >= 10 and 2 + 10 > 11

9 >= 10 and 12 > 11

False and 12 > 11

False and True = False

Page 16: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Precedência

Existe uma ordem de avaliação dos operadores: 1. Parênteses 2. Operadores unários 3. Operadores Aritméticos 4. Operadores Relacionais 5. Operadores Lógicos 6. Operadores de Atribuição

Page 17: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Precedência

Operador Associatividade

() Esquerda para direita

not - (unários) Direita para esquerda

** Esquerda para direita

* / % Esquerda para direita

+ - Esquerda para direita

< <= > >= Esquerda para direita

== != in is Esquerda para direita

and or Esquerda para direita

= += -= *= /= %= Direita para esquerda

Page 18: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Operadores – Observações

O retorno dos operadores relacionais e lógicos é verdadeiro ou falso

Na verdade, o computador entende True e False como números inteiros:

True → 1 False → 0

Na prática, uma expressão só será falsa se for 0 ou False

Qualquer outro valor é considerado verdadeiro

Page 19: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional

Normalmente, um programa segue um fluxo linear de execução: Instruções são executadas uma após a outra De cima para baixo

Page 20: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional

Normalmente, um programa segue um fluxo linear de execução: Instruções são executadas uma após a outra De cima para baixo

Porém, existem comandos que desviam o fluxo de execução Algumas instruções podem ser ignoradas Depende da condição dada

Page 21: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional

Execução normal: Desvio condicional:

Page 22: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional

Servem para tomadas de decisão Desviam a execução linear do código Dependem de uma condição

Resultado da condição deve retornar VERDADEIRO ou FALSO

Conhecidos como comandos de decisão Conhecidos como desvios condicionais

Page 23: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional

Existem três tipos de desvios condicionais: Simples: if (se) Composto: if – else (se – senão) Aninhado: desvio condicional dentro de desvio

condicional

Page 24: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional Simples

Sintaxe:

if <CONDICAO>:

<COMANDO>

if <CONDICAO>:

<COMANDO>

<COMANDO>

Page 25: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional Simples

Como funciona: A expressão da <CONDICAO> é avaliada Se o resultado da avaliação é VERDADEIRO

<COMANDO> é executado; ou Os comandos dentro do bloco indentado são

executados

Se o resultado da avaliação é FALSO Tudo dentro do escopo do ”if” é ignorado Execução segue normal depois do ”if”

Page 26: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional Simples - Exemplo

# coding = latin-1

from math import *

from string import *

idade = int( input('Qual a sua idade? ') )

if idade < 18:

print ('Você é menor de idade')

Page 27: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional Simples - Exemplo

# coding = latin-1

from math import *

from string import *

idade = int( input('Qual a sua idade? ') )

if idade < 18:

print ('Você é menor de idade')

print ('Não pode comprar bebidas alcoólicas')

Page 28: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional Composto

Serve para tomar decisões mais complexas

Sintaxe:

if <CONDICAO>:

<COMANDO>

else:

<COMANDO>

Page 29: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional Composto

Como funciona: A expressão da <CONDICAO> é avaliada Se o resultado da avaliação é VERDADEIRO

<COMANDO> entre ”if” e ”else” é executado; ou Os comandos dentro do bloco indentado entre ”if” e

”else” são executados

Se o resultado da avaliação é FALSO <COMANDO> após ”else” é executado; ou Os comandos dentro do bloco indentado após o

”else” são executados

Page 30: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional Composto - Exemplo

# coding = latin-1

from math import *

from string import *

idade = int( input('Qual a sua idade? ') )

if idade < 18:

print ('Você é menor de idade')

print ('Não pode comprar bebidas alcoólicas')

else:

print ('Maior de idade. Tá liberado')

Page 31: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional

Page 32: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Desvio Condicional

Exercícios: Descobrir se um número é par ou ímpar Descobrir qual o maior dentre dois números Obter as médias finais e a frequência de Ana e

Mariana. Dizer se elas estão aprovadas, considerando:

Nota: ter pelo menos 50 de média Frequência: ter pelo menos 25 aulas de presença

Page 33: Fundamentos de Programação Turma CI-240-EST Josiney de ... · Exercícios Propostos Exercícios extras: Solicitar do usuário dois textos separados e verificar se os dois são iguais

Próxima Aula

Desvio condicional aninhado