pseudo-código: sintaxe. motivação resolver problemas muitas vezes requer: uso de ferramentas...
TRANSCRIPT
![Page 1: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/1.jpg)
Pseudo-código: sintaxe
![Page 2: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/2.jpg)
Motivação
Resolver problemas muitas vezes requer:
Uso de ferramentas lógicas Uso de pensamento lógico Padronização
![Page 3: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/3.jpg)
Exemplo
Ganhando 1 milhão de Reais Há 3 portas para se escolher uma Atrás de cada porta há um “prêmio” Os prêmios são: $$$, caneta, batata Em cada porta há uma frase escrita Sabe-se que a frase da porta do $$$ é
verdade e a porta da batata mentira
![Page 4: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/4.jpg)
Exemplo
ACaneta
aqui
BBatata na porta C
CCaneta na porta
A
Onde está o dinheiro?
![Page 5: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/5.jpg)
Exemplo 2
Suponha que 5 rãs posicionadas em 6 casas da seguinte maneira
Descreva os passos para que elas atinjam a seguinte configuração
r1 r2 r3 r4 r5
r5 r4 r3 r2 r1
![Page 6: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/6.jpg)
Exemplo 2
Uma rã pode pular para uma casa vizinha se ela estiver vazia
Uma rã pode pular a rã vizinha (apenas uma) se a casa estiver vazia
![Page 7: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/7.jpg)
Algoritmos
Como transformar o raciocínio lógico em algoritmos?
Não há algoritmos para construir algoritmos
Um algoritmo depende muito de seu criador
![Page 8: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/8.jpg)
Algoritmos - Características
Finitude – um algoritmo deve ter um número finito de passos
Definição – cada passo do algoritmo deve ser corretamente definida e não possuir ambiguidades
![Page 9: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/9.jpg)
Algoritmo - Características
Entrada – um algoritmo deve ter zero ou mais entradas
Saída – um algoritmo deve ter uma ou mais saídas
Efetividade – um algoritmo deve ter operações suficientemente básicas de modo que possa ser executado com precisão por um humano, usando papel e lápis, em um tempo finito
![Page 10: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/10.jpg)
Algoritmos
Todos sabemos fazer algoritmos
Conseguimos sair de casa, ir para o trabalho e voltar para casa
Para fazer isto tudo é necessário uma série de entradas como: horário de acordar, horário para entrar no trabalho, etc
![Page 11: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/11.jpg)
Escreva um algoritmo para descrever como você faz para ir da sua casa para a faculdade
![Page 12: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/12.jpg)
Algoritmos - sintaxe
Algoritmo nome (<entradas>)
Inicio
/*corpo*/
fim
![Page 13: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/13.jpg)
O nome de um algoritmo é um identificador válido
Devem começar com caracteres (a-z,A-Z) e podem ser seguidos de um ou mais caracteres ou dígitos(a-z,A-Z,0-9,_)
O nome deve ser significativo, mostrando qual a função do algoritmo
![Page 14: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/14.jpg)
Na matemática é comum chamar algoritmos e funções por letras – função f
Isto é mal visto pela computação pois dificulta o entendimento do código
![Page 15: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/15.jpg)
Comandos básicos
Imprimir
Usado para imprimir no dispositivo de saída
Irá imprimir tudo aquilo estiver depois do comando até o fim da linha
![Page 16: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/16.jpg)
Assim o comando
Imprimir “teste de impressão”
Irá imprimir no dispositivo de saída a
expressão teste de impressão
![Page 17: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/17.jpg)
Algoritmo imprimirTeste ()
Inicio
imprimir “teste de impressão”
fim
![Page 18: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/18.jpg)
Exemplo: escreva um algoritmo que imprima o seu nome
![Page 19: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/19.jpg)
Variáveis
Regiões de memória que são tratadas segundo regras de um tipo específico
Podem armazenar dados, ser usadas como operandos em operações
Sintaxe: tipo nome
![Page 20: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/20.jpg)
Variáveis - exemplo
Inteiro idade
Real salário
Texto nome
Lógico bomPagador
![Page 21: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/21.jpg)
Variáveis-inicialização
Atribui a região de memória designada pela variável um valor inicial
É importante pois nem todas as linguagens tem mecanismo automático de inicialização
![Page 22: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/22.jpg)
Variáveis-inicialização
Algoritmo imprimeNúmero()
Inicio
Inteiro num=5
imprimir num
imprimir 5
fim
![Page 23: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/23.jpg)
Variáveis - Operadores gerais
Atribuição: =
Comparação positiva: ==
Comparação negativa: !=
![Page 24: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/24.jpg)
Variáveis-inicialização
Algoritmo imprimeNúmero()
Inicio
Inteiro num=5 /* inicializando variável */
imprimir num
num = 6 /* alterando valor*/
imprimir num
fim
![Page 25: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/25.jpg)
Variáveis – Operadores numéricos
Adição: + Subtração: - Multiplicação: * Divisão inteira: / Resto de divisão: % Sinalização: + e – (operadores unários)
![Page 26: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/26.jpg)
Variáveis-inicialização
Algoritmo imprimeNúmero()
Inicio
Inteiro num1=5
Inteiro num2=6
Inteiro num3=num1+num2
imprimir num3
fim
![Page 27: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/27.jpg)
Operadores numérico - Precedência As operações são analisadas da esquerda
para a direita seguindo a seguinte precedência:
1- Sinalização: + e – (operadores unários) 2 – Multiplicação, Divisão inteira e Resto
de divisão 3 – Adição e Subtração
![Page 28: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/28.jpg)
Avalie as seguintes expressões
1 + 2 * -1
1*2 / 3
1+4 * 5 – 2
1%2 -1
![Page 29: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/29.jpg)
Avalie as seguintes expressões
1 + 2 * -1 -> -1
1*2 / 3 -> 0
1+4 * 5 – 2 -> 19
1%2 -1 -> 0
![Page 30: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/30.jpg)
Operador Parêntesis ()
Operador de mudança de precedência (2+1)*8
Indica que a soma deve ser realizada antes da multiplicação
Composição de parêntesis ((2+1)/10)*3
![Page 31: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/31.jpg)
Operador de texto
Concatenação: +
Agrega o texto contido no segundo operando no final do primeiro
![Page 32: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/32.jpg)
Algoritmo imprimeTexto()
Inicio
Texto tex1=“minas”
Texto tex2=“gerais”
Texto tex3=tex1+tex2
imprimir tex3
Fim
![Page 33: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/33.jpg)
Algoritmo imprimeTexto()Inicio Texto tex1=“minas” Texto tex2=“gerais” Texto tex3=tex1+tex2 imprimir tex3Fim
Saída -> minasgerais
![Page 34: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/34.jpg)
Exercício
Escreva um algoritmo que declare cada parte do seu nome como uma variável do tipo texto
O algoritmo deve imprimir os nomes na ordem correta
O algoritmo deve imprimir o nome como se faz na lingua inglesa (Souza, Maurício de)
![Page 35: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/35.jpg)
Operadores relacionais
Retornam falso ou verdadeiro dependendo dos operadores
>, >= - retornam verdadeiro se o primeiro operador for maior(ou igual) ao segundo
<, <= - retornam verdadeiro se o primeiro operador for menor(ou igual) ao segundo
![Page 36: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/36.jpg)
Algoritmo imprimeLógico()
Inicio
Inteiro int1=3
Inteiro int2=5
Lógico log = int1> int2
imprimir log
Fim
![Page 37: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/37.jpg)
Operadores relacionais
== - retorna verdadeiro se o primeiro operador for igual ao segundo
!= - retornam verdadeiro se o primeiro operador for diferente do segundo
![Page 38: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/38.jpg)
Algoritmo imprimeLógico()
Inicio
Inteiro int1=3
Inteiro int2=5
Lógico log = int1== int2
imprimir log
Fim
![Page 39: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/39.jpg)
Exercício
Faça um algoritmo que declare o número de letras do seu primeiro e último nome como números inteiros
O algoritmo deve imprimir se o número de caracteres do seu primeiro nome é igual ao número de caracteres do segundo
![Page 40: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/40.jpg)
Exercício
Faça um algoritmo que declare o número de letras do seu primeiro e último nome como números inteiros
O algoritmo deve imprimir se o número de caracteres do seu primeiro nome é impar
![Page 41: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/41.jpg)
Entrada de dados
Há necessidade de troca de informações entre o usuário e o programa
Esta troca de informações se efetua através de entrada e saída de dados
![Page 42: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/42.jpg)
Ler
Usado para ler informações a serem passadas pelo usuário
Atribui à variável após o comando o valor informado pelo usuário
![Page 43: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/43.jpg)
Assim,
Ler x
Irá atribuir à variável x o valor passado pelo usuário
![Page 44: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/44.jpg)
Exemplo
Algoritmo entradaTeste()
Inicio
Inteiro int1=0
imprimir “digite um número inteiro”
Ler int1
imprimir int1
Fim
![Page 45: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/45.jpg)
Exercício
Faça um algoritmo que leia as notas de 10 alunos de uma turma
O algoritmo deve calcular a média desta turma e imprimi-la
![Page 46: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/46.jpg)
Exercício
Faça um algoritmo que leia o primeiro e o último nome do usuário
O algoritmo deve imprimir o nome na forma normal e como é escrito na língua inglesa
![Page 47: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/47.jpg)
Exercício
Faça um algoritmo que leia 2 números reais e imprima o resultado das quatro operações básicas da aritmética utilizando estes dois números como operandos
![Page 48: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/48.jpg)
Operadores lógicos
E: &
Ou: |
Negação: !
![Page 49: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/49.jpg)
Tabela Verdade &
Operando
1
Operando
2
Resultado
Verdadeiro Verdadeiro Verdadeiro
Verdadeiro Falso Falso
Falso Verdadeiro Falso
Falso Falso Falso
![Page 50: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/50.jpg)
Tabela Verdade |
Operando
1
Operando
2
Resultado
Verdadeiro Verdadeiro Verdadeiro
Verdadeiro Falso Verdadeiro
Falso Verdadeiro Verdadeiro
Falso Falso Falso
![Page 51: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/51.jpg)
Tabela Verdade !
Operando
1
Resultado
Verdadeiro Falso
Falso Verdadeiro
![Page 52: Pseudo-código: sintaxe. Motivação Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização](https://reader036.vdocuments.net/reader036/viewer/2022081602/552fc0f8497959413d8b4bee/html5/thumbnails/52.jpg)