1 / 52

Pseudo-código: sintaxe

Pseudo-código: sintaxe. Motivação. Resolver problemas muitas vezes requer: Uso de ferramentas lógicas Uso de pensamento lógico Padronização. 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

gari
Télécharger la présentation

Pseudo-código: sintaxe

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pseudo-código: sintaxe

  2. Motivação • Resolver problemas muitas vezes requer: • Uso de ferramentas lógicas • Uso de pensamento lógico • Padronização

  3. 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

  4. Exemplo A Caneta aqui B Batata na porta C C Caneta na porta A Onde está o dinheiro?

  5. 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

  6. 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

  7. Algoritmos • Como transformar o raciocínio lógico em algoritmos? • Não há algoritmos para construir algoritmos • Um algoritmo depende muito de seu criador

  8. 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

  9. 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

  10. 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

  11. Escreva um algoritmo para descrever como você faz para ir da sua casa para a faculdade

  12. Algoritmos - sintaxe Algoritmo nome (<entradas>) Inicio /*corpo*/ fim

  13. 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

  14. 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

  15. 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

  16. Assim o comando Imprimir “teste de impressão” • Irá imprimir no dispositivo de saída a expressão teste de impressão

  17. Algoritmo imprimirTeste () Inicio imprimir “teste de impressão” fim

  18. Exemplo: escreva um algoritmo que imprima o seu nome

  19. 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

  20. Variáveis - exemplo • Inteiro idade • Real salário • Texto nome • Lógico bomPagador

  21. 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

  22. Variáveis-inicialização Algoritmo imprimeNúmero() Inicio Inteiro num=5 imprimir num imprimir 5 fim

  23. Variáveis - Operadores gerais • Atribuição: = • Comparação positiva: == • Comparação negativa: !=

  24. Variáveis-inicialização Algoritmo imprimeNúmero() Inicio Inteiro num=5 /* inicializando variável */ imprimir num num = 6 /* alterando valor*/ imprimir num fim

  25. Variáveis – Operadores numéricos • Adição: + • Subtração: - • Multiplicação: * • Divisão inteira: / • Resto de divisão: % • Sinalização: + e – (operadores unários)

  26. Variáveis-inicialização Algoritmo imprimeNúmero() Inicio Inteiro num1=5 Inteiro num2=6 Inteiro num3=num1+num2 imprimir num3 fim

  27. 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

  28. Avalie as seguintes expressões • 1 + 2 * -1 • 1*2 / 3 • 1+4 * 5 – 2 • 1%2 -1

  29. Avalie as seguintes expressões • 1 + 2 * -1 -> -1 • 1*2 / 3 -> 0 • 1+4 * 5 – 2 -> 19 • 1%2 -1 -> 0

  30. 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

  31. Operador de texto • Concatenação: + • Agrega o texto contido no segundo operando no final do primeiro

  32. Algoritmo imprimeTexto() Inicio Texto tex1=“minas” Texto tex2=“gerais” Texto tex3=tex1+tex2 imprimir tex3 Fim

  33. Algoritmo imprimeTexto() Inicio Texto tex1=“minas” Texto tex2=“gerais” Texto tex3=tex1+tex2 imprimir tex3 Fim Saída -> minasgerais

  34. 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)

  35. 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

  36. Algoritmo imprimeLógico() Inicio Inteiro int1=3 Inteiro int2=5 Lógico log = int1> int2 imprimir log Fim

  37. Operadores relacionais • == - retorna verdadeiro se o primeiro operador for igual ao segundo • != - retornam verdadeiro se o primeiro operador for diferente do segundo

  38. Algoritmo imprimeLógico() Inicio Inteiro int1=3 Inteiro int2=5 Lógico log = int1== int2 imprimir log Fim

  39. 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

  40. 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

  41. 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

  42. 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

  43. Assim, Ler x Irá atribuir à variável x o valor passado pelo usuário

  44. Exemplo Algoritmo entradaTeste() Inicio Inteiro int1=0 imprimir “digite um número inteiro” Ler int1 imprimir int1 Fim

  45. 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

  46. 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

  47. 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

  48. Operadores lógicos • E: & • Ou: | • Negação: !

  49. Tabela Verdade &

  50. Tabela Verdade |

More Related