Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmos Computacionais Lógica de Programação Linguagem de Programação O que é linguagem? Meio de comunicação Exemplos? E Linguagem de programação? Meio de comunicação entre usuário e computador, através do qual podemos desenvolver programas para informarmos ao computador o que queremos que seja feito Pensamento Humano (não-estruturado) Programa (obedece regras) Computador Linguagem de Programação Definição Notação para escrever programas, através dos quais podemos nos comunicar com o hardware e dar as ordens adequadas para a realização de um determinado processo; Conjunto de regras que providencia a maneira de dizer a um computador que operações executar; Conjunto de símbolos (vocabulário) e regras (gramática) que especifica como transmitir informações entre usuários e computador; Algoritmo x Programa Algoritmo é uma sequência finita de ações, ordenadas de forma lógica, que devem ser executadas para que se possa resolver uma determinada tarefa; Quando a forma de se expressar essas ações obedecem às regras de alguma linguagem de programação, passamos a chamá-lo de Programa; Uma vez concebida uma solução algorítmica de um problema, esta pode ser traduzida para qualquer linguagem de programação. Algoritmo x Programa Os computadores, infelizmente só fazem aquilo que mandamos e não necessariamente o que desejamos que eles façam! Computador não tem senso próprio => deve receber instruções explícitas Não deve haver ambiguidade nas instruções do programa Ex. “calcule as médias das notas dos alunos e informe quantos alunos ficaram com média acima da média da faculdade” Onde estão as notas, quantas são, qual a média da faculdade, os ausentes devem ser incluídos??? Qualidades de um Algoritmo 1- O algoritmo deve ter um início 2- Cada passo do algoritmo deve ser uma instrução que possa ser realizada 3- A ordem dos passos deve ser precisamente determinada 4- O algoritmo deve ter um fim Fases da Construção de um Algoritmo Identificação do Problema; Definir cada passo precisamente; Deve existir zero ou mais entradas tomadas de conjuntos bem definidos; Deve existir uma ou mais saídas; Deve existir uma condição de fim sempre atingida para quaisquer entradas e num tempo finito; Teste do Algoritmo Dicas! Algoritmos não se aprende: - Copiando algoritmos - Estudando algoritmos Algoritmos só se aprende: - Construindo algoritmos - Testando algoritmos - Através de muitos exercícios - Organizando as idéias antes de começar - Entendendo as entradas, os objetivos e as saídas desejadas Formas de Representar um Algoritmo Existem diversas formas de representação de algoritmos. Dentre as mais conhecidas: Descrição Narrativa Diagrama de Chapin Fluxograma Convencional Pseudocódigo (ou Português Estruturado) Linguagem de Programação Descrição Narrativa Os algoritmos são expressos diretamente em linguagem natural. Muitas vezes dá oportunidade a más interpretações, ambiguidades e imprecisões. Exemplos: Algoritmo Lavar Cabelo 1 -- Molhe o cabelo 2 -- Repita duas vezes: Coloque shampoo no cabelo Massageie até fazer espuma Enxague Algoritmo Fritar Ovo 1 -- pegar frigideira , ovo , oleo e sal 2 -- colocar oleo na frigideira 3 -- acender fogo 4 -- colocar a frigideira no fogo 5 -- esperar o oleo esquentar 6 -- colocar o ovo 7 -- retirar quando pronto Cada pessoa pode descrever de uma forma diferente Fluxograma Convencional É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintas. Início e final do fluxograma Operações de atribuição (cálculos) e chamada ou retorno de subalgoritmos Entrada de Dados Saída de Dados Decisão OU OU Fluxograma Convencional - Exemplo Início N1, N2 Média = (N1+N2)/2 Média >=7 “Aprovado” “Em Analise” Fim Algoritmo para cálculo da média a partir de 2 notas de um aluno e, se a média for maior ou igual a 7, mostra que o aluno está aprovado, caso contrário, mostra que a situação do aluno está sendo analisada. S N Português Estruturado ou Pseudocódigo É rico em detalhes e, por assemelhar-se bastante à forma em que os programas são escritos. Inicio real: N1, N2, media leia (N1 , N2); media = ( N1+N2 )/2; se (media >= 7) imprima ("Aprovado“); senao imprima (“Em Analise“); fim Linguagem de Programação Obedece as regras de sintaxe e semântica da linguagem de programação que está sendo utilizada. No exemplo um programa na linguagem C: #include <stdio.h> #include <stdlib.h> main() { float N1, N2, media; printf (“Informe valor da primeira nota “); scanf (“%f”,&N1); printf (“Informe valor da segunda nota “); scanf (“%f”,&N2); media = ( N1+N2 )/2; if (media >= 7) { printf ("Aprovado“); } else { printf(“Em Analise“); } } O que será apresentado: Estrutura do Algoritmo Comandos de entrada e saída Variáveis Operadores Aritméticos Atribuição de Valores Estrutura de um Algoritmo No algoritmo: Calcule a média do semestre(2 unidades) de um aluno: a) Quais são os dados de entrada? b) Qual será o processamento para obter o resultado? c) Quais serão os dados de saída? ENTRADA PROCESSAMENTO SAÍDA Variáveis São espaços de memória, que podem assumir diferentes valores dentro do mesmo algoritmo; Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor a cada instante; A cada variável está associado um nome (identificador); um tipo que define a natureza da informação que ela pode armazenar; e um conteúdo; Comandos Entrada e Saída Entrada de dados Dados que o usuário deverá digitar para que o processamento possa ser realizado - leitura; Os dados são inseridos no programa através das variáveis (veremos mais adiante); Nesta disciplina a entrada de dados será efetuada via teclado; Saída de dados Dados resultantes do processamento que deverão ser mostrados ao usuário - impressos; Nesta disciplina será utilizado o vídeo; Variáveis - Identificadores São nomes simbólicos. É o que dá o nome a variável; São compostos por letras e dígitos numéricos, sendo que o primeiro caracter deve ser uma letra, e não devem existir espaços em branco; Identificadores válidos: k, X, y, tamanho, tam, tam12, fim_dados; Identificadores não válidos: 2k, fim de dados, x.data, 2@, a%. Operadores Aritméticos Os operadores aritméticos são usados para desenvolver operações matemáticas. Usaremos as quatro operações básicas: Operador Ação + Soma (inteira e real) - Subtração ou Troca de sinal (inteira e real) * Multiplicação (inteira e real) / Divisão (inteira e real) 1ª prioridade: * (multiplicação) e / (divisão) 2ª prioridade: + (soma) e - (subtração) A prioridade segue os mesmos conceitos da matemática. Lembrando que os parênteses alteram a prioridade. Atribuição A função do comando de atribuição é guardar um valor em uma variável. O símbolo utilizado para atribuição é o = (igual) ou <- ; Qualquer resultado de expressão pode ser atribuído a uma variável, primeiro resolvendo a expressão e depois atribuindo o resultado à variável. Exemplo: qtde = 3; ou qtde <-3 altura = 1.65; ou altura <- 1.65 total = 5 + 2 * 3; ou total = 5 + 2 * 3; nome = “Ana”; ou nome = “Ana”; Exercícios 1) Faça um algoritmo que leia um número inteiro e imprima o seu antecedente (inteiro anterior) e o seu sucessor (inteiro posterior). Lembre-se: a) Quais são os dados de entrada? b) Qual será o processamento para obter o resultado? c) Quais serão os dados de saída? 2) Um operador ganha R$ 30,00 por hora trabalhada. Informe qual foi o salário recebido após trabalhar 40 horas. Lembrando que ele tem um desconto de 5% de impostos. 3) No exemplo anterior, solicite o valor da hora, o número de horas trabalhadas e o percentual de desconto. Façaum algoritmo que possa calcular o salário de qualquer funcionário independente dos valores informados. Exercícios 4) Faça um algoritmo que leia as 3 notas de um aluno e calcule a média final deste aluno. Considerar que a média é ponderada e que o peso das notas é: 2,3 e 5, respectivamente. 5) Faça um algoritmo que receba um valor que é o valor pago, um segundo valor que é o preço do produto e retorne o troco a ser dado. 6) Faça um algoritmo que receba o valor do quilo de um produto e a quantidade de quilos do produto consumida calculando o valor final a ser pago. 7) Faça um algoritmo que leia dois números, apresente os resultados: soma, subtração, multiplicação e divisão. Exercícios 8) Faça um algoritmo que leia a quantidade de dólares e a cotação do mesmo. Converta o valor de dólar para real. 9) Uma loja vende produtos em 5 vezes sem juros. Leia o valor do produto e exiba o o valor de cada prestação. 10) Receba o custo de um produto e o percentual de acréscimo. Informe qual será o valor da venda. 11) Leia duas variáveis a e b.Troque os seus valores. Imprima o valor final de a e b (faça o teste).
Compartilhar