Pseudocdigo sintaxe Motivao n Resolver problemas muitas vezes
Pseudo-código: sintaxe
Motivação n Resolver problemas muitas vezes requer: Uso de ferramentas lógicas n Uso de pensamento lógico n Padronização n
Exemplo Ganhando 1 milhão de Reais n Há 3 portas para se escolher uma n Atrás de cada porta há um “prêmio” n Os prêmios são: $$$, caneta, batata n Em cada porta há uma frase escrita n Sabe-se que a frase da porta do $$$ é verdade e a porta da batata mentira n
Exemplo A Caneta aqui Onde está o dinheiro? B Batata na porta C C Caneta na porta A
Exemplo 2 n Suponha que 5 rãs posicionadas em 6 casas da seguinte maneira r 1 n r 2 r 3 r 4 r 5 Descreva os passos para que elas atinjam a seguinte configuração r 5 r 4 r 3 r 2 r 1
Exemplo 2 n Uma rã pode pular para uma casa vizinha se ela estiver vazia n Uma rã pode pular a rã vizinha (apenas uma) se a casa estiver vazia
Algoritmos n Como transformar o raciocínio lógico em algoritmos? n Não há algoritmos para construir algoritmos n Um algoritmo depende muito de seu criador
Algoritmos - Características Finitude – um algoritmo deve ter um número finito de passos n Definição – cada passo do algoritmo deve ser corretamente definida e não possuir ambiguidades n
Algoritmo - Características Entrada – um algoritmo deve ter zero ou mais entradas n Saída – um algoritmo deve ter uma ou mais saídas n 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 n
Algoritmos n Todos sabemos fazer algoritmos n Conseguimos sair de casa, ir para o trabalho e voltar para casa n Para fazer isto tudo é necessário uma série de entradas como: horário de acordar, horário para entrar no trabalho, etc
n Escreva um algoritmo para descrever como você faz para ir da sua casa para a faculdade
Algoritmos - sintaxe Algoritmo nome (<entradas>) Inicio /*corpo*/ fim
O nome de um algoritmo é um identificador válido n 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, _) n O nome deve ser significativo, mostrando qual a função do algoritmo n
n Na matemática é comum chamar algoritmos e funções por letras – função f n Isto é mal visto pela computação pois dificulta o entendimento do código
Comandos básicos n Imprimir n Usado para imprimir no dispositivo de saída n Irá imprimir tudo aquilo estiver depois do comando até o fim da linha
Assim o comando Imprimir “teste de impressão” n Irá imprimir no dispositivo de saída a expressão teste de impressão n
Algoritmo imprimir. Teste () Inicio imprimir “teste de impressão” fim
n Exemplo: escreva um algoritmo que imprima o seu nome
Variáveis n Regiões de memória que são tratadas segundo regras de um tipo específico n Podem armazenar dados, ser usadas como operandos em operações n Sintaxe: tipo nome
Variáveis - exemplo n Inteiro idade n Real salário n Texto nome n Lógico bom. Pagador
Variáveis-inicialização n Atribui a região de memória designada pela variável um valor inicial n É importante pois nem todas as linguagens tem mecanismo automático de inicialização
Variáveis-inicialização Algoritmo imprime. Número() Inicio Inteiro num=5 imprimir num imprimir 5 fim
Variáveis - Operadores gerais n Atribuição: = n Comparação positiva: == n Comparação negativa: !=
Variáveis-inicialização Algoritmo imprime. Número() Inicio Inteiro num=5 /* inicializando variável */ imprimir num = 6 /* alterando valor*/ imprimir num fim
Variáveis – Operadores numéricos Adição: + n Subtração: n Multiplicação: * n Divisão inteira: / n Resto de divisão: % n Sinalização: + e – (operadores unários) n
Variáveis-inicialização Algoritmo imprime. Número() Inicio Inteiro num 1=5 Inteiro num 2=6 Inteiro num 3=num 1+num 2 imprimir num 3 fim
Operadores numérico Precedência As operações são analisadas da esquerda para a direita seguindo a seguinte precedência: n 1 - Sinalização: + e – (operadores unários) n 2 – Multiplicação, Divisão inteira e Resto de divisão n 3 – Adição e Subtração n
Avalie as seguintes expressões n 1 + 2 * -1 n 1*2 / 3 n 1+4 * 5 – 2 n 1%2 -1
Avalie as seguintes expressões n 1 + 2 * -1 -> -1 n 1*2 / 3 -> 0 n 1+4 * 5 – 2 -> 19 n 1%2 -1 -> 0
Operador Parêntesis () Operador de mudança de precedência n (2+1)*8 n n Indica que a soma deve ser realizada antes da multiplicação Composição de parêntesis n ((2+1)/10)*3 n
Operador de texto n Concatenação: + n Agrega o texto contido no segundo operando no final do primeiro
Algoritmo imprime. Texto() Inicio Texto tex 1=“minas” Texto tex 2=“gerais” Texto tex 3=tex 1+tex 2 imprimir tex 3 Fim
Algoritmo imprime. Texto() Inicio Texto tex 1=“minas” Texto tex 2=“gerais” Texto tex 3=tex 1+tex 2 imprimir tex 3 Fim Saída -> minasgerais
Exercício n Escreva um algoritmo que declare cada parte do seu nome como uma variável do tipo texto n O algoritmo deve imprimir os nomes na ordem correta n O algoritmo deve imprimir o nome como se faz na lingua inglesa (Souza, Maurício de)
Operadores relacionais n Retornam falso ou verdadeiro dependendo dos operadores >, >= - retornam verdadeiro se o primeiro operador for maior(ou igual) ao segundo n <, <= - retornam verdadeiro se o primeiro operador for menor(ou igual) ao segundo n
Algoritmo imprime. Lógico() Inicio Inteiro int 1=3 Inteiro int 2=5 Lógico log = int 1> int 2 imprimir log Fim
Operadores relacionais == - retorna verdadeiro se o primeiro operador for igual ao segundo n != - retornam verdadeiro se o primeiro operador for diferente do segundo n
Algoritmo imprime. Lógico() Inicio Inteiro int 1=3 Inteiro int 2=5 Lógico log = int 1== int 2 imprimir log Fim
Exercício n Faça um algoritmo que declare o número de letras do seu primeiro e último nome como números inteiros n O algoritmo deve imprimir se o número de caracteres do seu primeiro nome é igual ao número de caracteres do segundo
Exercício n Faça um algoritmo que declare o número de letras do seu primeiro e último nome como números inteiros n O algoritmo deve imprimir se o número de caracteres do seu primeiro nome é impar
Entrada de dados n Há necessidade de troca de informações entre o usuário e o programa n Esta troca de informações se efetua através de entrada e saída de dados
n Ler n Usado para ler informações a serem passadas pelo usuário n Atribui à variável após o comando o valor informado pelo usuário
n Assim, Ler x Irá atribuir à variável x o valor passado pelo usuário
Exemplo Algoritmo entrada. Teste() Inicio Inteiro int 1=0 imprimir “digite um número inteiro” Ler int 1 imprimir int 1 Fim
Exercício n Faça um algoritmo que leia as notas de 10 alunos de uma turma n O algoritmo deve calcular a média desta turma e imprimi-la
Exercício n Faça um algoritmo que leia o primeiro e o último nome do usuário n O algoritmo deve imprimir o nome na forma normal e como é escrito na língua inglesa
Exercício n 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
Operadores lógicos n E: & n Ou: | n Negação: !
Tabela Verdade & Operando Resultado 1 2 Verdadeiro Falso Verdadeiro Falso
Tabela Verdade | Operando Resultado 1 2 Verdadeiro Falso Verdadeiro Falso
Tabela Verdade ! Operando Resultado 1 Verdadeiro Falso Verdadeiro
- Slides: 52