Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Algoritmos e Programação 1 Algoritmos e Programação Aula Anterior Bolo Passo 1: Receber os ingredientes 2 xícaras de açúcar; 3 ovos; 250g de margarina; 3 xícaras de farinha de trigo; 1 e ½ colher de fermento; 1 xícara de leite. E n t r a d a s Algoritmos e Programação 2 Algoritmos e Programação Modo de preparo: Passo 2: aqueça o forno a 180 graus; Passo 3: bata as claras em neve e reserve; Passo 4: em uma travessa, bata o açúcar, a manteiga e as gemas; Passo 5: misture a farinha e o leite; Passo 6: bata bem, até ficar bem homogêneo; Passo 7: com a ajuda de uma colher, acrescente o fermento; Passo 8: por último, adicione as claras em neve e mexa cuidadosamente; Passo 9: coloque em uma forma untada com manteiga e farinha de trigo e leve ao forno médio para assar por aproximadamente 35 minutos ou até que, ao espetar um palito, esse saia seco; Passo 10: após assado, desligue o forno e deixe o bolo esfriar; Passo 11: desenforme. P r o c e s s a m e n t o Algoritmos e Programação 3 Algoritmos e Programação Resultado Passo 12: Bolo pronto. FIM S a í d a Algoritmos e Programação 4 1. Identifique a entrada, o processamento e a saída dos problemas abaixo: a. Calcular e exibir a média ponderada de 2 notas dadas. (nota1 (nota1 com peso 0,6, nota2 com peso 0,4). b. Reajustar um salário em 17,75%. c. Calcular o desconto de 23% sobre o preço de um produto. d. Dada uma taxa de câmbio, transformar um valor em Dólar para Reais. e. Dada uma taxa de câmbio, transformar um valor em Reais para Dólar. Atividade 1 Algoritmos e Programação 5 Algoritmos e programação Variuáveis e expressões Algoritmos e Programação 6 Dado Elemento, princípio ou quantidade conhecida que serve de base para à solução de um problema Dado numérico: faturamento de uma loja, temperatura ambiente, nota de uma prova, etc Dado textual: nome de uma pessoa, endereço de uma empresa, marca de automóvel, etc Programa Conjunto de instruções que manipulam dados para se resolver um problemar ou realizar uma tarefa Fundamentos Algoritmos e Programação 7 Tipos de dados DADOS (COMPUTADOR) DADOS (Mundo externo) Numérico Lógico Caractere s Algoritmos e Programação 8 Numérico Inteiro • Ex.: 1, 10, 57 Real • Ex.: 1.5, 10, 11.745, 57 Caracteres Sequência de valores deliminatos por aspas (“”) • Letras (A até Z), números (0 até 9), símbolos (i.e., “JuL!@n@”) Tipos de dados (cont.) Algoritmos e Programação 9 Lógicos (booleanos) Alternativas: valores que sugerem uma ÚNICA opção entre duas • VERDADEIRO ou FALSO, • SIM ou NÃO, • 0 ou 1 Tipos de dados (cont.) Algoritmos e Programação 10 “Tudo aquilo que está sujeito à variação...” Conceito Posição na memória (lugar) capaz de armazenar e representar um valor ou expressão. Variáveis Memória (visão simplificada) “João” Informação Endereço físico 12345 VERDADEIRO 3.1451 0 1 2 3 Algoritmos e Programação 11 Linguagens de programação modernas Possibilitam associar nomes às posições de memória em vez de trabalhar diretamente com endereços físicos Usuário Tem liberdade para escolher o nome que quiser Ficaria livre dos endereços físicos para trabalhar com endereços lógicos Variáveis (cont.) Algoritmos e Programação 12 Variáveis (cont.) Memória (visão simplificada) “João” Informação Endereço físico 12345 VERDADEIRO 3.1451 0 1 2 3 nome Algoritmos e Programação 13 Para acessar uma informação, deve-se saber... Tipo de dado desta informação (número de bytes de memória por ela ocupados) Atributos de uma variável Nome Tipo de dado associado Informação por ela guardada O nome (identificador) de uma variável serve para diferenciá-la das demais Variáveis (cont.) Algoritmos e Programação 14 Pseudo-código (Portugol) Declaração de variáveis no início do algoritmo. Possíveis formas: <tipo_da_variavel> <nome_da_variavel>; <tipo_da_variavel> <lista_de_variaveis>; Variáveis (cont.) Algoritmos e Programação 15 Regras para escolha de identificadores Necessário um ou mais caracteres Não pode conter espaço em branco O primeiro caracter não pode ser numérico Não pode ter o mesmo nome que represente comandos (palavras reservadas) • Ex.: Algoritmo, Inteiro, Real, Início, Fim, etc Devem ser únicos – não pode haver mais de uma variável com um certo nome Variáveis (cont.) Algoritmos e Programação 16 Exemplos de identificadores caracter[30] nome, sobrenome inteiro idade real salario logico tem_filhos Variáveis (cont.) Algoritmos e Programação 17 Valor fixo Ex.: PI = 3.14159265 Permanecem inalteradas independente das variáveis envolvidas na operação a ser realizada Constantes Algoritmos e Programação 18 Símbolos que determinam operações matemáticas a serem realizadas em um computador Operadores aritméticos Operador Tipo Operação Prioridade Exemplo - Unário Inversão de sinal 1 -(-1) = 1 + Unário Manutenção de sinal 1 +1 = 1 ** Binário Exponenciação 2 9**2 = 81 % Binário Resto da divisão inteira 3 7% 3 = 1 * Binário Multiplicação 3 6*6 = 36 / Binário Divisão 3 8/2 = 4 + Binário Adição 4 1 + 2 = 3 - Binário Subtração 4 4 – 5 = -1 Algoritmos e Programação 19 Prioridades definem ordem de execução Dois ou mais operadores de mesma prioridade: execução da esquerda para direita Operadores aritméticos (cont.) 1 + 2 – 3 * 20 / 5 + 2**3 5 6 4 2 3 1 Algoritmos e Programação 20 Operadores aritméticos (cont.) 1 + 2 – 3 * 20 / 5 + 2**3 5 6 4 2 3 1 (1 + 2) – ((3 * 20) / 5) + (2**3) Organizando com parênteses • Agrupamento de operações pelo uso de parênteses “()” – redefinição de prioridades Algoritmos e Programação 21 Combinação de variáveis, operadores e constantes para produzir um resultado Variáveis - representam posições na memória onde estão dados a serem processados Constantes - símbolos usados para representar dados Operadores - usados para combinar variáveis e constantes fornecendo um valor como resposta Expressões Algoritmos e Programação 22 Exemplos de expressões 0.5 * base * altura (nota1 + nota2)/2.0 (temperatura > 0) e (quantidade < limite) 4 % 3 + 5 A > B Expressões (cont.) Algoritmos e Programação 23 Avaliando (checando) resultado de expressões Observar os símbolos usados para multiplicação (*) e divisão (/) Avaliar primeiro as operações de maior prioridade, por exemplo (multiplicação e divisão) Em caso de dois operadores de mesma prioridade, escolher o que está mais a esquerda Expressões (cont.) Algoritmos e Programação 24 Avaliando (checando) resultado de expressões Ex.: 4/2*3 – primeiro divide-se 4 por 2 e em seguida multiplica-se o resultado por 3, dando como resultado 6 Caso queira trocar a prioridade, use parênteses Não são permitidos outros símbolos para esta função, tais como {} e [] Expressões (cont.) Algoritmos e Programação 25 2. Informe o resultado das expressões a seguir: a. 1 / 4 = b. 1 / 4 + 7.1 = c. (2 + 4) / (3 - 1) = d. 10 % 3 = e. 1 / 3 * 3 = f. 3 + 6 / 3 – 1 = g. 12 / 2 % 4 = Atividade 2 0.25 7.35 3 1 0,9999 4 2 Algoritmos e Programação 26 Atividade 3 Algoritmos e Programação 27 Atividade 3 Algoritmos e Programação 28 Sua função é atribuir um valor a uma variável Em algoritmos utiliza-se o símbolo “ ” Sintaxe (regra de escrita): • <nome_da_variavel> <expressão> Expressão (lado direito) é avaliada (calculada). O valor resultante é armazenado na variável (posição na memória) (lado esquerdo) Operador de Atribuição Algoritmos e Programação 29 Operador de atribuição (cont.) Memória 10 5 8 ... 0 1 2 3 Algoritmos e Programação 30 Operador de atribuição (cont.) Memória 10 5 8 ... 0 1 2 3 Algoritmos e Programação 31 Operador de atribuição (cont.) Memória 10 5 8 ... 0 1 2 3 Algoritmos e Programação 32 Operador de atribuição (cont.) Memória 10 5 8 ... 0 1 2 3 Algoritmos e Programação 33 Operador de atribuição (cont.) Memória 13 5 8 ... 0 1 2 3 Algoritmos e Programação 34 Operadores binários cujo resultado é VERDADEIRO ou FALSO Utilizados em comparações - Só podem ser realizadas entre objetos de mesma natureza (variáveis do mesmo tipo) Operadores relacionais Algoritmos e Programação 35 Operadores relacionais (cont.) Operado r Exemplo > maior que < menor que >= maior ou igual <= menor ou igual = igual <> diferente No caso de strings (cadeia de caracteres), duas cadeias são iguais se possuem a mesma sequência de caracteres • Ex.: “abc” é IGUAL à “abc”, mas diferente de “ABC” Algoritmos e Programação 36 Operadores relacionais (cont.) Algoritmos e Programação 37 Considere a = 3, b = 7, t = 20.0, m = 8.1 Qual o resultado das seguintes expressões: a. t <> 100.0? b. (m + b) <= 7.0? c. (t/(b+a)) = 2.0? Atividade 4 VERDADEIRO FALSO VERDADEIRO Algoritmos e Programação 38 Operadores são utilizados para combinar expressões relacionais Possíveis resultados: VERDADEIRO ou FALSO Operadores lógicos Operador Tipo Operação Prioridade OU BINÁRIO Disjunção 3 E BINÁRIO Conjunção 2 NÃO UNÁRIO Negação 1 Algoritmos e Programação 39 Atividade 5 Considere a = FALSO, b = VERDADEIRO, c = FALSO. Qual o resultado das seguintes expressões: a. a OU (b E c)? b. (a OU b) E c? c. a E (b OU c)? d. não (a E b)? e. a OU b OU c? VERDADEIRO VERDADEIRO FALSO FALSO FALSO Algoritmos e Programação 40 Operadores lógicos (cont.) Outros operadores podem ser obtidos partir dos três operadores mencionados: – OU-EXCLUSIVO – uma das variáveis envolvidas (e apenas uma) deve ser VERDADEIRA – NÃO E – aplicação do operador E, seguido do operador NÃO sobre o resultado anterior – NÃO OU – aplicação do operador OU, seguido do operador NÃO sobre o resultado anterior Algoritmos e Programação 41 Operadores lógicos (cont.) A tabela abaixo – chamada tabela-verdade – mostra os resultados das aplicações dos operadores lógicos conforme os valores dos operadores envolvidos Algoritmos e Programação 42 Operador de caracteres O símbolo “+” pode ser usado como operador de concatenação (junção) de caracteres A operação “dias” + “do” + “ano” gera “dias do ano” Algoritmos e Programação 43 Expressões mistas Expressões que apresentam operadores lógicos E relacionais • Extremamente útil e comum em desenvolvimento de algoritmos • Exemplos: – (nota1 > 7.0) OU (nota2 > 7.0) – (salario > valor) E (ano > 2001) • Resultado é do tipo lógico – VERDADEIRO ou FALSO Algoritmos e Programação 44 Atividade 6 Considere a = 5.0, b = 3.0, c = 4.0 e d = 7.1. Qual o resultado das seguintes expressões: a. (a > c) E (b > d)? b. ((a + 2) = c) OU (b <= d)? VERDADEIRO FALSO Algoritmos e Programação 45 Atividade 6 (cont.) Considere presente = VERDADEIRO, n1 = 7.3, e n2 = 6.2. Qual o resultado da expressão: a. (((n1+n2)/2.0) >=7.0) E presente? FALSO Algoritmos e Programação 46 Exemplos de algoritmo Exemplo de algoritmo para calcular a média de 4 notas de um aluno: algoritmo "MediaFinal" var nota1, nota2, nota3, nota4: Inteiro media: Real nome: Caractere inicio Escreva("Informe seu nome: ") Leia(nome) Escreva("Informe nota 1:") Leia(nota1) Escreva("Informe nota 2:") Leia(nota2) Escreva("Informe nota 3:") Leia(nota3) Escreva("Informe nota 4:") Leia(nota4') media <- (nota1 + nota2 + nota3 + nota4)/4 Escreva("O aluno ", nome, " teve média ", media) fimalgoritmo Algoritmos e Programação 47 Exemplos de algoritmo (cont) Exemplo de algoritmo para calcular a área de uma circunferência: algoritmo "AreaCircunferencia" var raio, area: Real inicio Escreva("Informe o raio: ") Leia(raio) area <- 3,1416 * (raio**2) Escreva("A área de circunferência é ", area) fimalgoritmo Algoritmos e Programação 48 Atividade 7 Projete um algoritmo efetue as seguintes operações: 1. Leitura de dois valores inteiros (variáveis v1 e v2) 2. Soma de v1 e v2 armazenando na variável soma 3. Apresentação do valor de soma (saída) Algoritmos e Programação 49 Atividade 7 - resposta algoritmo "Atividade 7" var n1, n2, soma: Inteiro inicio Escreva("Informe o primeiro número: ") Leia(n1) Escreva("Informe o segunda número: ") Leia(n2) soma <- n1 + n2 Escreva("A soma dos 2 número é ", soma) FimAlgoritmo