Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

<p>Introdução ao Processamento de Dados</p><p>INTRODUÇÃO AO PYTHON</p><p>Karla Figueiredo</p><p>Introdução ao Processamento de Dados</p><p>Definição de Algoritmo</p><p>Uma sequência de passos para realizar uma tarefa.</p><p> Exemplo: separar a roupa suja para lavar.</p><p>2</p><p>1. Pegue uma peça do cesto de roupa suja</p><p>2. Se ela for branca, coloque na cesta azul</p><p>3. Se ela tiver cor clara, coloque na cesta verde</p><p>4.Se ela for escura, coloque na cesta cinza</p><p>5. Repita a partir do passo 1 até esvaziar o</p><p>cesto de roupa suja</p><p>wikiHow</p><p>Introdução ao Processamento de Dados</p><p>Algoritmo Textual Informal</p><p>• Modo de preparo:</p><p>– Bata a margarina, as gemas e o açúcar até ficar cremoso</p><p>– Junte o leite, o coco e a farinha e continue batendo</p><p>– Acrescente o fermento e, por último, as claras em neve</p><p>– Unte uma forma com manteiga e leve ao forno para assar</p><p>Quão cremoso?!?</p><p>De uma vez só?!?</p><p>Quanto tempo?!?</p><p>Quanto tempo?!?</p><p>Introdução ao Processamento de Dados</p><p>• Modo de preparo:</p><p>– Bata a margarina, as gemas e o açúcar por 15 minutos</p><p>– Junte o leite, o coco e a farinha e continue batendo por mais 15 minutos</p><p>– Acrescente 20 g de fermento e, por último, as claras em neve</p><p>– Unte uma forma com manteiga e leve ao forno para assar por 30 minutos</p><p>Algoritmo Textual Informal Refinado</p><p>Introdução ao Processamento de Dados</p><p>Definição de Algoritmo</p><p>Uma sequência de passos para realizar uma tarefa.</p><p> Outro exemplo: cozinhar um bolo.</p><p>5</p><p>1. Esquentar o forno</p><p>2. Fazer a massa</p><p>3. Untar a forma</p><p>4.Colocar a massa na forma</p><p>5. Esquentar o forno</p><p>6. Colocar a forma com a massa no forno</p><p>7. Esperar 20 minutos</p><p>8.Esperar mais 5 minutos</p><p>9. Abrir o forno e enfiar um palitinho</p><p>10.Se o palitinho sair molhado, repita a partir de (7)</p><p>11.Tirar do forno e esperar 5 minutos</p><p>12.Desenformar o bolo</p><p>Introdução ao Processamento de Dados</p><p>Definição de Algoritmo</p><p>Uma sequência de passos para realizar uma tarefa.</p><p> Em matemática e ciência da computação, um algoritmo é uma sequência</p><p>finita de instruções, bem definidas e implementáveis ​​por um</p><p>computador.</p><p> Para ser implementável por um programa de computador, um algoritmo</p><p>deve ser escrito em uma linguagem de programação (programa).</p><p> Os algoritmos são inequívocos: sempre que a sequência de passos é</p><p>realizada sobre as mesmas entradas, as mesmas saídas devem ser</p><p>produzidas.</p><p>6</p><p>Introdução ao Processamento de Dados</p><p>Definição de Algoritmo</p><p>Uma sequência de passos para realizar uma tarefa.</p><p>7</p><p>Introdução ao Processamento de Dados</p><p>Sistema Operacional</p><p>8</p><p>Interface com Usuário</p><p>Gerencia-</p><p>mento de</p><p>Arquivos</p><p>Gerencia-</p><p>mento de</p><p>Tarefas</p><p>Gerenciamento dos Recursos</p><p>Dispositivos de Saída</p><p>Dispositivos de Entrada</p><p>Dispositivos de</p><p>Armazenamento</p><p>RAM</p><p>ROM (Read-Only Memory)</p><p>CPU</p><p>Sistema Operacional</p><p>Introdução ao Processamento de Dados</p><p>Entradas e Saídas</p><p> Os dados de entrada de um programa são lidos de um dispositivo de</p><p>entrada (teclado, mouse, touch pad, microfone, etc.) ou de um arquivo.</p><p> Os dados de saída de um programa são escritos em um dispositivo de</p><p>saída (monitor, impressora, auto falante, etc.) ou em um arquivo.</p><p> Durante a execução da sequência de passos (instruções) o programa</p><p>manipula (lê e escreve) variáveis na memória do computador.</p><p>9</p><p>Introdução ao Processamento de Dados</p><p>Programar: o que é isso?</p><p>• Programação é o processo de escrita, teste e manutenção de</p><p>um programa de computador.</p><p>• O programa é escrito em uma linguagem de programação,</p><p>embora seja possível, com alguma dificuldade, escrevê-lo</p><p>diretamente em linguagem de máquina.</p><p>10</p><p>https://pt.wikipedia.org/wiki/Programa_de_computador</p><p>https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o</p><p>https://pt.wikipedia.org/wiki/Linguagem_de_m%C3%A1quina</p><p>Introdução ao Processamento de Dados</p><p>Programar: o que é isso?</p><p>• Programação é o processo de escrita, teste e manutenção de</p><p>um programa de computador.</p><p>• O programa é escrito em uma linguagem de programação,</p><p>embora seja possível, com alguma dificuldade, escrevê-lo</p><p>diretamente em linguagem de máquina.</p><p>11</p><p>Código Assembly para arquitetura x8086:</p><p>lea si, string ; Atribui SI ao endereço de string.</p><p>call printf ; Coloca o endereço atual na pilha e chama o processo printf</p><p>hlt ; Encerra o computador.</p><p>string db "Ola mundo!", 0</p><p>printf PROC mov AL, [SI] ; Atribui à AL o valor no endereço SI.</p><p>cmp AL, 0 ; Compara AL com nulo.</p><p>je pfend ; Pula se comparação der igual.</p><p>mov AH, 0Eh</p><p>int 10h ; Executa uma função da BIOS que imprime o caractere em AL.</p><p>inc SI ; Incrementa em um o valor de SI.</p><p>jmp printf ; Pula para o incio do processo.</p><p>pfend:</p><p>ret ; Retorna para o endereço na posição atual da pilha.</p><p>printf ENDP</p><p>https://pt.wikipedia.org/wiki/Programa_de_computador</p><p>https://pt.wikipedia.org/wiki/Linguagem_de_programa%C3%A7%C3%A3o</p><p>https://pt.wikipedia.org/wiki/Linguagem_de_m%C3%A1quina</p><p>Introdução ao Processamento de Dados</p><p>Noções de Lógica</p><p>Em Lógica um conceito importante</p><p>é o de “Proposição”</p><p>Você sabe o que é uma</p><p>PROPOSIÇÃO?</p><p>Introdução ao Processamento de Dados</p><p>Noções de Lógica</p><p>• Proposição: é um enunciado verbal, ao qual deve ser atribuído, sem ambigüidade, um valor lógico</p><p>verdadeiro (V) ou falso (F).</p><p>– Exemplos de proposições:</p><p>• Robson Fidalgo é Professor (V)</p><p>• 3 + 5 = 10 (F)</p><p>• 5 (^) > (v)</p><p>Operação Símbolo Significado</p><p>Negação ~ Não</p><p>Conjunção ^ E</p><p>Disjunção v OU</p><p>Introdução ao Processamento de Dados</p><p>Noções de Lógica</p><p>• Exemplos de aplicação das operações lógica</p><p>– Considere:</p><p>• p = 7 é primo = (V)</p><p>• q = 4 é impar = (F)</p><p>– Então:</p><p>• 4 NÃO é impar = ~q = (~F) = (V)</p><p>• 7 NÃO é primo = ~p = (~V) = (F)</p><p>• 7 é primo E 4 NÃO é impar = p ^ ~q = (V ^ (~F)) = (V ^ V) = (V)</p><p>• 7 é primo E 4 é impar = p ^ q = (V ^ F) = (F)</p><p>• 4 é impar E 7 é primo = q ^ p = (F ^ V) = (F)</p><p>• 4 é impar E 7 NÃO é primo = q ^ ~p = (F ^ (~V)) = (F ^ F) = (F)</p><p>Introdução ao Processamento de Dados</p><p>Noções de Lógica</p><p>• Exemplos de aplicação das operações lógica (Cont.)</p><p>– Considere:</p><p>• p = 7 é primo = (V)</p><p>• q = 4 é impar = (F)</p><p>– Então:</p><p>• 7 é primo OU 4 NÃO é impar = p v ~q = (V v (~F)) = (V v V) = (V)</p><p>• 7 é primo OU 4 é impar = p v q = (V v F) = (V)</p><p>• 4 é impar OU 7 é primo = q v p = (F v V) = (V)</p><p>• 4 é impar OU 7 NÃO é primo = q v ~p = (F v (~V)) = (F v F ) = (F)</p><p>Introdução ao Processamento de Dados</p><p>Noções de Lógica</p><p>• Exemplos de aplicação das operações lógica</p><p>– Resumindo:</p><p>– Ou seja:</p><p>• Não (~) troca o valor lógico. Se é F passa a ser V e vice-versa</p><p>• E (^) só tem valor V quando as duas proposições forem V, basta uma proposição ser F para o</p><p>resultado ser F</p><p>• OU (v) só tem valor F quando as duas proposições forem F, basta uma proposição ser V para</p><p>o resultado ser V</p><p>p q p ^ q p v q</p><p>V V V V</p><p>V F F V</p><p>F V F V</p><p>F F F F</p><p>~p</p><p>F</p><p>F</p><p>V</p><p>V</p><p>pp qq p ^ qp ^ q p v qp v q</p><p>VV VV VV VV</p><p>VV FF FF VV</p><p>FF VV FF VV</p><p>FF FF FF FF</p><p>~p~p</p><p>FF</p><p>FF</p><p>VV</p><p>VV</p><p>Introdução ao Processamento de Dados</p><p>E - ^ - And = Sistema Físico Série</p><p>• V – aberto</p><p>• F - fechado</p><p>p q p ^ q p v q</p><p>V V V V</p><p>V F F V</p><p>F V F V</p><p>F F F F</p><p>~p</p><p>F</p><p>F</p><p>V</p><p>V</p><p>pp qq p ^ qp ^ q p v qp v q</p><p>VV VV VV VV</p><p>VV FF FF VV</p><p>FF VV FF VV</p><p>FF FF FF FF</p><p>~p~p</p><p>FF</p><p>FF</p><p>VV</p><p>VV</p><p>Água Água</p><p>Introdução ao Processamento de Dados</p><p>OU – v – OR = Sistema Físico Paralelo</p><p>• V – aberto</p><p>• F - fechado</p><p>Água Água</p><p>p q p ^ q p v q</p><p>V V V V</p><p>V F F V</p><p>F V F V</p><p>F F F F</p><p>~p</p><p>F</p><p>F</p><p>V</p><p>V</p><p>p p</p><p>q q p ^ q p ^ q p v q p v q</p><p>V V V V V V V V</p><p>V V F F F F V V</p><p>F F V V F F V V</p><p>F F F F F F F F</p><p>~p ~p</p><p>F F</p><p>F F</p><p>V V</p><p>V V</p><p>Introdução ao Processamento de Dados</p><p>Atividade 2</p><p>• Considerando p = V e q = F, resolva as seguintes expressões lógicas</p><p>– ~p = ~V= F</p><p>– ~q</p><p>– p ^ q = V ^ F = F</p><p>– p v q = V v F = V</p><p>– (~p) ^ q</p><p>– (~p) v q</p><p>– p ^ (~q)</p><p>– p v (~q)</p><p>– (~p) ^ (~q) = ~V ^ ~F = F ^ V = F</p><p>– (~p) v (~q)</p><p>p q p ^ q p v q</p><p>V V V V</p><p>V F F V</p><p>F V F V</p><p>F F F F</p><p>~p</p><p>F</p><p>F</p><p>V</p><p>V</p><p>p p q q p ^ q p ^ q p v q p v q</p><p>V V V V V V V V</p><p>V V F F F F V V</p><p>F F V V F F V V</p><p>F F F F F F F F</p><p>~p ~p</p><p>F F</p><p>F F</p><p>V V</p><p>V V</p><p>Introdução ao Processamento de Dados</p><p>RESPOSTAS - Atividade 2</p><p>• Considerando p = V e q = F, resolva as seguintes expressões lógicas</p><p>– ~p = F</p><p>– ~q = V</p><p>– p ^ q = F</p><p>– p v q = V</p><p>– (~p) ^ q = F</p><p>– (~p) v q = F</p><p>– p ^ (~q) = V</p><p>– p v (~q) = V</p><p>– (~p) ^ (~q) = F</p><p>– (~p) v (~q) = V</p><p>Introdução ao Processamento de Dados</p><p>Programação Estruturada</p><p>Possui três tipos de comandos/instruções básicos:</p><p> Sequência simples</p><p> Atribuição</p><p> Entrada (ler)</p><p> Saída (escrever)</p><p> Decisão</p><p> Repetição</p><p>22</p><p>Introdução ao Processamento de Dados</p><p>Atribuição</p><p>Especifica o valor que será dado a uma variável.</p><p> Sintaxe: </p><p>Por enquanto vamos usar este símbolo, no Python equivale ao símbolo =</p><p> Exemplos:</p><p> A  3.2</p><p>Significa: variável ‘A’ recebe o valor 3.2</p><p> X  4 + 5</p><p>Significa: variável ‘X’ recebe a soma de 4 + 5</p><p> nome  ‘João’</p><p>Significa: variável ‘nome’ recebe a string ‘João’</p><p>23</p><p>Introdução ao Processamento de Dados</p><p>Atribuição</p><p>Especifica o valor que será dado a uma variável.</p><p> Sintaxe: </p><p>Por enquanto vamos usar este símbolo, no Python equivale ao símbolo =</p><p> Exemplos:</p><p> X  3*Y</p><p> Significa: variável ‘X’ recebe o valor 3 vezes o valor da variável ‘Y’</p><p> b  b + 1</p><p> Significa: ‘b’ recebe o conteúdo do próprio ‘b’, mais 1</p><p> Como assim?</p><p>24</p><p>Introdução ao Processamento de Dados</p><p>Identificadores</p><p>• Um identificador é qualquer nome aceito pela linguagem</p><p>– Variáveis</p><p>– Palavras reservadas</p><p>• Python é Case Sensitive</p><p>– Diferencia maiúscula de minúscula: AB, Ab, aB e ab são variáveis DIFERENTES</p><p>• Podem ter qualquer tamanho</p><p>• São formadas por letras, números e sublinhado</p><p>– Iniciam SEMPRE por uma letra</p><p>25</p><p>Introdução ao Processamento de Dados</p><p>Variáveis</p><p> Variáveis correspondem a posições na memória (RAM) do computador</p><p>onde se armazenam dados manipulados pelo programa.</p><p>26</p><p>0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0</p><p>1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1</p><p>0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 1</p><p>1 0 0 1 1 0 0 0 1 1 0 1 1 0 1 0 1 1 1 0</p><p>0 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1</p><p>0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0</p><p>1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1</p><p>0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 1</p><p>1 0 0 1 1 0 0 0 1 1 0 1 1 0 1 0 1 1 1 0</p><p>0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 1</p><p>0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0</p><p>1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1</p><p>0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 1</p><p>1 0 0 1 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 0</p><p>0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1</p><p>0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0</p><p>1 1 1 0 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1</p><p>0 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 1 0 1</p><p>1 0 0 1 1 0 0 0 1 1 0 1 1 0 1 0 1 1 1 0</p><p>0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 1</p><p>Memória</p><p>Introdução ao Processamento de Dados</p><p>Variáveis</p><p> Variáveis correspondem a posições na memória (RAM) do computador</p><p>onde se armazenam dados manipulados pelo programa.</p><p> São identificadas por um nome, e.g.:</p><p>X, y, nome, idade, P1, P2, nota, resultado,</p><p>zwy, Turma, banana, comentario, etc.</p><p> Durante a execução, um programa</p><p>geralmente altera os valores das</p><p>variáveis.</p><p>27</p><p>Memória</p><p>21</p><p>‘João’</p><p>7.5</p><p>‘Muito aplicado’</p><p>nome</p><p>nota</p><p>comentario</p><p>idade</p><p>Introdução ao Processamento de Dados</p><p>Variáveis</p><p>Existem regras para se dar nome a uma variável:</p><p> Uma única letra ou inicia com uma letra que pode ser seguida de dígitos</p><p>ou letras, em qualquer quantidade.</p><p> Não deve possuir caracteres que tenham funções específicas,</p><p>e.g., + - * / = % “ ‘ ! ~ ? : ; , ( ) .</p><p> Não deve possuir espaços.</p><p> Sublinhado _ funciona como uma letra (ok).</p><p> Geralmente só se aceitam letras presentes na língua inglesa.</p><p> Não pode ser um nome “reservado” numa linguagem, e.g., float, string,</p><p>int, if, def, True, False, input, print, ...</p><p>28</p><p>Introdução ao Processamento de Dados</p><p>A 5B A32B x-y</p><p>A:B KM/H Caixa_Preta b*d</p><p>E(2) _NUM Caixa Preta A1</p><p>Endereço A1111 média ação</p><p>Variáveis</p><p>Quais destes são nomes de variáveis válidos?</p><p>29</p><p>Introdução ao Processamento de Dados</p><p>Tipos de Dados</p><p>Cada variável está associada a um tipo de dado.</p><p>Tipos básicos de dados:</p><p> Numéricos</p><p> Inteiros (integer) = 14</p><p> Reais (float) = 6.78, 14.0</p><p> Alfanuméricos</p><p> Caractere (char): um único caractere = “a”</p><p> Cadeia de caracteres (string): uma cadeia de caracteres = “correto”</p><p> Lógicos ou Booleanos</p><p> Verdadeiro (True) ou Falso (False)</p><p>30</p><p>Introdução ao Processamento de Dados</p><p>Variáveis</p><p>• Tipagem dinâmica</p><p>– Variáveis são inferidas pelo interpretador em tempo de execução</p><p>(Duck Typing)</p><p>– A partir da atribuição de um valor elas passam a ser do TIPO do valor atribuído,</p><p>com as operações que podem ser aplicadas.</p><p>• Tipagem forte</p><p>– Para realizar a operação entre tipos não compatíveis, é necessário</p><p>converter explicitamente o tipo da variável ou variáveis antes da</p><p>operação.</p><p>31</p><p>Introdução ao Processamento de Dados</p><p>Variáveis</p><p>• Uma variável é um identificador</p><p>• Podem ter qualquer quantidade de caracteres</p><p>– Ex: notaAlunoUERJPrimeiroSemestre2013, x, y, var1, var2</p><p>• São usadas para armazenar os dados do programa</p><p>• NÃO PRECISAM SER DECLARADAS</p><p>• Permite usar acentos e ç</p><p>• # -*- coding: cp1252 -*-</p><p>32</p><p>Introdução ao Processamento de Dados</p><p>Atribuição</p><p> Em várias linguagens de programação (e.g., C, C++, Pascal, Fortran), é</p><p>preciso ‘declarar’ uma variável antes dela ser usada no programa.</p><p> No Python a primeira atribuição a uma variável vai criá-la: alocar espaço</p><p>na memória.</p><p> Imagine que nosso programa tem a seguinte sequência de atribuições:</p><p>33</p><p>1) a  1</p><p>2) b  a + 1</p><p>3) b  b + 1</p><p>1 a</p><p>3 b</p><p>Introdução ao Processamento de Dados</p><p>Algoritmos</p><p> Existem várias formas de representar um algoritmo.</p><p> Com frequência, antes de começar a criar um programa que implemente o</p><p>algoritmo, usamos alguma destas representações:</p><p> Diagrama de Chapin</p><p> Fluxograma</p><p> Pseudocódigo</p><p>34</p><p>Introdução ao Processamento de Dados</p><p>Diagrama de Chapin</p><p>Algoritmo para ler duas notas dizer se aluno foi aprovado ou reprovado.</p><p>35</p><p>Início</p><p>Ler nota1, nota2</p><p>media  (nota1+nota2)/2</p><p>sim media >= 7 não</p><p>Aprovado Reprovado</p><p>Fim</p><p>Introdução ao Processamento de Dados</p><p>Diagrama de Chapin</p><p>36</p><p>Início</p><p>Ler nota1, nota2</p><p>media  (nota1+nota2)/2</p><p>sim media>= 7 não</p><p>Aprovado</p><p>Ler notaPF</p><p>Final  (notaPF+media)/2</p><p>sim Final>= 5 não</p><p>Aprovado Reprovado</p><p>Com prova final...</p><p>Introdução ao Processamento de Dados</p><p>Fluxograma</p><p> Representação esquemática de um algoritmo.</p><p> Grafo dirigido composto por formas que representam diferentes ações</p><p>(formas básicas):</p><p>37</p><p>Forma Nome Descrição</p><p>Seta Indica que o controle passa para a forma apontada</p><p>Terminal Representa o começo ou término do algoritmo</p><p>Entrada/Saída Representa entrada ou saída de dados</p><p>Processo Representa uma ação/cálculo/processo</p><p>Decisão Representa uma decisão</p><p>Proc. Predefinido Representa um outro fluxograma (aninhado)</p><p>Introdução ao Processamento de Dados</p><p>Fluxograma</p><p>Algoritmo para ler duas notas dizer se</p><p>aluno foi aprovado ou reprovado.</p><p>38</p><p>Início</p><p>Ler</p><p>nota1</p><p>media  (nota1+nota2)/2</p><p>media ≥</p><p>7</p><p>Aprovado</p><p>Fim</p><p>Reprovado</p><p>Não Sim</p><p>Ler</p><p>nota2</p><p>Introdução ao Processamento de Dados</p><p>Fluxograma</p><p>Com prova final...</p><p>39</p><p>Início</p><p>Ler</p><p>nota2</p><p>media  (nota1+nota2)/2</p><p>media ≥ 7</p><p>Aprovado</p><p>Fim</p><p>Não Sim</p><p>Ler</p><p>nota1</p><p>Reprovado</p><p>Ler</p><p>notaPF</p><p>notaF  (notaPF+media)/2</p><p>notaF ≥ 5</p><p>Aprovado</p><p>Não Sim</p><p>Introdução ao Processamento de Dados</p><p>Pseudocódigo</p><p> Forma genérica de escrever um algoritmo, utilizando uma linguagem</p><p>simples, próxima da natural.</p><p> Não há necessidade de conhecer a sintaxe de nenhuma linguagem de</p><p>programação.</p><p> Não pode ser executado num sistema real (computador), de outra forma</p><p>deixaria de ser pseudo.</p><p>40</p><p>Introdução ao Processamento de Dados</p><p>Pseudocódigo</p><p> Há algumas propostas mais rígidas (em termos de sintaxe) de português</p><p>estruturado: Portugol, G-Portugol, Portugol Viana.</p><p> Estes formalismos não se justificam neste curso: nos concentraremos</p><p>posteriormente na sintaxe da linguagem Phyton.</p><p>41</p><p>Introdução ao Processamento de Dados</p><p>Blocos</p><p>• Os blocos de comandos são delimitados em Python pela indentação - recuo,</p><p>derivado da palavra em inglês indentation</p><p>– A INDENTAÇÃO É OBRIGATÓRIA</p><p>• O número de espaços no recuo é variável, mas todas as instruções dentro do bloco</p><p>têm de ser recuado na mesma quantidade.</p><p>• A linha anterior ao bloco sempre termina com dois pontos (:) e representa uma</p><p>estrutura de controle da linguagem ou uma declaração de uma nova estrutura (uma</p><p>função, por exemplo).</p><p>42</p><p>VOLP</p><p>Introdução ao Processamento de Dados</p><p>Blocos: indentação</p><p>43</p><p>Introdução ao Processamento de Dados</p><p>Comentários</p><p>• São muito importantes para dar clareza aos programas</p><p>• São ignorados pelo compilador</p><p>– Ou seja, é como se não existissem</p><p>• São precedidos pelo caractere # (tralha ou hash)</p><p>– Ex: # testando comentário</p><p>– 2 + 2</p><p>– 2 + 2 # ignora o que vem depois</p><p>44</p><p>Introdução ao Processamento de Dados</p><p>Operadores Aritméticos</p><p>• +  SOMAR</p><p>• -  SUBTRAIR</p><p>• *  MULTIPLICAÇÃO</p><p>• /  DIVISÃO</p><p>• //  DIVISÃO INTEIRA</p><p>• %  RESTO</p><p>• **  EXPONENCIAÇÃO</p><p>45</p><p>Introdução ao Processamento de Dados</p><p>Operadores Aritméticos</p><p>Testar no PYTHON</p><p>› 4 + 3 - 2</p><p>› 2 * 3</p><p>› 7 / 2</p><p>› 7 // 2</p><p>› 7 % 2</p><p>› 2 ** 3</p><p>› a += 1 # a = a + 1</p><p>46</p><p>Introdução ao Processamento de Dados</p><p>Operadores Aritméticos</p><p>Testar no PYTHON</p><p>> 7.0/2</p><p>> 7/2.0</p><p>> 7/2.</p><p>> 7/2</p><p>47</p><p>Introdução ao Processamento de Dados</p><p>Operadores Aritméticos</p><p>Testar no PYTHON</p><p>> 7.0/2</p><p>> 7/2.0</p><p>> 7/2.</p><p>48</p><p>>>> 7.0/2</p><p>3.5</p><p>>>> 7/2.0</p><p>3.5</p><p>>>> 7/2.</p><p>3.5</p><p>>>></p><p>Introdução ao Processamento de Dados</p><p>Operações bit-a-bit</p><p>– Deslocamento para esquerda (>). ▪</p><p>– (E bit-a-bit &).</p><p>– Ou bit-a-bit (|).</p><p>– Ou exclusivo bit-a-bit (^).</p><p>– Inversão (~).</p><p>49</p><p>Introdução ao Processamento de Dados</p><p>Precedência de operadores</p><p>1. ()</p><p>2. **</p><p>3. *, /, //, %</p><p>4. +, -</p><p>Em caso de mesma hierarquia resolve-se da esquerda para</p><p>direita</p><p>4 + (3**2)//3 - 4%3 * 5 – 2</p><p>4+2/3</p><p>50</p><p>Introdução ao Processamento de Dados</p><p>Precedência de operadores</p><p>1. ()</p><p>2. **</p><p>3. *, /, //, %</p><p>4. +, -</p><p>Em caso de mesma hierarquia resolve-se da esquerda para</p><p>direita</p><p>> 4 + (3**2)//3 - 4%3 * 5 - 2</p><p>51</p><p>>>> 4 + (3**2)//3 - 4%3 * 5 - 2</p><p>0</p><p>Introdução ao Processamento de Dados</p><p>Operadores relacionais</p><p>• ==, !=, >, >=, b</p><p>52</p><p>Introdução ao Processamento de Dados</p><p>Operadores relacionais</p><p>• ==, !=, >, >=, b</p><p>53</p><p>>>> a=2; b=3</p><p>>>> a==b</p><p>False</p><p>>>> a!=b</p><p>True</p><p>>>> a>b</p><p>False</p><p>>>></p><p>Introdução ao Processamento de Dados</p><p>Operadores lógicos</p><p>• and, or e not</p><p>• Uma operação lógica retorna sempre um valor lógico False ou</p><p>True</p><p>Testar no PYTHON</p><p>› a = 2; b= 3 (idade>18) and (idade F</p><p>› a == b or a != b F ou V => V</p><p>› (a==b) or (a>b) F ou F => F</p><p>› not (a == b and a != b) not(F and V) => not (F) => V</p><p>54</p><p>p q p ^ q p v q</p><p>V V V V</p><p>V F F V</p><p>F V F V</p><p>F F F F</p><p>~p</p><p>F</p><p>F</p><p>V</p><p>V</p><p>p p q q p ^ q p ^ q p v q p v q</p><p>V V V V V V V V</p><p>V V F F F F V V</p><p>F F V V F F V V</p><p>F F F F F F F F</p><p>~p ~p</p><p>F F</p><p>F F</p><p>V V</p><p>V V</p><p>Introdução ao Processamento de Dados</p><p>Operadores lógicos</p><p>• and, or e not</p><p>• Uma operação lógica retorna sempre um valor lógico False ou</p><p>True</p><p>Testar no PYTHON</p><p>› a = 2; b= 3</p><p>› a == b and a != b</p><p>› a == b or a != b</p><p>› not (a == b and a != b)</p><p>55</p><p>>>> a == b and a != b</p><p>False</p><p>>>> a == b or a != b</p><p>True</p><p>>>> not (a == b and a != b)</p><p>True</p><p>>>></p><p>Introdução ao Processamento de Dados</p><p>Entrada / Saída (dados numéricos)</p><p>• Os comandos de entrada e saída são usados para enviar dados para o</p><p>programa e mostrar os resultados do programa</p><p>• SINTAXE DO COMANDO DE ENTRADA:</p><p>VARIAVEL = input(‘mensagem’)</p><p>Entrada de dados numéricos.</p><p>Testar no Python (versão 2.X.X)</p><p>>>> a = input(‘Entre com numero = ’)</p><p>>>> a</p><p>56</p><p>Introdução ao Processamento de Dados</p><p>Entrada / Saída (dados numéricos)</p><p>• Os comandos de entrada e saída são usados para enviar dados para o</p><p>programa e mostrar os resultados do programa</p><p>• SINTAXE DO COMANDO DE ENTRADA:</p><p>VARIAVEL = input(‘mensagem’)</p><p>Entrada de dados numéricos.</p><p>Testar no Python (versão 2.X.X) e</p><p>(versão 3.X.X)</p><p>>>> a = input(‘Entre com numero’)</p><p>>>> a</p><p>57</p><p>>>> a=input('Entre com o numero: ')</p><p>Entre com o numero: 3</p><p>>>> a+2</p><p>5</p><p>>>> a/2.0</p><p>1.5</p><p>>>> a/2</p><p>1.5</p><p>>>> a=input('Entre com o numero: ')</p><p>Entre com o numero: 3.0</p><p>>>> a+2</p><p>5.0</p><p>>>> a/2.0</p><p>1.5</p><p>>>> a/2</p><p>1.5</p><p>Introdução ao Processamento de Dados</p><p>Entrada / Saída (strings)</p><p>• SINTAXE DO COMANDO DE ENTRADA:</p><p>VARIAVEL = raw_input(‘mensagem’)</p><p>Entrada de dados alfabéticos.</p><p>Testar no Python (versão 2.X.X e 3.X.X)</p><p>>>> a = raw_input(‘Entre com numero: ’)</p><p>58</p><p>>>> a=raw_input('Entre com numero: ')</p><p>Entre com numero: 3</p><p>>>> a+2</p><p>Traceback (most recent call last):</p><p>File "", line 1, in</p><p>a+2</p><p>TypeError: cannot concatenate 'str' and 'int' objects</p><p>>>></p><p>Introdução ao Processamento de Dados</p><p>Entrada / Saída (dados numéricos)</p><p>Testar no Python (versão 3.X.X)</p><p>>>> a=int(input('Entre com o dado: '))</p><p>Entre com o dado: 2</p><p>>>> a</p><p>2</p><p>>>></p><p>59</p><p>Introdução ao Processamento de Dados</p><p>Entrada / Saída (strings)</p><p>• Testar no Python (versão 3.X.X)</p><p>>>> a=input('Entre com o dado: ')</p><p>Entre com o dado: 2</p><p>>>> a</p><p>'2'</p><p>>>></p><p>60</p><p>Introdução ao Processamento de Dados</p><p>Entrada / Saída</p><p>• SINTAXE DO COMANDO DE SAÍDA:</p><p>print(VARIAVEL)</p><p>print(VARIAVEL, CONSTANTE, ...)</p><p>Testar no Python</p><p>>>> a = 5</p><p>>>> print(a)</p><p>>>> print(‘num: ‘, a)</p><p>61</p><p>Introdução ao Processamento de Dados</p><p>Entrada / Saída</p><p>• SINTAXE DO COMANDO DE SAÍDA:</p><p>print(VARIAVEL)</p><p>print(VARIAVEL, CONSTANTE, ...)</p><p>Testar no Python (versão 3.X.X)</p><p>>>> a = 5</p><p>>>> print(a)</p><p>>>> print(‘ num: ‘, a)</p><p>62</p><p>>>> print( a)</p><p>6</p><p>>>> print( 'num: ', a)</p><p>num: 6</p><p>>>></p><p>Introdução ao Processamento de Dados</p><p>Programa em Python</p><p>• Basta digitar os comandos em linhas distintas</p><p>• Não esquecer a indentação quando houver comandos dentro</p><p>de outros comandos</p><p>• NÃO se declara variáveis em PYTHON</p><p>63</p><p>Introdução ao Processamento de Dados</p><p>Exercício</p><p>• Fazer um programa para ler 2 números e imprimir a soma</p><p>a =int(input('N1: '))</p><p>b =int(input('N2: '))</p><p>c = a + b</p><p>print ('soma: ', c)</p><p>64</p><p>Introdução ao Processamento de Dados</p><p>Exercício</p><p>• Fazer um programa para ler 2 números e imprimir a soma</p><p>a = int(input('N1: '))</p><p>b = int(input('N2: '))</p><p>c = a + b</p><p>print('soma: ', c)</p><p>65</p><p>>>> a = int( input('N1: '))</p><p>N1: 2</p><p>>>> b = int( input('N2: '))</p><p>N2: 3</p><p>>>> c = a + b</p><p>>>> print('soma: ', c)</p><p>soma: 5</p><p>>>></p><p>Introdução ao Processamento de Dados</p><p>Exercício</p><p>•</p><p>Fazer um programa para ler 4 números e imprimir a média</p><p>a = int( input('N1: '))</p><p>b = int( input('N2: '))</p><p>c = int( input('N3: '))</p><p>d =int( input('N4: '))</p><p>result = (a+b+c+d)/4</p><p>print( 'soma: ', result)</p><p>66</p><p>>>> a = int( input('N1: '))</p><p>N1: 4</p><p>>>> b = int( input('N2: '))</p><p>N2: 5</p><p>>>> c = int( input('N3: '))</p><p>N3: 3</p><p>>>> d =int( input('N4: '))</p><p>N4: 6</p><p>>>> result = (a+b+c+d)/4</p><p>>>> print( 'soma: ', result</p><p>soma: 4.5</p><p>>>></p><p>Introdução ao Processamento de Dados</p><p>Exercício</p><p>• Fazer um programa para ler 4 números e imprimir a média</p><p>a = input('N1: ')</p><p>b = input('N2: ')</p><p>c = input('N3: ')</p><p>d = input('N4: ')</p><p>result = (a+b+c+d)/float(4)</p><p>print 'soma: ', result</p><p>67</p><p>Introdução ao Processamento de Dados</p><p>Exercício</p><p>• Fazer um algoritmo para ler o valor do tempo em segundos e</p><p>imprimir em hora, minuto e segundos</p><p>– Ex: 4000s = 1h 6min 40s</p><p>totalSeg = int( input('tempo em segundos: '))</p><p>hora = totalSeg // 3600</p><p>minuto = (totalSeg % 3600) // 60</p><p>segundo = (totalSeg % 3600) % 60</p><p>print( hora,':',minuto,':',segundo)</p><p>68</p><p>Introdução ao Processamento de Dados</p><p>Exercício</p><p>• Fazer um algoritmo para ler o valor do tempo em segundos e</p><p>imprimir em hora, minuto e segundos</p><p>– Ex: 4000s = 1h 6min 40s</p><p>totalSeg = input('tempo em segundos: ')</p><p>hora = totalSeg // 3600</p><p>minuto = (totalSeg % 3600) // 60</p><p>segundo = (totalSeg % 3600) % 60</p><p>print hora,':',minuto,':',segundo</p><p>69</p><p>>>> totalSeg = input('tempo em segundos: ')</p><p>tempo em segundos: 36400</p><p>>>> hora = totalSeg // 3600</p><p>>>> minuto = (totalSeg % 3600) // 60</p><p>>>> segundo = (totalSeg % 3600) % 60</p><p>>>> print hora,':',minuto,':',segundo</p><p>10 : 6 : 40</p><p>>>></p><p>Introdução ao Processamento de Dados</p><p>Ex: 4000s = 1h 6min 40s</p><p>4000 3600 400 60</p><p>totalSeg = input('tempo em segundos: ')</p><p>hora = totalSeg // 3600</p><p>A=(totalSeg % 3600)</p><p>minuto = A // 60</p><p>segundo = A % 60</p><p>print hora,':',minuto,':',segundo</p><p>70</p><p>1</p><p>400</p><p>1h 6 40 6 min</p><p>Resto das horas em</p><p>seg</p><p>Introdução ao Processamento de Dados</p><p>Escrevendo programa em arquivo</p><p>71</p><p>Introdução ao Processamento de Dados</p><p>Salvando programa em arquivo</p><p>72</p><p>Introdução ao Processamento de Dados 73</p>

Mais conteúdos dessa disciplina