Você está na página 1de 34

Introdu c ao aos Algoritmos

Aula 05 Diogo Pinheiro Fernandes Pedrosa


http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br
Universidade Federal Rural do Semi arido Bacharelado em Ci encia e Tecnologia

21 de outubro de 2009

Introdu c ao
Em aulas anteriores...

Conceito de computador Equipamento para realizar processamento de dados; Possui hardware e software; Software composto por programas! Toda tarefa de processamento de dados necessita de um programa (ou v arios programas interligados); Todo programa e constru do atrav es de uma linguagem de programa c ao.

Introdu c ao
Etapas para Desenvolvimento de Programas

An alise: estuda o enuciado do problema e dene os dados de entrada do programa, o processamento a ser realizado e os dados de sa da; Algoritmo: consiste em ferramentas que auxiliam na descri c ao do problema com suas solu c oes; Codica c ao: o algoritmo e transformado em c odigos da linguagem de programa c ao escolhida para se trabalhar.

Observa c ao
Um programa e a codica c ao de um algoritmo em uma linguagem de programa c ao.

Conceito de Algoritmo

Um algoritmo e a descri c ao de uma sequ encia de passos que deve ser seguida para a realiza c ao de uma tarefa.

Exemplo: somar tr es n umeros


1. Receber os tr es n umeros; 2. Somar os tr es n umeros; 3. Mostrar o resultado obtido.

Conceito de Algoritmo

Exemplo: sacar dinheiro em caixa eletr onico


1. Ir at e um caixa eletr onico; 2. Colocar o cart ao; 3. Digitar a senha; 4. Solicitar a quantia desejada; 5. Se o saldo for maior ou igual ` a quantia desejada, sacar dinheiro; caso contr ario, mostrar mensagem de impossibilidade de saque; 6. Retirar cart ao; 7. Sair da ag encia.

Conceito de Algoritmo

Observa c ao
Podem existir v arios algoritmos para solucionar o mesmo problema.

M etodo para Construir Algoritmos

Compreender o problema a ser resolvido; Denir os dados de entrada; Denir que tipo de processamento (c alculos) ser ao efetuados; Denir os dados de sa da; Construir o algoritmo; Testar o algoritmo com simula c oes.

Tipos de Algoritmos
Descri c ao Narrativa

Consiste em analisar o enunciado do problema e escrever, utilizando uma linguagem natural, os passos a serem seguidos para sua resolu c ao. Vantagem: n ao e necess ario aprender nenhum conceito novo; Desvantagem: a l ngua natural abre espa co para v arias interpreta c oes, o que pode dicultar a transcri c ao do algoritmo para programa.

Tipos de Algoritmos
Descri c ao Narrativa Exemplo

Algoritmo para mostrar o resultado da multiplica c ao de dois n umeros: 1. Receber os dois n umeros que ser ao multiplicados. 2. Multiplicar os dois n umeros. 3. Mostrar o resultado obtido na multiplica c ao.

Tipos de Algoritmo
Fluxograma

Consiste em analisar o enunciado do problema e escrever, utilizando s mbolos gr acos pr e-denidos, os passos a serem seguidos para sua resolu c ao. Vantagem: uma vez que se tem o conhecimento dos s mbolos, entender um algoritmo escrito em uxograma e mais simples que entender um algoritmo narrativo; Desvantagem: e necess ario aprender a simbologia dos uxogramas.

Tipos de Algoritmo
Fluxograma

S mbolos gr acos:
Simbolo utilizado para indicar inicio e fim do algoritmo

Simbolo que permite indicar o sentido do fluxo de dados. Serve exclusivamente para conectar os simbolos ou blocos existentes

Simbolo utilizado para indicar calculos e atribuicoes de valores

Simbolo utilizado para representar a entrada de dados

Simbolo utilizada para representar a saida de dados

Simbolo utilizado para indicar que deve ser tomada uma deciso, apontando a possibilidade de desvios.

Tipos de Algoritmo
Fluxograma Exemplo

Algoritmo para mostrar o resultado da multiplica c ao de dois n umeros:


Inicio N1, N2

M = N1 x N2

Fim

Tipos de Algoritmo
Pseudoc odigo

Consiste em analisar o enunciado do problema e escrever, por meio de regras pr e-denidas, os passos a serem seguidos para sua resolu c ao. Vantagem: a passagem do algoritmo para qualquer linguagem de programa c ao e quase imediata, basta conhecer os c odigos da linguagem; Desvantagem: e necess ario aprender as regras do pseudoc odigo.

Tipos de Algoritmo
Pseudoc odigo Exemplo

Algoritmo para mostrar o resultado da multiplica c ao de dois n umeros: 1: IN ICIO ALGORITMO 2: DECLARE N1, N2, M NUMERICO 3: ESCREVA Digite dois n umeros 4: LEIA N1, N2 5: M N1 * N2 6: ESCREVA Multiplica c ao = , M 7: FIM ALGORITMO

Conceito de Vari avel

Um algoritmo e, posteriormente, um programa, recebem dados que precisam ser armazenados no computador e utilizados no processamento; O armazenamento e feito na mem oria; Uma vari avel representa uma area da mem oria que armazena um determinado dado;
A vari avel deve possuir um nome e deve ser denido que tipo de dado ela pode armazenar; Uma vari avel pode ter seu valor alterado (por outro do mesmo tipo) a qualquer momento.

Nome das Vari aveis


Forma c ao de Identicadores

Os identicadores s ao os nomes utilizados para as vari aveis nos algoritmos e programas. As regras b asicas para a forma c ao dos identicadores s ao: Pode-se utilizar n umeros, letras mai usculas, letras min usculas e o caractere underscore. Exemplo: Nota 1, Nota01; O primeiro caractere deve ser sempre uma letra. Exemplo: 01Nota n ao pode! N ao s ao permitidos espa cos em branco nem s mbolos especiais (@, $, +, -, %, !, etc.). Exemplo: Nota 01 n ao pode! Existem palavras que s ao exclusivas para as linguagens de programa c ao. Tais palavras n ao podem ser utilizadas como identicadores.

Tipos de Dados
Valores que as Vari aveis Recebem

Num erico: Podem assumir valores inteiros (-23, 0, 237, ...) ou valores reais (-23.45, 0.0, 234.478). L ogico: Podem assumir valores booleanos: verdadeiro ou falso. Caractere: Tamb em e conhecido como tipo Literal; Esse tipo pode assumir um u nico caractere ou uma sequ encia de caracteres; Exemplo: Inform atica Aplicada.

Linguagem de Programa c ao
A Linguagem que ser a utilizada...

Uma linguagem de programa c ao consiste em um conjunto de c odigos que traduz um algoritmo para um programa; Esse c odigo possui regras e palavras chaves espec cas da linguagem adotada; Exemplo:
#include <stdio.h> int main(){ int N1, N2, M; printf("Digite dois n umeros: "); scanf("%d %d", &N1, &N2); M = N1*N2; printf("Multiplica c~ ao = %d", M); return(0); }

Linguagem de Programa c ao
A Linguagem que ser a utilizada...

A linguagem a ser utilizada ser a a C/C++; A linguagem C foi criada em 1972, nos Laborat orios Bell, para o desenvolvimento do sistema operacional UNIX; A linguagem C++ foi originalmente criada como uma extens ao da linguagem C. Hoje ela e uma das mais utilizadas no mundo acad emico. Ambas s ao linguagens de alto n vel o programador n ao precisa se preocupar com fun c oes espec cas do processador.

Paradigmas de Programa c ao

Paradigma e a representa c ao de um padr ao a ser seguida; Paradigma de programa c ao est a relacionado com a forma de pensar do programador e como ele busca a solu c ao para o problema; H a dois paradigmas principais em programa c ao:
Estruturado; Orientado a objetos.

Paradigmas de Programa c ao
Programa c ao Estruturada

Pelo paradigma estruturado, qualquer problema pode ser resolvido utilizando tr es estruturas b asicas: sequencial, condicional e de repeti c ao (iterativa); Procura encontrar uma forma de quebrar um problema complexo em v arios problemas simples, que trabalhando conjuntamente, obt em o resultado desejado.

Paradigmas de Programa c ao
Programa c ao Orientada a Objetos

No paradigma orientado a objetos, o programador enxerga o problema como uma cole c ao de objetos que interagem por meio de troca de mensagens.

Paradigmas de Programa c ao
Exemplo

Problema
Calcular a area e o per metro de um ret angulo. Para isso, dever a existir uma janela pela qual ser ao informadas as medidas dos lados do ret angulo. Nesta janela tamb em ser ao exibidos os resultados encontrados.

Paradigmas de Programa c ao
Exemplo

Pelo paradigma estruturado, o problema principal pode ser dividido nos seguintes problemas: 1. Obter o valor da altura do ret angulo; 2. Obter o valor da largura do ret angulo; 3. Calcular a area; 4. Calcular o per metro; 5. Mostrar os resultados.

Paradigmas de Programa c ao
Exemplo

Pelo paradigma orientado a objeto, o problema principal pode ser visto como dois objetos se comunicando: janela e ret angulo. Assim, deve-se: 1. Programar a janela para receber as medidas do ret angulo a partir do usu ario (entrada de dados) e enviar essas medidas para o objeto ret angulo; 2. Programar o ret angulo para receber as medidas da janela, fazer com que ele calcule a sua area e o seu per metro e, por m, enviar os resultados para a janela; 3. Uma vez que a janela recebeu essa mensagem, ela deve apresentar o resultado para o usu ario.

Paradigmas de Programa c ao

De uma maneira geral: A linguagem C foi originalmente projetada para escrever programas estruturados; A linguagem C++ possui elementos que permitem uma programa c ao orientada a objetos.

Estrutura Sequencial
a estrutura que permite criar o algoritmo como uma sequ E encia de passos para resolver um determinado problema. Consiste em: Utilizar uma palavra-chave para iniciar o algoritmo (IN ICIO ALGORITMO); Declarar as vari aveis e seus tipos; Realizar o processamento sobre as vari aveis; Finalizar o algoritmo com uma outra palavra chave (FIM ALGORITMO).

Exemplo
IN ICIO ALGORITMO 2: DECLARE vari aveis 3: bloco de comandos 4: FIM ALGORITMO
1:

Declara c ao de Vari aveis

Utiliza a palavra chave DECLARE, seguida do identicador da vari avel e do seu tipo.

Exemplo
1: 2: 3: 4: 5:

IN ICIO ALGORITMO DECLARE X NUMERICO DECLARE Y , Z CARACTERE DECLARE TESTE LOGICO FIM ALGORITMO

Atribui c ao de Valores

Para a atribui c ao de valores ` as vari aveis, usa-se o s mbolo .

Exemplo
1: 2: 3: 4: 5: 6: 7: 8:

IN ICIO ALGORITMO DECLARE X NUMERICO DECLARE Y , Z CARACTERE DECLARE TESTE LOGICO X 4 Y teste TESTE falso FIM ALGORITMO

Comando de Entrada

Para a entrada de dados no algoritmo, usa-se a palavra-chave LEIA!

Exemplo
1: 2: 3: 4: 5:

IN ICIO ALGORITMO DECLARE X NUMERICO LEIA X X X +2 FIM ALGORITMO

Comando de Sa da

Para a sa da (exibi c ao) de dados (vari aveis), usa-se a palavra-chave ESCREVA!

Exemplo
1: 2: 3: 4: 5: 6:

IN ICIO ALGORITMO DECLARE X NUMERICO LEIA X X X +2 ESCREVA X FIM ALGORITMO

Exemplo

Fa ca um algoritmo que receba quatro n umeros inteiros e que calcule e apresente a soma deles.
1: 2: 3: 4: 5: 6: 7: 8:

IN ICIO ALGORITMO DECLARE n1, n2, n3, n4 NUMERICO DECLARE soma NUMERICO ESCREVA Digite os quatro n umeros LEIA n1, n2, n3, n4 soma n1 + n2 + n3 + n4 ESCREVA Soma = , soma FIM ALGORITMO

Exemplo

Fa ca um algoritmo que receba tr es notas e que calcule e apresente a m edia aritm etrica entre elas.
1: 2: 3: 4: 5: 6: 7: 8:

IN ICIO ALGORITMO DECLARE n1, n2, n3, NUMERICO DECLARE media NUMERICO ESCREVA Digite as tr es notas: LEIA n1, n2, n3 media (n1 + n2 + n3)/3 ESCREVA M edia = , media FIM ALGORITMO

Pr oxima Aula...

Continua c ao de algoritmos: Estruturas sequenciais mais exemplos e exerc cios; Estruturas condicionais; Exemplos e exerc cios.

Você também pode gostar