Escolar Documentos
Profissional Documentos
Cultura Documentos
- 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.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.
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.
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
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:
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
Dados Armazenados
RELATRIO
BANCO DE DADOS
Dentro do smbolo sempre ter algo escrito, pois somente os smbolos no nos dizem nada. Veja no exemplo a seguir:
Inicio
Inicio
Pega a Bala
P1
Retira o papel
P2
Chupar a bala
P3
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.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
Assim, a varivel o local da memria onde guardamos os dados e o nome da varivel um identificador conforme definio anterior.
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).
REAL:
qualquer nmero real, negativo, nulo ou positivo Ex.: -1, -0.5, 0, 5, 9.5
CARACTER:
LGICO:
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