Baixe o app para aproveitar ainda mais
Prévia do material em texto
AULA – REVISÃO UFABC 1 - Interpretação de Enunciados de Problemas 2 - Tipos Primitivos de Dados 3 - Variáveis 4 - Constantes 5 - Comando de Entrada de Dados 6 - Comando de Saída de Dados 7- Algumas dicas sobre Estratégias de Aprendizagem 8 - Soluções dos desafios propostos CONCEITOS / TÓPICOS UFABC ‹#› Interpretação de Enunciados de Problemas Como desenvolver um algoritmo? Análise Projeto Implementação UFABC ‹#› Análise: Estuda-se o enunciado do problema para definir os dados de entrada, o processamento e os dados de saída Algoritmo (projeto): Cria-se uma sequência de passos para resolver o problema Codificação (implementação): Traduz-se essa sequência de passos em um programa escrito em uma linguagem que o computador entenda Desenvolvendo um algoritmo computacional UFABC Interpretação de Enunciados de Problemas Crie um algoritmo para exibir o resultado da multiplicação de dois números Análise: entrada: dois números (n1, n2) processamento: multiplicação (m = n1 * n2) saída: resultado da multiplicação (m) UFABC ‹#› Interpretação de Enunciados de Problemas Crie um algoritmo para exibir o resultado da multiplicação de dois números Algoritmo (projeto): algoritmo “Multiplicação” inteiro n1,n2,m inicio escreva(“Digite dois números:”) // entrada: leia (n1) leia (n2) // processamento: m ← n1 * n2 // saída: escreva (“Multiplicação = ”, m) fimalgoritmo Codificação (implementação): Java Python Etc UFABC ‹#› Primitivos: também chamados de simples ou básicos, representam valores indivisíveis: inteiro, real, caracter, lógico Tipos primitivos de dados JAVA: byte short int long float double char boolean UFABC Variável Uma variável é uma informação que você pode usar dentro de um algoritmo e alterá-la. Ex: Nome Idade Salario Declaração: caracter Nome inteiro Idade real Salario Constante Números ou caracteres cujos valores não mudam dentro de um algoritmo. Ex: PI = 3.14 PAIS = Brasil Declaração real final PI = 3.14 caracter final PAIS = "Brasil" Variáveis e Constantes UFABC Entrada - Leia Algoritmo recebe informação do meio externo (p.ex: por um teclado). leia (raio) Saída - Escreva Algoritmo fornece informação para o meio externo (p.ex: imprime na tela). escreva (”Olá”) escreva (”digite o valor do raio”) escreva (”Raio = ”+ raio) escreva (”informe o sexo: f- feminino ou m- masculino”) Comandos de Entrada e Saída JAVA: import java.util.Scanner; ... Scanner leia= new Scanner(System.in); int n = leia.nextInt(); JAVA: System.out.println(”Nro: " + n); UFABC Algoritmo "dobro" int n escreva (”Digite um nro”) leia (n) n = n * 2 escreva (”O dobro desse nro é = ” + n) Fim O que é entrada e o que é saída de dados? Comandos de Entrada e Saída UFABC Algoritmo "dobro" int n escreva (”Digite um nro”) // saída = impressão na tela do usuário leia (n) // leitura de um dado de entrada e armazena na variável n n = n * 2 // processamento escreva (”O dobro desse nro é = ” + n) // saída = impressão na tela do usuário Fim O que é entrada e o que é saída de dados? Comandos de Entrada e Saída UFABC 7 – Operadores • 7.1 – Atribuição • 7.2 - Operadores Aritméticos • 7.3 - Operadores Relacionais • 7.4 - Operadores Lógicos 8 – Expressões Aritméticas 9 – Expressões Lógicas CONCEITOS / TÓPICOS UFABC ‹#› Operador de Atribuição Atribuição: atribui valor para uma variável // Variáveis: real raio, C, A literal Nome //Constante: real final PI = 3.14 //Atribuições: int contador = 0, produto =1 Nome = ”Maria” C = 2 * PI * raio A = area_circulo(raio) UFABC Atribuição: = Aritméticos: Soma + , subtração - , multiplicação * Divisão real / , inteira \ ou DIV , resto % ou MOD Potenciação ^ Relacionais: Menor < , menor igual <= Maior > , maior igual <= Igual == Diferente != Lógicos: E && Ou || Negação ! Atribuições: Simples = Composta +=, -=, *=, /=, %= Incremento ++, Decremento -- Operadores UFABC Expressões Aritméticas Ex: fórmula de Bhaskara Precedência utilize parênteses para agrupar as expressões aritméticas UFABC ‹#› Expressões Lógicas Ex: a variável X é positiva e menor que 10? NÃO é possível escrever a condição 0 < x < 10 é necessário combinar duas comparações X é positivo: x > 0 X é menor que 10: x < 10 por meio do operador lógico &&, resultando na expressão: (x > 0) && (x < 10) Precedência A operação de maior precedência é a negação (não - !), seguida da conjunção (e - &&) e por último a disjunção (ou - ||). UFABC ‹#› 10 – Estruturas de Seleção • 10.1 - Seleção Simples • 10.2 - Seleção Composta • 10.3 - Seleção Encadeada • 10.4 - Seleção Múltipla CONCEITOS / TÓPICOS UFABC ‹#› Simples: Um bloco de comando é executado quando uma condição é verdadeira, caso contrário, o bloco é pulado Composta: um bloco de comando é executado quando uma condição é verdadeira, caso contrário, outro bloco é executado Estruturas condicionais ? então Se ? ? então senão Se ? UFABC Seleção Simples Pseudocódigo se (<condição>) então <instruções> fimse JAVA if (<condição>){ <instruções>; } if (<condição>) <instrução>; Usada para testar uma condição antes de executar uma ação UFABC ‹#› Seleção Composta Pseudocódigo se (<condição> )então <instruções> senão <instruções> fimse Útil quando duas situações podem ser derivadas de uma única condição (uma situação quando a condição é verdadeira e outra, quando é falsa). UFABC ‹#› Seleção Composta Java if ( <condição> ) { <instruções>; } else { <instruções>; } if ( <condição> ) <instrução>; else <instrução>; Pseudocódigo se (<condição> )então <instruções> senão <instruções> fimse Útil quando duas situações podem ser derivadas de uma única condição (uma situação quando a condição é verdadeira e outra, quando é falsa). UFABC ‹#› Útil quando precisamos fazer várias seleções no processamento dos dados; Usualmente ocorre quando uma ação deve ser executada se um conjunto de possibilidades/combinações for satisfeito. Seleção Encadeada se <condição1> então se <condição2> então se <condição3> então se <condição4> então <comandos> fimse fimse fimse fimse UFABC ‹#› Estruturas condicionais x Condições Se ((idade > 60) ou (idade < 12)) então escreva (”Você tem desconto”) Fim_se Se (idade > 18 ) então Se (idade > 60) então escreva (”idoso”) Senão escreva (”adulto”) Fim_se Senão Se (idade > 11 ) então escreva (”adolescente”) Senão escreva (”criança”) Fim_se Fim_se Se (idade < 18) então escreva (”Você é de menor”) Fim_se Se (idade < 18) então escreva (”Você é de menor”) Senão escreva (”Você é de maior”) Fim_se Estrutura condicional simples Estrutura condicional simples Estrutura condicional composta Estrutura condicional composta encadeada Se (idade < 12) então escreva (”criança”) Se (idade < 2) então escreva (”- bebê”) Fim_se Fim_se Estrutura condicional simples encadeada Se-Então: SIMPLES Se-Então-Senão: COMPOSTA UFABC Facilita o teste de um conjunto discreto de valores, associados a ações diferentes. Seleção Múltipla JAVA switch <variável> { case valor1: <instruções>; break; case valor2: <instruções>; break; . : } Pseudocódigo escolha <variável> caso Valor1: <instrução1>; caso Valor2: <instrução2>; . : fimescolha UFABC ‹#› 11 - Estruturas de Repetição • 11.1 – enquanto • 11.2 – para • 11.3 – faça-enquanto CONCEITOS / TÓPICOS UFABC ‹#› ENQUANTO ... FAÇA : estrutura que testa uma condição e caso seja verdadeira o algoritmo é executado caso contrário finaliza a execução. PARA... FAÇA : estrutura que testa uma condição finita e recebe uma atualização e assim segue até finalizar a contagem. PARA (VALOR INICIAL; VALOR FINAL; ATUALIZAÇÃO / INCREMENTO) REPITA .. ENQUANTO : estrutura que primeiro executa o bloco de comandos e testa uma condição ao final da primeira execução e caso seja verdadeira ela continua uma nova execução e caso seja falso finaliza a execução. Estrutura Qtede Execuções Condição ENQUANTO 0ou muitas Início + Verdadeira PARA Valorfinal - Valorinicial Início + Finita (Implícita) REPITA .. ENQUANTO 1 oumuitas Fim +Verdadeira Estruturas de repetição UFABC while ( <condição> ) { <comandos>; } while ( <condição> ) <comando>; Pseudocódigo: enquanto (<condição>) <comandos>; fimenquanto JAVA Estruturas de repetição "ENQUANTO" Para repetir um conjunto de instruções, em um número finito e não conhecido de vezes, verificando uma dada condição antes da execução. UFABC ‹#› Para repetir um conjunto de instruções, em um número finito e conhecido de vezes, controlando o número de repetições com um contador. Java for ( inicialização ; condiçãoDeLoop; incremento ) { <comandos>; } Estruturas de repetição "PARA" Pseudocódigo para inicialização até condiçãoDeLoop passo incremento faça <comandos>; fimpara inicialização condiçãoDeLoop incremento UFABC ‹#› inicialização: nomeia variável de controle (contador) e fornece valor inicial; condiçãoDeLoop: determina se o loop deve continuar; incremento: modifica o valor da variável de controle (pode ser decremento – incremento negativo) JAVA for ( inicialização ; condiçãoDeLoop; incremento ) { <comandos>; } Estruturas de repetição "PARA" UFABC ‹#› do <comando>; while ( <condição> ); Pseudocódigo faça <comandos>; enquanto (<condição>) do { <comandos>; } while ( <condição> ); Estruturas de repetição "FAÇA" JAVA Para repetir um conjunto de instruções, em um número finito e não conhecido de vezes, verificando uma dada condição depois da primeira execução. UFABC ‹#› 12 – Teste de Mesa 13 – Validação de Dados 14 – Contador 15 – Acumulador CONCEITOS / TÓPICOS UFABC ‹#› CONTADOR Um “padrão de instrução” bastante utilizado em programas que requerem o uso de REPETIÇÃO é a figura do CONTADOR. Um “contador” geralmente tem a seguinte forma: var = var + 1 ou seja, a variável “recebe” o valor dela somado com mais 1 ... e assim por diante ... Ex: ... var_total = var_total +1; ... media = soma / var_total; UFABC Outro “padrão de instrução” bastante utilizado em programas que requerem o uso de REPETIÇÃO é a figura do ACUMULADOR. Um “ACUMULADOR” geralmente tem a seguinte forma var = var + x ou seja, a variável “recebe” o valor dela somado com mais x … e assim por diante ... Ex: ... var_soma = var_soma + nro_digitado; ... media = var_soma / 50; ACUMULADOR UFABC Algumas Dicas para estudar PI UFABC Você sabe o que são as Estratégias de Aprendizagem? São os processos, procedimentos, comportamentos utilizados para alcançar os objetivos de uma aprendizagem Você usa estratégias apropriadas para PI? Algumas Dicas para estudar PI UFABC Cognitivas procedimentos para organizar de forma efetiva as informações para atingir os objetivos de aprendizagem Metacognitivas processos que permitem o planejamento, monitoramento e a auto-regulação do processo cognitivo Tipos de Estratégias de Aprendizagem UFABC Anotar explicações do professor Fazer resumos, esquemas, diagramas Pesquisar materiais extra Elaborar perguntas e respostas Decorar a matéria e soluções de problemas Estas estratégias não são suficientes para estudar PI! Algumas Estratégias de Aprendizagem Cognitivas UFABC Planejar suas atividades Identificar as dificuldades Conferir as devolutivas Controlar a ansiedade nas avaliações Pedir ajuda ao monitor/professor Se reunir com colegas para estudar Estas estratégias também são importantes para estudar PI! Algumas Estratégias de Aprendizagem Metacognitivas UFABC Planeje suas atividades, em especial a resolução de um problema Leia com atenção o enunciado do problema Pense na saída e entrada do algoritmo e o que precisa conhecer/calcular para fazer o processamento Decomponha o problema em pequenos subproblemas e resolva um de cada vez Lembre das estruturas de programação aprendidas na aula Estratégias de Aprendizagem Metacognitivas UFABC Identifique suas dificuldades Faça exercícios simples para identificar em quais estruturas de programação tem mais dificuldade Fique atento às mensagens de erro do compilador Teste seu programa Confira as devolutivas e corrija seus programas Participe dos plantões de monitoria e horários de atendimento dos professores Estratégias de Aprendizagem Metacognitivas UFABC Controle a ansiedade nas avaliações Não comece diretamente a programar, tome alguns minutos para planejar sua solução Faça rascunhos do algoritmo Deixe espaços entre as linhas para acrescentar código se for preciso Reúna-se com colegas É importante discutir várias soluções para o mesmo problema Aprenda com os erros dos seus amigos Troque ideias Aumente sua interação social Estratégias de Aprendizagem Metacognitivas UFABC Soluções dos desafios propostos UFABC ‹#› Vídeo com a solução do desafio mais complexo Slides com a solução do desafio mais complexo Soluções em Portugol de todos os desafios propostos. Soluções dos desafios propostos UFABC ‹#› BONS ESTUDOS!!! UFABC 1 - Técnicas de Interpretação de Enunciados de Problemas 2 - Tipos Primitivos de Dados (quais os tipos primitivos de dados) 3 - Declaração de Variáveis (como declarar variáveis) 4 - Declaração de Constantes (como declarar constantes) 5 – Operadores • 5.1 – Atribuição (para que serve e qual o operador de atribuição) • 5.2 - Operadores Aritméticos (quais os operadores aritméticos) • 5.3 - Operadores Relacionais (quais os operadores relacionais) • 5.4 - Operadores Lógicos (quais os operadores lógicos) 6 – Expressões Aritméticas (como escrever expressões aritméticas) 7 – Operações Lógicas (como escrever expressões lógicas - condição) 8 – Comando de Entrada de Dados (uso do comando leia) 9 – Comando de Saída de Dados (uso do comando escreva) 10 – Estruturas de Seleção •10.1 - Seleção Simples : se-então •10.2 - Seleção Composta : se–então-senão •10.3 - Seleção Encadeada : se-então-senão-se-então-senão... •10.4 - Seleção Múltipla : caso-escolha 11 - Estruturas de Repetição •11.1 – enquanto-faça (quando e como usar) •11.2 – para-até (quando e como usar) •11.3 – faça-enquanto (quando e como usar) TÓPICOS ADICIONAIS 12 – Teste de Mesa •12.1 – Como realizar um teste de mesa 13 – Validação de Dados •13.1 – Como fazer validação de dados (num programa) 14 – Contador •14.1 – Como é a estrutura de um contador (em programação) 15 – Acumulador •15.1 – Como é a estrutura de um acumulador (em programação) CONCEITOS / TÓPICOS UFABC ‹#›
Compartilhar