Baixe o app para aproveitar ainda mais
Prévia do material em texto
wmascarenhas@area1.edu.br Algoritmos e Programação de Computadores 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 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 – 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 xampu 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 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 e chamada ou retorno de subalgoritmo Entrada de Dados Saída de Dados Decisão 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 que 7, mostra se 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 da Área-1. 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 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 • 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; 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. A seguir está a lista que usaremos: • Operador Ação + Soma (inteira e ponto flutuante) - Subtração ou Troca de sinal (inteira e ponto flutuante) * Multiplicação (inteira e ponto flutuante) / Divisão (inteira e ponto flutuante) » 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); • 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; altura = 1.65; total = 5 + 2 * 3; 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 recebidoapó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ça um 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