Sei sulla pagina 1di 24

Algoritmos e Programao de Computadores

Lgica de Programao

wmascarenhas@area1.edu.br

Alexandre Nascimento Andr Portugal Renata Vilas Boas Wanja Mascarenhas

Linguagem de Programao

O que linguagem? Meio de comunicao Exemplos? E Linguagem de programao? Meio de comunicao entre usurio e computador, atravs do qual podemos desenvolver programas para informarmos ao computador o que queremos que seja feito

Pensamento Humano (noestruturado)

Programa

Computador

Linguagem de Programao

Definio

Notao para escrever programas, atravs dos quais podemos nos comunicar com o hardware e dar as ordens adequadas para a realizao de um determinado processo; Conjunto de regras que providencia a maneira de dizer a um computador que operaes executar; Conjunto de smbolos (vocabulrio) e regras (gramtica) que especifica como transmitir informaes entre usurios e computador;

Algoritmo x Programa

Algoritmo uma sequncia finita de aes, ordenadas de forma lgica, que devem ser executadas para que se possa resolver uma determinada tarefa; Quando a forma de se expressar essas aes obedecem s regras de alguma linguagem de programao, passamos a cham-lo de Programa; Uma vez concebida uma soluo algortmica de um problema, esta pode ser traduzida para qualquer linguagem de programao.

Algoritmo x Programa

Os computadores, infelizmente s fazem aquilo que mandamos e no necessariamente o que desejamos que eles faam! Computador no tem senso prprio => deve receber instrues explcitas No deve haver ambiguidade nas instrues do programa Ex. calcule as mdias das notas dos alunos e informe quantos alunos ficaram com mdia acima da mdia da faculdade Onde esto as notas, quantas so, qual a mdia da faculdade, os ausentes devem ser includos???

Qualidades de um Algoritmo
1- O algoritmo deve ter um incio
2- Cada passo do algoritmo deve ser uma instruo que possa ser realizada 3- A ordem dos passos deve ser precisamente determinada 4- O algoritmo deve ter um fim

Fases da Construo de um Algoritmo


Identificao do Problema; Definir cada passo precisamente; Deve existir zero ou mais entradas tomadas de conjuntos bem definidos; Deve existir uma ou mais sadas; Deve existir uma condio de fim sempre atingida para quaisquer entradas e num tempo finito;

Teste do Algoritmo

Dicas!

Algoritmos no se aprende: - Copiando algoritmos - Estudando algoritmos Algoritmos s se aprende: - Construindo algoritmos - Testando algoritmos - Atravs de muitos exerccios - Organizando as idias antes de comear - Entendendo as entradas, os objetivos e as sadas desejadas

Formas de Representar um Algoritmo

Existem diversas formas de representao de algoritmos. Dentre as mais conhecidas:


Descrio Narrativa Fluxograma Convencional Pseudocdigo (ou Portugus Estruturado) Linguagem de Programao

Descrio Narrativa

Os algoritmos so expressos diretamente em linguagem natural. Muitas vezes d oportunidade a ms interpretaes, ambiguidades e imprecises. 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 representao grfica de algoritmos onde formas geomtricas diferentes implicam aes (instrues, comandos) distintas.

Incio e final do fluxograma Entrada de Dados

Operaes de atribuio e chamada ou retorno de subalgoritmo

Deciso Sada de Dados

Fluxograma Convencional - Exemplo


Incio
N1, N2 Mdia = (N1+N2)/2 N

Mdia >=7 S Aprovado

Em Analise

Algoritmo para clculo da mdia a partir de 2 notas de um aluno e, se a mdia for maior que 7, mostra se o aluno est aprovado, caso contrrio, mostra que a situao do aluno est sendo analisada.

Fim

Portugus Estruturado ou Pseudocdigo

rico em detalhes e, por assemelhar-se bastante forma em que os programas so 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 Programao

Obedece as regras de sintaxe e semntica da linguagem de programao 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 sada Variveis Operadores Aritmticos Atribuio de Valores

Estrutura de um Algoritmo

ENTRADA

PROCESSAMENTO

SADA

No algoritmo: Calcule a mdia do semestre(2 unidades) de um aluno da rea-1. a) Quais so os dados de entrada? b) Qual ser o processamento para obter o resultado? c) Quais sero os dados de sada?

Comandos Entrada e Sada

Entrada de dados Dados que o usurio dever digitar para que o processamento possa ser realizado - leitura; Os dados so inseridos no programa atravs das variveis (veremos mais adiante); Nesta disciplina a entrada de dados ser efetuada via teclado; Sada de dados Dados resultantes do processamento que devero ser mostrados ao usurio - impressos; Nesta disciplina ser utilizado o vdeo;

Variveis

So espaos de memria, que podem assumir diferentes valores dentro do mesmo algoritmo;

Embora uma varivel possa assumir diferentes valores, ela s pode armazenar um valor a cada instante;
A cada varivel est associado um nome (identificador); um tipo que define a natureza da informao que ela pode armazenar; e um contedo;

Variveis - Identificadores

So nomes simblicos. o que d o nome a varivel; So compostos por letras e dgitos numricos, sendo que o primeiro caracter deve ser uma letra, e no devem existir espaos em branco; Identificadores vlidos: k, X, y, tamanho, tam, tam12, fim_dados; Identificadores no vlidos: 2k, fim de dados, x.data, 2@, a%

Operadores Aritmticos

Os operadores aritmticos so usados para desenvolver operaes matemticas. A seguir est a lista que usaremos:
Operador + * / Ao Soma (inteira e ponto flutuante) Subtrao ou Troca de sinal (inteira e ponto flutuante) Multiplicao (inteira e ponto flutuante) Diviso (inteira e ponto flutuante)

1 prioridade: * (multiplicao) e / (diviso) 2 prioridade: + (soma) e - (subtrao)

A prioridade segue os mesmos conceitos da matemtica. Lembrando que os parnteses alteram a prioridade.

Atribuio

A funo do comando de atribuio guardar um valor em uma varivel. O smbolo utilizado para atribuio o = (igual); Qualquer resultado de expresso pode ser atribudo a uma varivel, primeiro resolvendo a expresso e depois atribuindo o resultado varivel.

Exemplo: qtde = 3; altura = 1.65; total = 5 + 2 * 3;

Exerccios
1) Faa um algoritmo que leia um nmero inteiro e imprima o seu antecedente (inteiro anterior) e o seu sucessor (inteiro posterior). Lembre-se: a) Quais so os dados de entrada? b) Qual ser o processamento para obter o resultado? c) Quais sero os dados de sada? 2) Um operador ganha R$ 30,00 por hora trabalhada. Informe qual foi o salrio recebido aps trabalhar 40 horas. Lembrando que ele tem um desconto de 5% de impostos. 3) No exemplo anterior, solicite o valor da hora, o nmero de horas trabalhadas e o percentual de desconto. Faa um algoritmo que possa calcular o salrio de qualquer funcionrio independente dos valores informados.

Exerccios
4) Faa um algoritmo que leia as 3 notas de um aluno e calcule a mdia final deste aluno. Considerar que a mdia ponderada e que o peso das notas : 2,3 e 5, respectivamente.

5) Faa um algoritmo que receba um valor que o valor pago, um segundo valor que o preo do produto e retorne o troco a ser dado.
6) Faa 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) Faa um algoritmo que leia dois nmeros, apresente o resultado: soma, subtrao, multiplicao e diviso.

Exerccios
8) Faa um algoritmo que converta um valor em (R$) a partir do valor lido em dlar (US$). Leia a quantidade de dlares e a cotao do mesmo. 9) Uma loja vende produtos em 5 vezes sem juros. Leia o valor do produto e exiba o o valor de cada prestao. 10) Receba o custo de um produto e o percentual de acrscimo. Informe qual ser o valor da venda. 11) Leia duas variveis a e b.Troque os seus valores. Imprima o valor final de a e b (faa o teste).

Potrebbero piacerti anche