Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * Informática Básica Introdução - Algoritmos * * */32 Tópicos Introdução Representações de um algoritmos Tipos de dados Constantes e variáveis Linguagem de programação Paradigmas de programação Operadores aritméticos Operadores relacionais Exercício * * Introdução Software → composto por programas. Todo programa é construído por meio de uma linguagem de programação. Análise: estuda enunciado do problema Algoritmo: consiste na descrição do problema e apresentação de suas soluções. Codificação: o algoritmo é transformado em códigos da linguagem de programação. * * É uma seqüência lógica de etapas para se realizar determinada atividade. Descrição passo a passo de um processo completo a ser utilizado na solução de um problema. Algoritmo * * Um algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma tarefa.” Exemplo: somar três números 1. Receber os três números; 2. Somar os três números; 3. Mostrar o resultado obtido. Algoritmo * * Construção de algoritmos Compreender o problema a ser resolvido; Definir os dados de entrada; Definir que tipo de processamento (cálculos) serão efetuados; Definir os dados de saída; Construir o algoritmo; Testar o algoritmo com simulações. * * Representações de Algoritmos Descrição Narrativa Fluxograma Pseudocódigo * * Representações de Algoritmos Descrição Narrativa Consiste em analisar o enunciado do problema e escrever, utilizando linguagem natural, os passos a serem seguidos para sua resolução. Vantagem: não é necessário aprender nenhum conceito novo. Desvantagem: a linguagem natural abre espaço para várias interpretações (ambiguidade), o que pode dificultar a transcrição do algoritmo para o programa. * * Representações de Algoritmos Descrição Narrativa Uso da linguagem natural, como nos nossos exemplos. Existe a inconveniência da má interpretação, originando ambigüidades e imprecisões. Algoritmo afrouxar ligeiramente as porcas; suspender o carro; retirar as porcas e o pneu; colocar o pneu reserva e as porcas; abaixar o carro; dar o aperto final nas porcas. Fim * * Exemplo: sacar dinheiro em caixa eletrônico 1. Ir até um caixa eletrônico; 2. Colocar o cartão; 3. Digitar a senha; 4. Solicitar a quantia desejada; 5. Se o saldo for maior ou igual a quantia desejada, sacar dinheiro; caso contrário, mostrar mensagem de impossibilidade de saque; 6. Retirar cartão; 7. Sair da agência. Algoritmo * * Representações de Algoritmos Fluxograma Consiste em analisar o enunciado do problema e escrever, utilizando símbolos gráficos pré-definidos, os passos a serem seguidos para sua resolução. Vantagem: conhecendo os símbolos, entender um algoritmo escrito em fluxograma é mais simples que entender um algoritmo narrativo; Desvantagem: é necessário aprender a simbologia dos fluxogramas. * * Representações de Algoritmos Fluxograma Uso de formas geométricas distintas produzindo ações distintas. Principais figuras: Início ou fim do fluxograma. Entrada de dados. Cálculo de expressões. Saída de resultados. Tomada de decisão Fluxo. * * Representações de Algoritmos Início m1, m2 M ← (m1+m2)/2 m >=5 “Aprovado” “Reprovado” Fim Cálculo de uma média aritmética com um teste * * Representações de Algoritmos Pseudocódigo Consiste em analisar o enunciado do problema e escrever, por meio de regras pré-definidas, os passos a serem seguidos para sua resolução. Vantagem: a passagem do algoritmo para qualquer linguagem de programação é quase imediata, basta conhecer os códigos da linguagem; Desvantagem: é necessário aprender as regras do pseudocódigo. * * Representações de Algoritmos Pseudocódigo Uso de linguagem própria, aproximando-se mais das linguagens de alto nível, chamado, também de pseudolinguagem ou ainda portugol. Forma Geral: Algoritmo <nome do algoritmo> < declaração_de_variáveis > Início instruções Fim * * Tipos de Dados Uma das principais funcionalidades de um computador é a manipulação de informações Por isso, é necessário que haja formas de se trabalhar com diferentes tipos de dados em um programa. Podemos definir um tipo de dados como um conjunto de objetos que tem em comum o mesmo comportamento diante de um conjunto definido de operações * * Tipos de Dados Infelizmente as linguagens de programação são limitadas e não podem manipular todos os tipos de dados existentes no mundo real. Por isso, a construção de algoritmos para computador deve lidar exclusivamente com os tipos definidos nas linguagens de programação * * Tipos de Dados Os dados são classificados em: 1 - Numéricos: 1500; -230; 23.4; etc. Inteiros ou número de ponto fixo ( 1500; -230) Real ou número de ponto flutuante (23.4; -32.6; 10.0) * * Tipos de Dados 2 - Literais: chamados, também, “alfanuméricos”, “cadeia de caracteres” ou “strings”. São sempre representados, nos algoritmos, entre aspas. Ex.: “UFERSA” “21/03/2006” * * Tipos de Dados 3 - Lógicos: chamados, também, booleanos São oriundos da lógica matemática ou lógica de Boole (Matemático considerado um dos formuladores da lógica matemática). Representado por apenas dois valores com significados opostos como 1 e 0 ou Verdadeiro (V) e Falso (F). * * Definem: a natureza do dado as operações que podem ser realizadas com o dado O espaço a ser ocupado na memória Declarações: a, b, c, maior: real x,y: inteiro achou: logico texto: caractere Tipos * * * Tipos * * * Constantes e Variáveis Em um computador, manipulamos informações que, durante a execução de um programa, ficam armazenadas temporariamente em memória. Essas informações , num nível maior de abstração, são os elementos pertencentes aos tipos. Variáveis e constantes são repositórios de elementos pertencentes aos tipos. * * Constantes e Variáveis Um algoritmo recebe dados que precisam ser armazenados no computador e utilizados no processamento; O armazenamento é feito na memória; Uma variável representa uma área da memória que armazena um determinado dado; A variável deve possuir um nome e deve ser definido que tipo de dado ela pode armazenar; * * Constantes Constantes: São valores específicos que não se modificam durante a execução de um algoritmo A declaração de uma constante é feita da seguinte forma: Constante <identidicador1> = <valor1>; <identidicador2> = <valor2>; ... <identidicador N> = <valor N>; * * Variáveis Variáveis: Variável é uma entidade destinada a guardar dados. Estes dados podem variar durante a execução do algoritmo A declaração de uma variável é feita da seguinte forma: Var <lista_de_variáveis1> : <tipo1>; <lista_de_variáveis2> : <tipo2>; ou <tipo> : <lista_de_variáveis> * * Entrada e Saída Algoritmos objetivam transformar informações Algoritmo = Entrada + Processamento + Saída Entrada: obtenção de dados provenientes do meio externo Comando: leia Exemplos: leia (X) leia (A, NOTA) * * * Entrada e Saída Saída: entrega dos resultados ao meio externo Comandos: escreva ou escreval Exemplos: escreva (X) escreva (B, MEDIA, 2+2) escreval (“cliente cadastrado com sucesso”) * * * Atribuição Aritméticos Relacionais Lógicos Operadores * * * Operadores atribuição Visualg: “:=“ ou “← ” Notação: x1 ← 23; temp ← x1; nome ← “Carlos da Silva”; * * + adição - subtração / divisão * multiplicação ** potenciação div divisão inteira. Ex: 5 div 2 = 2 ( o re- sultado é apenas o valor inteiro) mod resto inteiro da divisão. Ex: 5 mod 2 = 1 (o resultado é o res- to da divisão) Operadores aritméticos * * > Maior que < Menor que = igual >= maior ou igual que <= menor ou igual que <> diferente Operadores Lógicos não negação e conjunção ou disjunção Operadores Relacionais * * Exemplos: variavel_1 ← 2 = 3 // (falso) variavel_2 ← 1.6 <> 5.0 // (verdadeiro) variavel_3 ← 1 > 5 // (falso) variavel_4 ← (2+ 2) < 5 // (verdadeiro) variavel_5 ← 8 >= 3 // (verdadeiro) variavel_6 ← 1 <= 4 // (verdadeiro) variavel_7 ← “café” < “expresso” // (verdadeiro) variavel_8 ← “café” =“café” // (verdadeiro) Operadores Relacionais * * Dados de entrada: tipo lógico Resultado: tipo lógico E (AND), OU (OR), NAO (NOT) Operadores Lógicos * * Exemplos: variavel_1 ← verdadeiro E falso // (falso) variavel_2 ← falso OU falso //(falso) variavel_3 ← NAO cond1 // (verdadeiro) variavel_4 ← (verdadeiro E falso) OU (5 > 3) // (verdadeiro) Operadores Lógicos * * Tabela Verdade * * Funções Pré-definidas * * Algoritmos Algoritmo Media Real: n1, n2, media Início Escreva(“Digite as duas notas:”) Leia(n1, n2) media (n1+n2)/2 Se (media >= 5) então Escreva (“APROVADO”) Senão Escreva (“REPROVADO”) Fim_se Fim * * Exercícios 1 - Calcular uma divisão entre dois números, mas, produzir um alerta em caso de divisão por zero. 2 - Distinguir, entre dois números, qual deles é o maior. 3 - Calcular a média ponderada de três notas, permitindo definir durante a execução os pesos de cada nota. 4 - Calcular a área de um círculo, tendo como entrada o valor do raio, que deve ser positivo. 5 - Calcular as médias de um aluno e informe sua situação, nos padrões da UFERSA.O algoritmo deve calcular e exibir a média parcial e a situação parcial do aluno (aprovado, prova final ou reprovado). * Estruturas Condicionais São estruturas utilizadas para tomada de decisão. Essas estruturas controlam o fluxo da execução do algoritmo permitindo fluxos distintos para determinadas situações. As principais estruturas são: SE SE-SENÃO ESCOLHA * SE Sintaxe: Nesta estrutura o conjunto de instruções somente será executado se o teste lógico for VERDADEIRO Teste Lógico = testes utilizando operadores relacionais ou lógicos (ex.: x > 1, a >= b, y = 20) Instruções = qualquer sequência de comandos SE (TESTE LÓGICO) ENTAO INSTRUÇÕES FIMSE * SE Exemplo 01 Algoritmo “MaiorIdade” var idade : Inteiro Inicio escreva(“Qual sua idade?”) leia(idade) se ( idade > 18 ) entao escreval(“ Você possui maior idade!”) fimse Fimalgoritmo * SE Exemplo 02 Algoritmo “Maior” var a,b : Inteiro Inicio leia(a) leia(b) se ( a > b ) entao escreva(a, “é o maior”) fimse Fim * SE Exemplo 03 Algoritmo “Média” var nota1, nota2, nota3, média : Real Inicio escreva(“Quais foram as notas?”) leia(nota1) leia(nota2) leia(nota3) media (nota1+nota2+nota3)/3 se ( media > 7 ) entao escreva(“Aprovado!”) fimse Fimalgoritmo * SE-SENÃO Sintaxe: Nesta estrutura se o TESTE LÓGICO for VERDADEIRO será executado o conjunto de INSTRUÇÕES A, se for FALSO será executado o conjunto de INSTRUÇÕES B. SE (TESTE LÓGICO) ENTAO INSTRUÇÕES A SENAO INSTRUÇÕES B FIMSE * SE-SENÃO Exemplo 01 Algoritmo “MaiorIdade” var idade : Inteiro Inicio escreval(“Qual sua idade?”) leia(idade) se ( idade > 18 ) entao escreva(“ Você possui maior idade!”) senao escreva(“ Você não possui maior idade!”) fimse Fimalgoritmo * SE-SENÃO Exemplo 02 Algoritmo “Maior” var a,b : Inteiro Inicio leia(a) leia(b) se ( a > b ) entao escreva(a, “é o maior”) senao escreva(b, “é o maior”) fimse Fimalgoritmo * SE-SENÃO Exemplo 03 Algoritmo “Média” var nota1, nota2, nota3, média : Real Inicio escreva(“Quais foram as notas?”) leia(nota1) leia(nota2) leia(nota3) média (nota1+nota2+nota3)/3 se ( média > 7 ) entao escreva(“Aprovado!”) senao escreva(“Reprovado!”) fimse Fimalgoritmo * SE-SENÃO ANINHADOS O conjunto de instruções que é executado pode ser qualquer sequência de comando incluindo uma nova estrutura SE-SENAO. SE (TESTE LÓGICO 1) ENTAO INSTRUÇÕES A SENAO SE (TESTE LÓGICO 2) ENTAO INSTRUÇÕES B SENAO INSTRUÇÕES C FIMSE FIMSE * ESCOLHA Sintaxe Essa estrutura condicional utiliza uma variável VAR como parâmetro. Para determinados valores dessa variável (caso v1, caso v2, etc.) é executado um conjunto específico de instruções. Existe também um caso OUTROCASO que será executado quando o valor da variável não estiver no intervalo dos casos determinados. ESCOLHA (VAR) CASO V1 INSTRUÇÕES A CASO V2 INSTRUÇÕES B CASO V3 INSTRUÇÕES C ... CASO Vn INSTRUÇÕES N OUTROCASO INSTRUÇÕES X FIMESCOLHA * ESCOLHA Exemplo 01 Algoritmo “ShowDoMilhão” var resp : caractere Inicio escreva(“Qual o nome do cavalo branco de Napoleão?”) escreva(“A – Morengo”) escreva(“B – Pégasus”) escreva(“C – Bucéfalo”) leia(resp) escolha(resp) caso “A” escreva(“Resposta Correta!”) outrocaso escreva(“Resposta Errada!”) fimescolha Fimalgoritmo * ESCOLHA Exemplo 02 Algoritmo “Operações” var a,b : Inteiro resp : Literal Inicio escreva(“Digite dois números:”) leia(a) leia(b) escreva(“A - Adição”) escreva(“S - Subtração”) escreva(“M – Multiplicação”) leia(resp) escolha(resp) caso “A” escreva(a+b) caso “S” escreva(a–b) caso “M” escreva(a*b) outrocaso: escreva(“Operação Inválida!”) fimescolha Fimalgoritmo * Exercícios 1. Desenvolva um algoritmo para calcular o custo de um estacionamento urbano de acordo com o tipo de veículo. O algoritmo deverá indicar as opções: 1 – moto – R$ 3,00 p/hora 2 – carro – R$ 5,00 p/hora De acordo com a opção escolhida o algoritmo deverá receber a quantidade de horas e calcular o valor total. * Exercícios 02. Crie um algoritmo que calcule a média de três notas. O algoritmo deverá apresentar 2 opções para o cálculo da média: aritmética ou ponderada. De acordo com a opção escolhida o respectivo cálculo será realizado. 03. Faça um algoritmo para realizar operações aritméticas entre dois números. O algoritmo deverá receber os dois números e apresentar as opções para cálculo. 1 – Soma 2 – Produto 3 – Divisão 4 – Multiplicaçã * Exercícios 04. Escrever um algoritmo que lê um conjunto de 4 valores i, a, b, c, onde i é um valor inteiro e positivo e a, b, c, são quaisquer valores reais e os escreva. A seguir: a) Se i = 1 escrever os três valores a, b, c em ordem crescente. b) Se i = 2 escrever os três valores a, b, c em ordem decrescente. c) Se i=3 escrever os três valores a, b, c de forma que o maior entre a, b, c fique dentre os dois. * Exercícios 2. Desenvolva um algoritmo para calcular o custo de um estacionamento urbano de acordo com o tipo de veículo. O algoritmo deverá indicar as opções: 1 – moto – R$ 3,00 p/hora 2 – carro – R$ 5,00 p/hora De acordo com a opção escolhida o algoritmo deverá receber a quantidade de horas e calcular o valor total. * Exercícios 03. Crie um algoritmo que calcule a média de três notas. O algoritmo deverá apresentar 2 opções para o cálculo da média: aritmética ou ponderada. De acordo com a opção escolhida o respectivo cálculo será realizado. 04. Faça um algoritmo para realizar operações aritméticas entre dois números. O algoritmo deverá receber os dois números e apresentar as opções para cálculo. 1 – Soma 2 – Produto 3 – Divisão 4 – Multiplicação. * Exercícios 1. Escrever um algoritmo que lê um conjunto de 4 valores i, a, b, c, onde i é um valor inteiro e positivo e a, b, c, são quaisquer valores reais e os escreva. A seguir: a) Se i=1 escrever os três valores a, b, c em ordem crescente. b) Se i=2 escrever os três valores a, b, c em ordem decrescente. c) Se i=3 escrever os três valores a, b, c de forma que o maior entre a, b, c fique dentre os dois. * * * * * * *
Compartilhar