Você está na página 1de 18

TIPOS DE PROGRAMAO

- PROGRAMAO PROCEDURAL: At recentemente, os programas eram codificados com uma srie de procedimentos. Procedimentos ou Funo, um conjunto de instrues especficas executadas uma depois da outra. A grande dificuldade desse tipo de programao era rastrear quais funes chamavam quais outras funes e quais dados eram alterados e em que momento. - PROGRAMAO ESTRUTURADA: A programao estruturada surgiu pela dificuldade da programao procedural, e a idia to simples quanto a idia de dividir e conquistar. A programao estruturada consiste em dividir qualquer tarefa que muito complexa em um conjunto de tarefas menores e que so facilmente entendidas. - PROGRAMAO ORIENTADA A OBJETOS: A essncia da programao orientada a objetos tratar dados e procedimentos que agem sobre os dados como um OBJETO NICO( uma entidade com uma identidade e certas caractersticas prprias).

1 Introduo Lgica de Programao


1.1 Lgica
A lgica de programao necessria para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a seqncia lgica para o desenvolvimento. Ento o que lgica? Lgica de programao a tcnica de encadear pensamentos para atingir determinado objetivo.

1.2 Seqncia Lgica


Estes pensamentos, podem ser descritos como uma seqncia de instrues, que devem ser seguidas para se cumprir uma determinada tarefa. Seqncia Lgica so passos executados at atingir um objetivo ou soluo de um problema.

1.3 Instrues
Na linguagem comum, entende-se por instrues um conjunto de regras ou normas definidas para a realizao ou emprego de algo. Em informtica, porm, instruo a informao que indica a um computador uma ao elementar a executar. Convm ressaltar que uma ordem isolada no permite realizar o processo completo, para isso necessrio um conjunto de instrues colocadas em ordem seqencial lgica. Por exemplo, se quisermos fazer uma omelete de batatas, precisaremos colocar em prtica uma srie de instrues: descascar as batatas, bater os ovos, fritar as batatas, etc... evidente que essas instrues tem que ser executadas em uma ordem adequada no se pode descascar as batatas depois de frit-las. Dessa maneira, uma instruo tomada em separado no tem muito sentido; para obtermos o resultado, precisamos colocar em prtica o conjunto de todas as instrues, na ordem correta. Instrues so um conjunto de regras ou normas definidas para a realizao ou emprego de algo. Em informtica, o que indica a um computador uma ao elementar a executar.

1.4 Algoritmo
O termo Algoritmo causa a muitas pessoas uma certa estranheza, por no ser uma palavra comum no vocabulrio do dia-a-dia. Sua origem data do ano de 830 D.C., atravs de um estudioso e matemtico persa de nome Mohammed Ibn Musa Abu Djefar, conhecido por AlKhwarismi, o qual escreveu na ocasio um importante livro sobre lgebra. Com o passar de vrios anos e aps ser usado repetidamente, o nome de Al-Khwarismi foi sofrendo corruptelas, o que ocasionou mudana na pronuncia: Al-Karismi, Algarismi, chegando a Algarismo, que a representao numrica do sistema de clculos utilizado em nossos dias. deste mesmo radical que vem o termo Algaritmo, utilizado em computao. Um algoritmo formalmente uma seqncia finita de passos que levam a execuo de uma tarefa. Tambm podemos dizer que uma sequencia de aes finitas que descrevem como um problema deve ser resolvido.

Podemos pensar em algoritmo como uma receita, uma seqncia de instrues que do cabo de uma meta especfica. Estas tarefas no podem ser redundantes nem subjetivas na sua definio, devem ser claras e precisas.

Um algoritmo precisa ter:


Inicio e Fim; Ser escrito em termos de aes (comandos) bem definidas; Que as aes sigam uma seguencia ordenada.

Um algoritmo pode ser apresentado:


Em uma linguagem (portugus, ingls); Em representaes grficas (Fluxograma ou Diagrama de Blocos); Pseudo-Linguagem (ou pseudo-cdigo) (No tem os inconvenientes da ambigidade de uma linguagem, nem os rigores de uma LP (Linguagem de Programao), seria um portugus estruturado com frases (comandos) correspondentes as estruturas bsicas de programao.

Vantagem da utilizao de algoritmos:


A partir dele o programador poder implement-lo em qualquer linguagem de programao que conhea ou deseje. Facilita a manuteno; Permite que o desenvolvimento possa ser empreendido por uma equipe de pessoas; Facilita o entendimento e o desenvolvimento de sistemas Auxilia no desenvolvimento de documentao de sistemas e material de treinamento;

Como exemplos de algoritmos podemos citar os algoritmos das operaes bsicas (adio, multiplicao, diviso e subtrao) de nmeros reais decimais. Outros exemplos seriam os manuais de aparelhos eletrnicos, como um videocassete, que explicam passo-a-passo como, por exemplo, gravar um evento. At mesmo as coisas mais simples, podem ser descritas por seqncias lgicas. Por exemplo: Chupar uma bala. Pegar a bala Retirar o papel Chupar a bala Jogar o papel no lixo

Somar dois nmeros quaisquer. Escreva o primeiro nmero no retngulo A Escreva o segundo nmero no retngulo B Some o nmero do retngulo A com nmero do retngulo B e coloque o resultado no retngulo C

1.5 Programas
Os programas de computadores nada mais so do que algoritmos escritos numa linguagem de computador (Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que so interpretados e executados por uma mquina, no caso um computador. Notem que dada esta interpretao rigorosa, um programa por natureza muito especfico e rgido em relao aos algoritmos da vida real.

1.6 EXERCCIOS
1) Crie uma seqncia lgica para tomar banho:

2) Faa um algoritmo para somar dois nmeros e multiplicar o resultado pelo primeiro nmero 3) Descreva com detalhes a seqncia lgica para Trocar um pneu de um carro. 4) Faa um algoritmo para trocar uma lmpada. Descreva com detalhes:

2 Desenvolvendo algoritmos
2.1 Pseudocdigo
Os algoritmos so descritos em uma linguagem chamada pseudocdigo. Este nome uma aluso posterior implementao em uma linguagem de programao, ou seja, quando formos programar em uma linguagem, por exemplo Visual Basic, estaremos gerando cdigo em Visual Basic. Por isso os algoritmos so independentes das linguagens de programao. Ao contrrio de uma linguagem de programao no existe um formalismo rgido de como deve ser escrito o algoritmo. O algoritmo deve ser fcil de se interpretar e fcil de codificar. Ou seja, ele deve ser o intermedirio entre a linguagem falada e a linguagem de programao.

Veja um exemplo: Faa um algoritmo para Ir de casa para o trabalho de nibus Soluo 1 Algoritmo Trajeto_Casa_Trabalho_V1 incio Andar at o ponto de nibus Aguardar o nibus Ao avistar o nibus correto, fazer sinal Entrar no nibus pela porta traseira Pagar passagem Escolher um assento e sentar Quando chegar prximo do local a saltar, dar o sinal para descida No ponto, descer do nibus, pela porta dianteira Andar at o trabalho fim Veja que resolvemos esse algoritmo em 9 passos, todavia se pedirmos que n pessoas resolva o mesmo problema, provavelmente, teremos n respostas diferentes. ou menor riqueza de detalhes. Por outro lado, devemos perceber que o algoritmo descrito revela uma situao perfeita, sem condicionais, sem excees. Assim como na nossa rotina improvvel termos situaes perfeitas, essas excees tambm ocorrem nos programas de computador. Vamos refazer este algoritmo de forma a introduzir algumas condies. Isto ocorre pois, normalmente, abstramos um problema, de ngulos diferentes, com maior

Soluo 2 Algoritmo Trajeto_Casa_Trabalho_V2 incio 1. Andar at o ponto de nibus 2. Aguardar o nibus 3. Quando avistar o nibus correto, fazer sinal se o nibus no parar, ento Em pensamento, xingar o motorista Reclamar para si que vai chegar atrasado se estiver muito atrasado ento Pegar uma Van seno Voltar para o Passo 2 fim-se seno se Pessoa >= 65 anos ento Entrar pela porta dianteira seno Entrar pela porta traseira Pagar passagem se houver troco ento Aguardar troco fim-se fim-se se houver lugar disponvel ento Sentar seno Escolher o melhor lugar em p e ali permanecer fim-se Quando chegar prximo do local a saltar, dar o sinal para descida No ponto, descer do nibus, pela porta dianteira Andar at o trabalho fim-se fim

Com certeza, a brincadeira que fiz da condio Se o nibus no parar deve ter levado vocs a pensarem em inmeras novas condies, como por exemplo: qual seria a sua reao, se num dia de chuva, o nibus passasse por sobre uma poa e lhe sujasse toda a roupa ? Veja quo complexo pode se tornar um simples algoritmo. Devemos lembrar que detalhes so essenciais na confeco de um algoritmo, todavia, eles devem estar de acordo com o contexto. Alm disso, importante que venhamos a relatar apenas os detalhes relevantes. Por exemplo, a soluo 2 est apropriada para ensinarmos uma pessoa que no est acostumada a andar de nibus. Todavia, este algoritmo causaria problemas se estivssemos programando um rob. Considerando esta situao, deveramos ser mais precisos no passo Quando chegar prximo do local a saltar, dar o sinal de descida. Nesse caso, deveramos dizer A x metros do local a saltar, dar o sinal de descida ou Na altura x da Rua y .... Assim, lembrem-se de usar o BOM SENSO!

CRIANDO ALGORITMOS
Toda linguagem composta de sintaxe e semntica, onde a sintaxe corresponde forma e a semntica corresponde ao contedo. Vocs devem aprender a sintaxe dos comandos, mas a principal preocupao deve ser de como usar esses comandos.

2.2 Regras para construo do Algoritmo


1. Use comentrios com freqncia. Isto torna o algoritmo mais legvel e facilita o entendimento da lgica empregada. Seus algoritmos devero ser lidos e entendidos por outras pessoas (e por voc mesmo) de tal forma que possam ser corrigidos e receber manuteno. Obs: No se esquea de atualizar os comentrios, em caso de manuteno. Pior do que um programa sem comentrios, um programa com comentrios errados. 2. Use comentrios, tambm, no cabealho do algoritmo, incluindo, principalmente: descrio do que faz o algoritmo autor data de criao

3. Escolha nomes de variveis significativos, todavia evite nomes muito longos. Ex: Prefira SalBruto ou SalarioBruto ao invs de SB ou VAR1 Prefira TotAlunosAprovDireta ao invs de TotalAlunosAprovacaoDireta 4. Destaque as palavras-chave das estruturas de controle e comandos com sublinhado. Ex: se media >= 7 ento ... seno ... fim-se

5. Utilize espaos e linhas em branco para melhorar a legibilidade. 6. Coloque apenas um comando por linha. Vrios comandos em uma linha causa ilegibilidade e dificulta a depurao. 7. Utilize parnteses para aumentar a legibilidade e prevenir-se de erros.

8. Use identao nos comandos de acordo com o nvel que estejam, ou seja, alinhe comandos de mesmo nvel e desloque comandos de nvel inferior. Ex.: incio comando 1; se condicao1 ento comando2; comando3; seno comando4; comando5; fim-se comando6; fim

2.3 Mtodo para desenvolvimento de algoritmos


1. Faa uma leitura de todo o problema at o final, a fim de formar a primeira impresso. A seguir, releia o problema e faa anotaes sobre os pontos principais. 2. Verifique se o problema foi bem entendido. Questione, se preciso, ao autor da especificao sobre suas dvidas. Releia o problema quantas vezes for preciso para entend-lo. 3. Extraia do problema todas as suas sadas. 4. Extraia do problema todas as suas entradas. 5. Identifique qual o processamento principal. 6. Verifique se ser necessrio algum valor intermedirio que auxilie a transformao das entradas em sadas. valores aparecero naturalmente. 7. Teste cada passo do algoritmo (Teste de Mesa), com todos os seus caminhos para verificar se o processamento est gerando os resultados esperados. Crie valores de teste para submeter ao algoritmo. 8. Reveja o algoritmo, checando as boas normas de criao. Conselho: S tente conseguir o timo, depois de realizar o bom. Esta etapa pode parecer obscura no incio, mas com certeza no desenrolar do algoritmo, estes

2.3 Teste de Mesa


Aps desenvolver um algoritmo ele dever sempre ser testado. Este teste chamado de TESTE DE MESA, que significa, seguir as instrues do algoritmo de maneira precisa para verificar se o procedimento utilizado est correto ou no. Veja o exemplo: Nota da Prova 1 Nota da Prova 2 Nota da Prova 3 Nota da Prova 4 Utilize a tabela abaixo: ((P1*1)+(P2*2)+(P3*3)+(P4*4))/100 P1 P2 P3 P4 Mdia

5 7 5

3 3 5

2 5 5

10 0 1

2.4 EXERCCIOS
1) Identifique os dados de entrada, processamento e sada no algoritmo abaixo Receba cdigo da pea Receba valor da pea Receba Quantidade de peas Calcule o valor total da pea (Quantidade * Valor da pea) Mostre o cdigo da pea e seu valor total

2) Faa um algoritmo para Calcular o estoque mdio de uma pea, sendo que ESTOQUEMDIO = (QUANTIDADE MNIMA + QUANTIDADE MXIMA) /2 3) Teste o algoritmo anterior com dados definidos por voc.

3 Diagrama de Bloco
3.1 O que um diagrama de bloco?
O diagrama de blocos uma forma padronizada e eficaz para representar os passos lgicos de um determinado processamento. Com o diagrama podemos definir uma seqncia de smbolos, com significado bem definido, portanto, sua principal funo a de facilitar a visualizao dos passos de um processamento.

3.2 Simbologia
Existem diversos smbolos em um diagrama de bloco. No decorrer do curso apresentaremos os mais utilizados. Veja no quadro abaixo alguns dos smbolos que iremos utilizar:

Smbolos do Fluxograma ou Diagrama de Blocos

TERMINAL Indica o INCIO ou FIM de um processamento

PROCESSAMENTO Processamento em geral

DECISO Indica uma questo ou uma tomada de deciso

EXIBIR Mostra informaes ou resultados

CONECTOR
Faz a ligao entre dois pontos da representao grfica do fluxograma.

CONECTOR DE PGINAS
Faz a ligao entre pginas.

ENTRADA DE DADOS
Indica entrada de dados atravs do Teclado, Mouse, tc

Armazenamento de Acesso direto

Dados Armazenados

PROCESSO PR DEFINIDO Funes ou procedures

RELATRIO

BANCO DE DADOS

Dentro do smbolo sempre ter algo escrito, pois somente os smbolos no nos dizem nada. Veja no exemplo a seguir:

Exemplos de Diagrama de Bloco CHUPAR UMA BALA CALCULAR A MDIA DE 4 NOTAS

Inicio

Inicio

Pega a Bala

P1

Retira o papel

P2

Chupar a bala

P3

Jogar o papel no lixo

P4

Fim

Calcular Mdia=(n1+n2+n3+n4) / 4

Mdia

Fim
Veja que no exemplo da bala seguimos uma seqncia lgica somente com informaes diretas, j no segundo exemplo da mdia utilizamos clculo e exibimos o resultado do mesmo.

3.3 EXERCCIOS
1) Construa um diagrama de blocos que : Leia a cotao do dlar Leia um valor em dlares Converta esse valor para Real Mostre o resultado 2) Desenvolva um diagrama que: Leia 4 (quatro) nmeros Calcule o quadrado para cada um Somem todos e Mostre o resultado 3) Construa um algoritmo para pagamento de comisso de vendedores de peas, levando-se em considerao que sua comisso ser de 5% do total da venda e que voc tem os seguintes dados: Identificao do vendedor Cdigo da pea Preo unitrio da pea Quantidade vendida E depois construa o diagrama de blocos do algoritmo desenvolvido, e por fim faa um teste de mesa.

4 Constantes, Variveis e Tipos de Dados


Variveis e constantes so os elementos bsicos que um programa manipula. Uma varivel um espao reservado na memria do computador para armazenar um tipo de dado determinado. Variveis devem receber nomes para poderem ser referenciadas e modificadas quando necessrio. Um programa deve conter declaraes que especificam de que tipo so as variveis que ele utilizar e as vezes um valor inicial. Tipos podem ser por exemplo: inteiros, reais, caracteres, etc. As expresses combinam variveis e constantes para calcular novos valores.

4.1 Constantes
Constante um determinado valor fixo que no se modifica ao longo do tempo, durante a execuo de um programa. Conforme o seu tipo, a constante classificada como sendo numrica, lgica e literal. Exemplo de constantes: N1 + N2 + N3 3

4.2 Variveis
Varivel a representao simblica dos elementos de um certo conjunto. Cada varivel corresponde a uma posio de memria, cujo contedo pode se alterado ao longo do tempo durante a execuo de um programa. Embora uma varivel possa assumir diferentes valores, ela s pode armazenar um valor a cada instante Exemplos de variveis

Total = Produto * Quantidade VARIVEIS


CONTEDO DA VARIVEL

NOME = "JOSE" IDADE = 50

4.4 Declarao de Variveis


As variveis s podem armazenar valores de um mesmo tipo, de maneira que tambm so classificadas como sendo numricas, lgicas e literais. Vocs sabem que os computadores possuem CPU e memria, certo ? Sim. A CPU (Unidade Central de Processamento) responsvel pelo controle e processamento dos clculos matemticos e das resolues de expresses lgicas. Todavia, os dados que so usados num processamento precisam ser armazenados em algum lugar este lugar a memria principal. Ela funciona como um armrio que guarda nossos pertences. Todavia, como um armrio, no podemos simplesmente ir guardando nossos pertences sem nenhuma arrumao. Para isso, existem caixas na memria (posies de memria), que nos permitem organizar essas informaes. Essas caixas, conceitualmente recebem nomes e so conhecidas como variveis.

Assim, a varivel o local da memria onde guardamos os dados e o nome da varivel um identificador conforme definio anterior.

Exemplos de variveis: SalarioBruto NomeFuncionario

Toda varivel necessita ser declarada, ou seja, reserva-se um local da memria informando que tipo de dados residiro ali. Assim, a sintaxe de declarao de uma varivel : varivel : tipo de dados ou varivel1, varivel2, ..., variveln : tipo de dados Exemplo: Se declararmos as variveis A, B e C da seguinte forma: VARIVEIS A : inteiro; B : caracter; C : lgico; estamos criando reas na memria identificadas por A, B e C, que s podero receber, respectivamente, valores inteiros, alfanumricos e lgicos (Verdadeiro ou Falso).

TIPOS BSICOS DE DADOS


Ao armazenarmos variveis na memria do computador, precisamos dizer que tipo elas so, para que seja reservado o espao adequado, alm de ser dado o trabalho correto a elas. Alm dos tipos bsicos de dados citados abaixo, podemos criar nossos prprios tipos. INTEIRO: qualquer nmero inteiro, negativo, nulo ou positivo Ex.: -15, 0, 101

REAL:

qualquer nmero real, negativo, nulo ou positivo Ex.: -1, -0.5, 0, 5, 9.5

CARACTER:

qualquer conjunto de caracteres alfanumricos Ex.: AB, 123, A123 , CASA

LGICO:

conjunto de valores ( FALSO ou VERDADEIRO )

COMENTRIOS
Comentrios devem ser inseridos no algoritmo a fim de esclarecer o desenvolvimento do mesmo. Os comentrios so inseridos entre { e }. { Texto de comentrio delimitado por chaves }

COMANDO DE ATRIBUIO
Ao criarmos uma varivel, partimos do princpio que em algum momento ou vrios momentos dentro do nosso algoritmo, ela receber valores, ou seja, armazenaremos dados na memria atravs de nossas variveis. Para atribuirmos um valor ou uma expresso a uma varivel, utilizamos o comando de atribuio . Assim, a sintaxe do comando : identificador expresso

Exemplo: Salario 1000 Nome Ana

Você também pode gostar