Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal do Pará - UFPA Faculdade de Engenharia de Computação Disciplina: Programação Professor: Otávio Noura Teixeira Assunto: UNIDADE II – Desenvolvimento de Algoritmos NOTAS DE AULA Objetivos da Unidade II: Compreender os elementos básicos de uma linguagem algorítmica Desenvolver a capacidade de raciocínio lógico aplicado à programação, construindo algoritmos que o possibilitarão trabalhar com qualquer linguagem de programação. Desenvolver algoritmos utilizando estruturas seqüenciais básicas 2.1. Conceitos Básicos Algoritmo é a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de ações. 2.2. Resolução de Problemas Exemplos de algoritmos na vida quotidiana: Instruções para um robô fazer café; Receita para preparo de algum prato; Guia do preenchimento da declaração do Imposto de Renda; Determinação de máximos e mínimos de funções por derivadas sucessivas; Cálculo das contas de água, luz e telefone mensalmente. Um algoritmo é considerado completo se os seus comandos forem do entendimento do seu destinatário. Um comando que não for do entendimento do destinatário terá de ser desdobrado em novos comandos, que constituirão um refinamento do comando inicial. Solucionar problemas >> manipulação de informações 2.3. Tipos Primitivos de Dados Dados são representados pelas informações a serem processadas por um computador. Quatro tipos de dados: numéricos inteiros, numéricos reais, caracteres e lógicos. Inteiro: toda e qualquer informação numérica que pertença ao conjunto dos números Inteiros, positivos ou negativos (...-3, -2, -1, 0, 1, 2, 3, ...); Não possuem componentes decimais ou fracionários Exemplos: a) Maria comprou 11 laranjas; b) A temperatura desta noite será de –2 graus; Real: toda e qualquer informação numérica que pertença ao conjunto dos números Reais, ou seja, dados numéricos positivos, negativos e números fracionários; Podem possuir componentes decimais ou fracionários. Exemplos: a) João tem 2,05 metros de altura; b) O saldo bancário é de -100,57 Reais; Caractere ou string: toda e qualquer informação composta por uma seqüência contendo caracteres alfanuméricos (0...9) e/ou símbolos especiais (por exemplo: # $ % & * ? ~ < ! @); Também conhecido como: alfanumérico, string, literal ou cadeia; Exemplos: a) Meu endereço é: “Rua Alfa, 52 Apto 01”; b) “O número do telefone é: 574-9988”; Lógico: toda e qualquer informação que pode apenas assumir duas situações (biestável), ou seja, dados com valores verdadeiro ou falso; Exemplos: a) A porta pode estar aberta ou fechada. b) A lâmpada pode estar acessa ou apagada. (Tipos primitivos em Java: char, byte, int, short, long, float, double, boolean) 2.4. Constantes e Variáveis Uma constante é um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa. Um constante pode ser um número, um valor lógico ou uma seqüência de caracteres com algum significado para o problema em estudo. As variáveis só podem armazenar informações ou dados sempre de um mesmo tipo (inteiro, real, caractere ou char). O conteúdo de uma variável pode ser de vários tipos: inteiro, real, caractere, lógico, ... O conteúdo de uma variável é um objeto de constante modificação no decorrer do programa, de acordo com o fluxo de execução do mesmo. Quando se declara uma variável, um espaço num determinado endereço na memória é alocado para armazenar um dado que obrigatoriamente tem que ser do mesmo tipo que o da variável. As variáveis não podem utilizar as palavras reservadas da linguagem. Em algoritmos, as variáveis serão definidas no início. (em Java, podem ser declaradas em qualquer ponto antes de sua utilização) Tipo da variável nome da variável ; Exemplo: int a; Real b; String nome; Lógico r; 2.5. Operadores e Expressões Variáveis e constantes podem ser utilizadas na elaboração de cálculos matemáticos, desde que sejam estabelecidas como do tipo real ou inteira e para que isto ocorra é necessária a utilização de operadores aritméticos. Expressões são definidas pelo relacionamento existente entre variáveis e constantes numéricas através da utilização dos operadores aritméticos. Expressão ou fórmula matemática >> um conjunto de variáveis e constantes numéricas relaciona-se por meio de uma fórmula que, uma vez avaliada, resulta num valor. As expressões dividem-se em: Aritméticas Soma + , Subtração - , Multiplicação *, Divisão / Exponenciação ** ou ^ (ex: A ** 2, 3^2, 8**3 = 512.00, 8^3 = 512) Resto % (ex: 5%2 = 1, 7%4 = 3) Div – divisão inteira (ex: 5 div 2 = 2) Relacionais Comparação realizada entre dois valores de mesmo tipo básico Operador Matemática Algoritmo Java Igual = == == Diferente <> != Maior que > > > Menor que < < < Maior ou Igual a >= >= Menor ou Igual a <= <= Lógica ou booleana Expressão cujos operadores são lógicos e cujos operandos são relações, constantes e/ou variáveis do tipo lógico Operador Matemática Algoritmo Java Conjunção E lógico && && Disjunção OU lógico | | | | Negação Não ! ! Tabela Verdade Operador E - && Falso – 0 Falso – 0 Falso – 0 Falso – 0 Verdadeiro – 1 Falso – 0 Verdadeiro – 1 Falso – 0 Falso – 0 Verdadeiro – 1 Verdadeiro – 1 Verdadeiro – 1 Tabela Verdade Operador OU - | | Falso – 0 Falso – 0 Falso – 0 Falso – 0 Verdadeiro – 1 Verdadeiro – 1 Verdadeiro – 1 Falso – 0 Verdadeiro – 1 Verdadeiro – 1 Verdadeiro – 1 Verdadeiro – 1 Tabela Verdade Operador Não - ! Falso – 0 Verdade – 1 Verdade – 1 Falso – 0 2.6. Prioridade dos Operadores Tabela de Prioridade Matemática Operador Operação Prioridade Matemática + Manutenção de sinal (números positivos) 1 - Inversão de sinal (números negativos) 1 * * ^ Exponenciação 2 / Divisão 3 * Multiplicação 3 + Adição 4 - Subtração 4 =, <>, >, <, >=, <= Operadores relacionais 5 &&, | |, ! Operadores lógicos 6 2.7. Avaliação de Expressões Exemplo: a + b == 0 && c <> 1 Cor == “azul” | | a * b > c O resultado obtido de uma avaliação de uma expressão lógica é sempre um valor lógico. 2.8. Funções pré-definidas Numéricas pi: resulta o valor 3.14159265; sen(x): resulta no valor do seno de um ângulo qualquer em radianos; cos(x): resulta no valor do co-seno de um ângulo qualquer em radianos; tan(x): resulta no valor da tangente de um ângulo qualquer em radianos; abs(x): resulta no valor absoluto de um número qualquer; exp(x): resulta no valor do número e elevado a um número qualquer; log(x): resulta no valor do logaritmo neperiano de um número qualquer; raiz(x): resulta no valor da raiz quadrada de um número positivo; Função de Conversão de Tipo realint(numero real): função que converte um número real em inteiro intreal(numero inteiro): função que converte um número inteiro em real Caracter strtam(string): função que retorna o número de caracteres de uma string strelem(string, pos): função que retorna o elemento da string que se encontra na posição indicada na função pos strprim(string): função que retorna o primeiro elemento da string strnprim(string,n): função que retorna os n primeiros elementos da string, incluído a posição 0 strresto(string): função que retorna todos os elementos da string, exceto o primeiro strult(string): função que retorna o último elemento dastring 2.9. Comandos de Entrada e Saída Comandos de Entrada - leia É o comando que permite que o usuário digite dados, possibilitando um “diálogo com o computador” O dado digitado é armazenado temporariamente em um registrador e, depois, copiado para a posição de memória indicada no comando. Ex: leia nome; Comandos de Saída – imprima É o comando responsável por enviar um resultado, uma informação ao usuário. Exemplo: prog imp1 Imprima “Aprendendo Algoritmo !!!” fimprog Exemplo: prog imp2 int x; x = 10; imprima “Valor de x = “, x; fimprog 2.10. Bloco de Comandos Conjunto de instruções Exercícios referente à Unidade II Objetivo: Desenvolver algoritmos básicos Lista de Exercícios 01 Lista de Exercícios 02 (reforço) "Ninguém ensina nada a ninguém, no máximo ajuda-se o outro a aprender" (Galilleu). Provavelmente, o grande mestre queria dizer que o aprender é pessoal. Na verdade, o professor ajuda o aluno a encontrar o caminho correto, todavia se não houver interesse do aluno, também não haverá sucesso no aprendizado.
Compartilhar