Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Objectivos

1. Levar os académicos a adquirir os conh...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Introdução
Para conceituar, o termo
definido como:

l...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Lógica de Programação
É a técnica de encadear pensame...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Os programas de computadores são nada mais do que alg...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

computadores são máquinas que realizam tarefas de cál...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

É a descrição de um conjunto de comandos que, obedeci...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

independentes das linguagens de programação. Ao contr...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

PROCESSAMENTO: São os procedimentos utilizados para c...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

difícil de se trabalhar. Para contornar esta situação...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Constantes são endereços de memória destinados a arma...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Admite caracteres alfanuméricos. Os números quando
de...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

<

menor

A<B

Verdadeiro se A for menor que B.

>=

...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Estruturas de Controlo
Em Operações Lógicas , na maio...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

(SE

ENTÃO

Sintaxe:

SENÃO) à composta

Se (condição...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Cont ß 0
< estrutura de repetição >
Cont ß Cont + 1
<...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Ate (condição)
A diferença entre a estrutura de repet...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Nome_Da_Matriz : matriz[dimensões] de Tipo da Matriz
...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Exercícios Propostos
1)
Dê o conceito de Lógica, Prog...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Conclusão
Existe a preocupação de fazer uma ligação à...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Terminologia
Código

termo genérico para nomear as in...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Dicas
Tenha Calma. Se você não conseguir de primeira ...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Não Tenha Pressa. O aprendizado é uma estrada longa e...
Introdução à Lógica de Programação I

João Mutepa

Otniel Neto
2010

Bibliografia

Ø FORBELLONE, A. L. V. ; EBERSPACHER, H...
Upcoming SlideShare
Loading in...5
×

Introdução à lógica de programação 1(pdf)

1,442

Published on

Esta apostila visa instruir os conceitos básicos de algoritmos de programação,
familiarizando os académicos com os recursos computacionais na
resolução de problemas reais. A aplicação da
ementa servirá como manual introdutório para as demais disciplinas que levará os académicos a adquirir os conhecimentos que lhes permitam
compreender lógica e rigorosamente os conteúdos de programação.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,442
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
49
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Introdução à lógica de programação 1(pdf)"

  1. 1. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Objectivos 1. Levar os académicos a adquirir os conhecimentos que lhes permitam compreender lógica e rigorosamente os conteúdos de programação. 2. Pretende-se com este fascículo preencher a lacuna existente na formação dos académicos, relativamente à lógica de programação I, pelo facto desta matéria não constar no programa desta cadeira. Assim, o objectivo desta matéria é também familiarizar o académico com a utilização do computador, terminologia correntemente usada nos meios informáticos e, fundamentalmente, introduzir conceitos básicos de programação e algoritmia numa base que achamos correcta, adoptando os académicos a um posterior envolvimento nesta área de desenvolvimento. 3. Instruir os conceitos básicos de algoritmos de programação, familiarizando os académicos com os recursos computacionais na resolução de problemas reais. Com a utilização de pseudocódigos ou português estruturado, aplicar tanto prática como teoricamente, as estruturas básicas de programação de computadores. A aplicação da ementa servirá como manual introdutório para as demais disciplinas que tratarão de análise e desenvolvimento de sistemas computacionais. 4. E por fim, sugerir aos académicos a tomada de iniciativa própria, a criatividade e a pesquisa, itens indispensáveis para o desenvolvimento e capacitação profissional na área de sistemas de informação (ou mais precisamente Ciências da Computação). 1
  2. 2. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Introdução Para conceituar, o termo definido como: lógica em vários dicionários português é Análise do pensamento válido; Encadeamento regular ou coerente das ideias e das coisas; Estudo e determinação dos modos de pensamento discursivo que permitem evitar as contradições e os erros. O objetivo principal da Lógica de Programação é demonstrar técnicas para resolução de problemas e consequentemente automatização de tarefas. O aprendizado da Lógica é essencial para formação de um bom programador, servindo como base para o aprendizado de todas as linguagens de programação, estruturadas ou não. De um modo geral esses conhecimentos serão de supra importância pois ajudarão no cotidiano, desenvolvendo um raciocínio rápido. A logica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, pois ela permite definir a sequência lógica para o desenvolvimento. Em parte do nosso curso iremos aprender a desenvolver algoritmos em uma pseudolinguagem conhecida por VisualG . Para tal é necessário alguns conceitos básicos sobre lógica de programação e algoritmos. 2
  3. 3. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Lógica de Programação É a técnica de encadear pensamentos para atingir determinado objectivo. Estes pensamentos, podem ser descritos como uma sequência de instuções, que devem ser seguidas para se cumprir uma determinada tarefa. Sequência Lógica São passos executados até atingir um objectivo ou solução de um problema. Instruções Na linguagem comum, entende-se por instruções um conjunto de regras ou normas definidas para a realização ou emprego de algo . Em informática, porém, instrução é a informação que indica a um computador uma acção elementar a executar. Convém ressaltar que uma ordem isolada não permite realizar o processo completo, por isto é necessário um conjunto de instruções colocadas em ordem sequencial lógica. Por exemplo, se quisermos fazer uma omolete de batatas precisamos colocar em prática uma série de instruções: Descascar as batatas , bater os ovos , fritar os ovos , etc. É evidente que essas instruções têm que ser executadas em uma ordem adequada não se pode descascar as batatas depois fritá-las. Dessa maneira, uma instrução tomada em separado não tem muito sentido; para obtermos o resultado, precisamos colocar em prática em prática o conjunto de todas as instruções, na ordem correcta. Programa (ou Software) Software, programas de computadores; instruções que fazem com que o hardware as máquinas funcionem. Programa, sinónimo de software, conjunto de instruções que a CPU de um computador executa para obter um determinado resultado. O termo pode referirse ao código fonte original ou à versão executável (em linguagem de máquina) de um componente de software. Quando no formato de código fonte, o programa é geralmente um arquivo de texto contendo as instruções de linguagens de programação de alto nível. 3
  4. 4. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Os programas de computadores são nada mais do que algoritmos escritos numa linguagem de computador no qual são interpretados e executados por uma máquina no caso de um computador. Notemos que em cada esta interpretação rigorosa, um programa é por natureza, muito específico e rígido em relação aos algoritmos da vida real. Programação Para seu Computador funcionar de fato, ou seja, servir à você, precisará de rodar programas que sejam de seu interesse. Quando dizemos rodar estamos utilizando um termo da informática que significa Executar, fazer funcionar um programa ou software. Os softwares permitem o desenvolvimento de programas. Possuem um poder de criação ilimitado, desde jogos, editores de texto, sistemas empresariais até sistemas operacionais. Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas, é necessário que ele seja programado, isto é, que seja transcrito para uma linguagem que o computador possa entender, directa ou indirectamente. Ademais, uma nota importante, a tarefa principal ao escrever um programa de computador para resolver um problema consiste em desenvolver um algoritmo (um procedimento) para produzir a solução do problema. Linguagens de Programação Os processadores têm a capacidade de processar exclusivamente sinais electrónicos binários. Dar uma instrução a um processador significa, na realidade, enviar sequências de números um e zero (1 e 0) espaçados no tempo de uma forma determinada. Essa sequência de sinais é denominada código de máquina. Uma linguagem de programação é um conjunto finito de palavras, comandos e instruções, escritos com o objectivo de orientar a realização de uma tarefa pelo computador. Existe dois tipos de linguagens de programação: Linguagem de alto nível e linguagens de baixo nível. As linguagens de baixo nível (Assembly ou linguagem de máquina) permitem criar programas compactos, rápidos e específicos para cada processador, fazendo um uso eficiente do hardware. Quando se leva o programa a outra máquina, ele deve ser reescrito seguindo o conjunto de instruções disponíveis para aquele novo processador. Geralmente se diz que os 4
  5. 5. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 computadores são máquinas que realizam tarefas de cálculos ou processamento de textos. Entretanto, existe um alto grau de abstracção entre o que se pede ao computador e o que a máquina realmente compreende. Existe também uma relação complexa entre as linguagens de alto nível e o código de máquina. As linguagens de alto nível (ou linguagens de aplicação) são normalmente fáceis de aprender porque estão formadas por elementos de linguagens naturais, como o inglês. Elas fazem com que os comandos binários que devem ser enviados ao processador sejam mais amigáveis e intuitivos, geralmente através do uso de palavras conhecidas, recursos visuais que auxiliam no processo de programação e ferramentas de depuração do código (debugger). A tradução de um código fonte em linguagem de montagem (Assembly) para um código de máquina não executável (módulo de objecto) se realiza por meio de um montador (assembler). A tradução das instruções de linguagens de alto nível (o código-fonte de linguagens como Pascal, C, COBOL ou FORTRAN) para um módulo de objecto não é complicada e se realiza normalmente por um programa especial chamado compilador. Os módulos de objectos gerados a partir de compiladores ou montadores são transformados em um programa efectivamente executável através de um utilitário chamado linker (ligador), que é responsável pelo carregamento do código na memória principal (RAM) e pelo tratamento das referências de endereçamento. Algumas linguagens de alto nível, como o Basic e o dBase, não geram módulo de objecto. Elas são interpretadas no momento da execução do programa, traduzindo cada instrução individualmente antes de executá-la. Assim, qualquer linguagem de programação deve estar situada entre dois extremos: o da linguagem natural do homem (muito clara, porém lenta) e o da linguagem de máquina (muito rápida, porém complexa). Exemplos: Pascal, C, COBOL, C++, FORTRAN, ASP, PHP, Phyton, C#, SQL, JSP, XML, XSL, XML, HTML, Visual C++, Java Script, Delphi, J pascal, Visual Basic, Java, e entre outras. Algoritmo Em ciências da computação houve um processo de desenvolvimento simultâneo e interactivo de máquinas (hardware) e dos elementos que gerenciam a execução automática (software) de uma dada tarefa. E essa descrição da execução de uma tarefa, como considerada acima, é chamada algoritmo. 5
  6. 6. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 É a descrição de um conjunto de comandos que, obedecidos, resultam numa sucessão finita de acções. Existem, porém, várias definições para algoritmos, contudo cabe a cada académico averiguar qual a que mais se adequa ao seu entendimento lógico das coisas. · Um algoritmo é uma sequência de instruções ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema. · Um algoritmo é também um conjunto finito de instruções que podem ser executadas mecanicamente em um tempo finito de modo a resolver um problema. · Um algoritmo é formalmente uma sequência finita de passos que levam a execução de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequência de instruções que dão cabo de uma meta específica. Estas tarefas não podem ser redundantes nem subjectivas, sua definição deve ser clara e objectiva. Como exemplo de algoritmos podemos citar os algoritmos das operações básicas (adição, multiplicação, divisão e subtracção) de números reais decimais. Outros exemplos seriam os manuais de aparelhos electrónicos, como uma impressora, que explicam passo-a-passo como por exemplo instalar ou ligar. Exemplo de algoritmo: Ler dois valores; Efectuar a soma destes valores; Apresentar o resultado. Escreva o primeiro número no rectângulo A; Escreva o segundo número no rectângulo B; Some o número do rectângulo A com número do rectângulo B e coloque o resultado no rectângulo C. Rectângulo A Rectângulo B + Rectâng. C (resultado) = Pseudocódigo Os algoritmos são descritos em uma linguagem chamada pseudocódigo. Este nome é uma alusão à posterior implementação em uma linguagem de programação, ou seja, quando formos programar em uma linguagem, por exemplo Java, estaremos gerando código em Java. Por isso os algoritmos são 6
  7. 7. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 independentes das linguagens de programação. Ao contrário de uma linguagem de programação não existe um formalismo rígido de como deve ser escrito o algoritmo. Antes de utilizarmos uma linguagem de computador, é necessário organizar as acções a serem tomadas pela máquina de forma organizada e lógica, sem nos atermos as regras rígidas da Sintaxe de uma linguagem. Para isto utilizaremos uma forma de escrever tais acções, conhecida como algoritmo, ou pseudocódigo como vimos acima. O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação. Etapas de um algoritmo (IMPORTANTE) Quando temos um problema e queremos utilizar o computador para resolvelo, (ou seja, ao criarmos um algoritmo) temos que passar pelas seguintes fases: a) Interpretar o problema; b) Realizar um estudo de situação actual e verificar quais formas de resolver o problema; c) Utilizar uma linguagem de programação para escrever o programa que a princípio deverá resolver o problema; d) Analisar junto aos usuários se o problema foi resolvido. Se não, retornar para a fase de estudo e descobrir onde está a falha. Comandos de Entrada e Saída O computador não é uma máquina isolada pois ela precisa se comunicar com o mundo exterior como vídeo, impressoras, teclado, discos, fitas, etc. Para realizar esta comunicação existem comandos que permitem que as informações sejam inseridas e exibidas. Um comando de entrada serve para que o programa solicite dados no momento em que o mesmo está sendo executado. Esses dados fornecidos serão armazenados em variáveis na memória. Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais: Entrada Processamento ENTRADA: São os dados de entrada do algoritmo. 7 Saída
  8. 8. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final. SAÍDA: São os dados já processados. Os comandos que iremos estudar são: Ø LEIA: é um comando de entrada. Utiliza-se o leia para ler (ou receber) um valor do teclado. Sintaxe: Leia ( variável ) ou Leia ( variável-1,variavel-2,variável-3, ,variável-n ) Ø ESCREVA: é um comando de saída. Utiliza-se o escreva para imprimir (ou mostrar) um valor no ecrã. Sintaxe: Escreva ( Aqui vem o que você quiser escrever ) ou Escreva ( Comentário , variável) Estrutura de um algoritmo Algoritmo < nome_do_algoritmo > Constantes Variáveis Inicio < Corpo do algoritmo > Fim Variáveis e Constantes Variáveis são endereços de memória destinados a armazenar informações temporariamente. Não entendeu??? São unidades básicas de armazenamento das informações a nível de linguagens de programação. E agora? Mais ou menus? Ora vejamos! Para armazenar os dados na memória, imagine que a memória de um computador é um grande arquivo com várias gavetas, onde cada gaveta pode armazenar apenas um único dado (seja numérico, caractere ou lógico). Se é um grande arquivo com várias gavetas é necessário identificar com um nome a gaveta que se pretende utilizar. Assim o valor armazenado pode ser utilizado a qualquer momento. Variável: tudo aquilo que é sujeito a variações, que é incerto ou instável. O acesso à informação na memória é bastante ilegível e 8
  9. 9. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 difícil de se trabalhar. Para contornar esta situação criou-se o conceito de variável como entidade distinta a guardar uma informação. Elas armazenam informações fornecidas por um meio externo (dispositivos de entrada). Em geral a unidade de entrada é o teclado. Ok! Agora Sim!!! Todo Algoritmo ou programa deve possuir variável! Toda variável é identificada por um nome ou identificador. Assim, por exemplo, num algoritmo para calcular a área de um triângulo rectângulo pelo teorema de Pitágoras (a2 = b2 + c2), os identificadores A, B e C podem representar as posições de memória que armazenam o valor da hipotenusa e dos catetos. É importante que nunca usemos uma palavra reservada, isto é, que faça parte da linguagem algorítmica, como um identificador, pois poderá causar ambiguidade no entendimento do algoritmo. Exemplo: 5 A B 4 C= A+B 9 Basicamente uma variável possui três atributos: Um nome, Um tipo de dado associado a mesma e a informação por ela guardada. Nome: tem a função de identificar e diferenciar das demais. Deve necessariamente começar com uma letra. Não deve conter nenhum símbolo especial excepto ( _ ). Só pode conter 127 caracteres e não pode ter espaços em branco Tipo de dado: (Numérico, Caractere ou Lógico) valor que ela pode armazenar. Informação: o que está contido na variável. Sintaxe: Var < nome_da_variavel > : < tipo_da_variavel > Var < lista_de_variaveis > : < tipo_das_variaveis > A palavra VAR (abreviatura de variável) deve estar sempre presente e só será usada uma única vez na declaração de um conjunto de uma ou mais variáveis. 9
  10. 10. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Constantes são endereços de memória destinados a armazenar informações fixas, inalteráveis durante a execução do programa. Exemplo: PI = 3,1415926535897932384626433832795 Nome_da_empresa = OM2006 Operação de Atribuição Quando definimos uma variável é natural atribuirmos a ela uma informação. Uma das formas de colocar um valor dentro de uma variável, consequentemente colocado este dado na memoria do computador, é através da atribuição directa do valor desejado que a variável armazena. A operação de atribuição permite que se forneça um valor a uma certa variável. Se for atribuído uma expressão à variável, será armazenado o resultado daquela expressão. Se for atribuído uma outra variável, será armazenado o conteúdo daquela variável. Para isso utilizaremos o símbolo (ß), que significa recebe, ou seja, a variável receberá uma informação que será armazenada no interior desta variável. sintaxe: variável ß expressão (ou valor) Exemplos: Aß2 NOME ß 'João' AßB+C BßA SENHA ß 'X3Y9' NOTA ß NOTA - 1 NOTA ß 10 Cß1/3 X ß 2.5 Tipos de Variáveis No momento em que trabalhamos com algoritmos e variáveis, devemos obrigatoriamente indicar o tipo de informação que esta variável ira conter, isto é, se uma dada posição de memória armazenará um número ou uma letra. Para isso temos alguns tipos de variáveis: Inteiro (int) Real (float) Admite somente números inteiros. Geralmente e utilizado para representar uma contagem(Quantidade). Admite números reais (com ou sem casas decimais). Geralmente e utilizado para representar uma medição. 10
  11. 11. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Admite caracteres alfanuméricos. Os números quando declarados como caracteres tornam se representativos e perdem a atribuição de valor. Admite somente valores lógicos(verdadeiro/falso). Caractere (char) Lógico (bool) Operadores Na programação existe três tipos de operadores: Aritméticos Relacionais e Lógicos Os operadores aritméticos são aplicados ao tipo de dado inteiro ( int e real ), os operadores relacionais e lógicos são aplicados ao tipo de dado booleana ( bool ). Operadores Aritméticos Operador Operação Operandos Resultado + Adição A+B Soma de A e B - Subtracção A-B Subtracção de A e B * Multiplicação A*B Multiplicação de A por B / Divisão Real A/B Divisão de A por B A MOD B Modulo de A por B % (MOD) Resto da Divisão DIV Divisão Inteira A DIV B Divisão de A por B ** Exponenciação A**B A de expoente B Operadores Relacionais Operador Operação Operandos = igual A=B Verdadeiro se A for igual a B. > maior A>B Verdadeiro se A for maior que B. 11 Resultado
  12. 12. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 < menor A<B Verdadeiro se A for menor que B. >= maior ou igual A>=B Verdadeiro se A for maior ou igual que B. <= menor ou igual A<=B Verdadeiro se A for menor ou igual que B. <> diferente A<>B Verdadeiro se A for diferente de B. Operadores Lógicos Operador Operação Operandos Not (Nao) Negação Não A Verdadeiro se A for falso e falso se o contrario And (e) Conjunção AeB Verdadeiro se ambos forem verdadeiros. Or (ou) Disjunção A ou B Verdadeiro se pelo menos um for verdadeiro Funções Pré-definidas ABS(x) - VALOR ABSOLUTO SQRT(x) - RAIZ QUADRADA SQR(x) - ELEVA AO QUADRADO ROUND(x) - VALOR ARREDONDADO LOG(x) - LOGARITMO SIN(x) [ou SEN(x) ]- SENO COS(x) - COSSENO TAN(x) TANGENTE 12 Resultado
  13. 13. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Estruturas de Controlo Em Operações Lógicas , na maioria das vezes necessitamos controlar e tomar decisões no andamento do algoritmo. Essas decisões interferem directamente no andamento do programa. Analisaremos dois tipos de estruturas. A estrutura de Decisão e a estrutura de Repetição. Decisão - Se então senão - Caso faça Repetição - Repetir até - Enquanto faça - Para/desde faça E.C. Estruturas de Decisão A todo momento tomamos decisões em uma situação. Em algoritmo chamamos esta situação de condição. Associando a uma condição existirá uma alternativa possível de acções. Exemplo: Se tiver que namorar vou escolher um(a) garoto(a) bonito(a) e inteligente . Nesta condição a pergunta é tenho de namorar? R: Sim ou Não. Lembrese, então em algoritmo toda condição tem de ser lógica (verdadeira ou falsa). Se a condição for verdadeira irá executar o procedimento. Senão, não executa nada. Portanto, as estruturas de decisão são utilizadas para tomar uma decisão baseada no resultado da avaliação de uma condição de controlo e seleccionar uma ou mais acções possíveis (comandos a serem executados pelo computador). (SE ENTÃO Sintaxe: SENÃO) à simples Se (condição) então [Comandos] Fimse 13
  14. 14. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 (SE ENTÃO Sintaxe: SENÃO) à composta Se (condição) então [Comando1] se for verdadeira [Comando2] se for falsa Senão Fimse (Caso faça ou Escolha caso) É utilizada quando se deseja executar dentre vários comandos (ou uma entre várias sequências de comandos) dependendo do resultado de uma expressão. Sintaxe: Escolha variável Caso <expressão> faça <lista_de_comandos1> Caso não seja <lista_de_comandos2> FimEscolha Estruturas de Repetição São muitas vezes chamadas de Laços ou Loops. São comuns as situações em que se deseja repetir um determinado trecho de um programa um certo número de vezes. A classificação das estruturas de repetição é feito de acordo com o conhecimento prévio do número de vezes que o conjunto de comandos será executado. Elas permitem que uma sequencia de instruções sejam executadas repetidamente enquanto uma determinada condição seja satisfeita. As condições devem ser lógicas. Na estrutura de repetição usa-se geralmente dois tipos de variáveis para resolução de diversos tipos de problemas: Ø Variáveis Contadoras: é uma variável que recebe inicialmente um valor igual a zero (0) antes do inicio da estrutura de repetição e é incrementada no interior da no interior da estrutura de um valor constante. 14
  15. 15. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Cont ß 0 < estrutura de repetição > Cont ß Cont + 1 < fim_da_estrutura_de_repetição > Ø Varáveis Acumuladoras: vai fazendo o mesmo que a contadora, só que acumula uma execução dentro da estrutura de repetição. Soma ß 0 < estrutura de repetição > Soma ß Soma + 1 < fim_da_estrutura_de_repetição > Existem três (3) estruturas de repetição: 1. Enquanto faça 2. Repita até 3. Para faça (ENQUANTO à com teste no inicio à com teste no fim à automático FAÇA) É usada em dois casos, quando sabemos o número de vezes que queremos repetir e quando não sabemos. Esta estrutura de controlo permite que um conjunto de instruções sejam executados repetidamente, enquanto uma condição seja verdadeira. Sintaxe: Enquanto (condição) faça Corpo do ciclo Fimenquanto (REPITA ATÉ) É utilizada quando não se sabe n número de vezes que um trecho do algoritmo deve ser repetido, embora também possa ser usada quando se sabe o número de vezes a ser repetido. Esta estrutura de controlo permite que um conjunto de instruções sejam executados repetidamente até que uma condição de controlo seja falsa. Sintaxe: Repita Corpo do cliclo 15
  16. 16. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Ate (condição) A diferença entre a estrutura de repetição enquanto e a repita é que na repita os comandos serão repetidos pelo menos uma vez já que a condição se encontra no fim. (PARA FAÇA) É usada quando num algoritmo ou num programa nós sabemos o número de vezes que certa instrução deve repetir. Esta estrutura de controlo permite que um conjunto de instruções sejam executados repetidamente num número específico de vezes. Sintaxe: para VCßVI ate VF passo I/D faça ou seja: para variável controlo ß valor inicial ate valor final passo incremento/decremento faça OBS: Quando o número (passo) anda 1 à 1 então o passo é ignorado (ocultado). Quando não é então o passo é apresentado. Vectores Estrutura formada por um conjunto unidimensional de dados de mesmo tipo (homogéneo) e possuindo número fixo de elementos (Estático). Na declaração dos vectores devemos informar o seu nome, seu tipo (inteiro, real, caractere, ...), e seu tamanho (número de elementos). Cada elemento do vector é identificado por um índice (unidimensional), o qual indica a sua posição no vector. Declaração : Nome_Do_Vector : vector[nº de elementos] de Tipo do Vector Referência : Nome_Do_Vector[índice] Matrizes Estrutura semelhante ao vector, sendo que, pode possuir n dimensões. Uma matriz nos possibilita o armazenamento de vários valores em uma única variável. Isso porque ele possui níveis dentro dela. Desta forma para fazer referência aos elementos de uma matriz, precisaremos de tantos índices quanto for suas dimensões. Declaração : 16
  17. 17. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Nome_Da_Matriz : matriz[dimensões] de Tipo da Matriz Referência : Nome_Da_Matriz[índices] Modularização A modularização consiste num método para facilitar a construção de grandes programas, através de sua divisão em pequenas etapas, que são : módulos, rotinas, subrotinas ou subprogramas. Permitindo o reaproveitamento de código, já que podemos utilizar um módulo quantas vezes for necessário, eliminando assim a necessidade de escrever o mesmo código em situações repetitivas. OBS: As variáveis passadas aos procedimentos são associadas aos parâmetros do procedimento de acordo com a ordem das variáveis e da lista de parâmetros. 17
  18. 18. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Exercícios Propostos 1) Dê o conceito de Lógica, Programação, algoritmo e variável. 2) Defina por suas palavras os termos: Programa, Linguagem de Programação e Compilador. 3) Qual é a diferença entre linguagem de baixo nível e linguagem de alto nível? 4) Exemplifique o uso da operação de Atribuição. 5) Qual a finalidade de uma operação de entrada ? Dê exemplos. 6) Explique a utilidade da estrutura de decisão e a estrutura de repetição. 7) Qual é a diferença entre o enquanto faça e o repita até? 8) Em que situações é mais indicado o uso da estrutura para faça? 9) Em que situações não podemos utilizar a estrutura para faça? 10) Qual a finalidade de uma operação de saída? Dê exemplos. 11) Escreva os comandos necessários para: a) Exibir o teu nome no ecrã; b) ler o nome de uma pessoa; c) ler as 3 notas de um aluno; d) ler o peso e altura de uma pessoa. 12) Crie um algoritmo que faça alguma coisa. 13) Escreva um algoritmo que leia dois números e mostre a soma, a subtracção, a divisão e o produto. 14) Faça um algoritmo que leia um numero e calcule o seu sucessor e o seu antecessor. 15) Ler um número real e imprimir a terça parte deste número. 16) Elabora um algoritmo que leia dois números e exiba o maior e o menor entre eles. 17) Faça um algoritmo que receba um valor inteiro e determine se ele é par ou ímpar. 18) Faça um programa que leia dois números e mostre-os em ordem crescente. 19) Elaborar um algoritmo que dado a idade de duas pessoas que nasceram em 2005, saber quantos anos terão em 2025, para a segunda idade aumentar 10% da idade do primeiro. 20) Elabore um algoritmo que mostre a tabuada de um número qualquer digitado pelo usuário. 18
  19. 19. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Conclusão Existe a preocupação de fazer uma ligação à algoritmia e programação em sintonia com a cadeira de Introdução à informática. Esperamos com esta orientação contribuir para uma apresentação mais atractiva da matéria, sem, contudo, diminuir o rigor lógico do raciocínio e da disposição. 19
  20. 20. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Terminologia Código termo genérico para nomear as instruções de um programa. Codificação conjunto de técnicas que tentam tornar inacessível a informação a pessoas não autorizadas. Programação é o acto de dar instruções ao computador de modo que ele realize operações desejadas. Programar é a arte de dar instruções ao computador de modo que ele reage a estas mesmas instruções. Interpretador é um programa desenvolvido para executar programas de linguagens de alto nível. Compilador é o elemento que serve de tradutor da linguagem corrente para linguagem máquina. Sintaxe é a forma como os comandos devem ser escritos, a fim de que possam ser entendidos pelo tradutor do programa. Programa fonte programação. é o programa original escrito numa linguagem de Código fonte instruções de programa legíveis pelo programador e escritas em linguagem assembler ou de alto nível. Programa objecto é o resultado da compilação de um programa fonte (no caso de utilizar um computador). Código objecto código gerado por um compilador traduzido a partir do código fonte de um programa. Funções uma função é semelhante a um procedimento, sendo que esta deve retornar, obrigatoriamente, um valor em seu nome, desta forma, é necessário declarar, no cabeçalho da função, qual o seu tipo. Procedimentos um procedimento é um bloco de código precedido de um cabeçalho que contém o Nome do procedimento e seus parâmetros. Com isto, podemos fazer referência ao bloco de código de qualquer ponto do algoritmo através do seu nome e passando os seus parâmetros. 20
  21. 21. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Dicas Tenha Calma. Se você não conseguir de primeira não é motivo para já ir desistindo e passando a bola para o pessoal do fórum ou lista de discussão. Se você não perseverar, o lado negro da força dominará você e a mediocridade eterna será a sua recompensa profissional. Programação exige, entre outras coisas, muita perseverança. O Passo Maior que a Perna. Se você não se garante em alguma coisa é porque ainda falta para você chegar lá. Tente começar pelo começo. De que adianta você fazer um programa usando código que te foi passado e você não entender de como ele funciona? O bom programador é aquele que tem uma boa base, que conhece e domina o básico da linguagem e cultiva uma boa lógica, o resto vem com o tempo e a necessidade. Seja Humilde. A humildade é um factor crucial em qualquer profissão. Cultive-a, ela pode te ensinar muito, tanto no trabalho como na vida. Ninguém aqui precisa ser monge para cultivar a humildade, cultive-a pelo prazer de ser verdadeiro nas suas acções e honesto na sua profissão. Seja Independente. Não fique esperando a ajuda de todos para realizar o que você quer. A tarefa tem que ser a sua principal motivação. Além do mais cada vez que alguém te entrega uma solução mastigada você deixa de aprender com o processo. Bom Senso é Tudo! Sem bom senso você está perdido, pode considerar isso a pura verdade. Diante de uma situação complexa e aparentemente sem saída, pare, relaxe e use o seu bom senso, escute os seus neurónios. Lembre-se que mesmo depois de ter seguido este conselho e o problema continuar lá não quer dizer que ele é insolúvel. Nada é Impossível. Embora algumas coisas são quase. Pense que tem gente fazendo aqueles jogos 3D e portanto se aquilo é possível sua tarefa também deve ser. O importante é perseverar e manter uma atitude positiva diante da tarefa, não encare a tarefa como inimiga e sim como uma amiga que não fala a sua língua. Nunca Pare de Aprender. Se um dia você se cansar de aprender novas tecnologias em desenvolvimento, siga meu conselho: Mude de profissão. É exactamente o que eu vou fazer. Tenha Curiosidade. Procure, pesquise e corra atrás. Isso ensina mais que muitos cursos por aí. A máquina é o computador e não você, portanto não se torne um autómato que apenas faz o necessário e apenas sabe o suficiente. 21
  22. 22. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Não Tenha Pressa. O aprendizado é uma estrada longa e cheia de obstáculos, que começa no primeiro passo e termina quando você a abandona. Aprenda a separar pressa, de que adianta entregar no prazo se está mal feito. O velho ditado vale: "A pressa é inimiga da perfeição". Fale Connosco. Para casos de dúvidas, críticas ou sugestões estamos eventualmente dispostos a colaborar, basta contactar-nos na F.C. ou enviar para os nossos correios electrónicos citados abaixo: ü mutepa_2006@hotmail.com.pt ü hotyboy_h@hotmail.com àMutepa àOtniel Ajude-nos a melhorar!!! [ O HOMEM NÃO PRECISA DA SORTE PARA TER INTELIGENCIA MAS DA INTELIGÊNCIA PARA TER SORTE ] [ NÃO POSSO PROVAR IMPIRICAMENTE QUE OS ALGORITMOS ESTÃO CERTOS COMO NÃO PODEM ME PROVAR IMPIRICAMENTE QUE ESTOU ERRADO. ] 22
  23. 23. Introdução à Lógica de Programação I João Mutepa Otniel Neto 2010 Bibliografia Ø FORBELLONE, A. L. V. ; EBERSPACHER, H. F. Lógica de programação. 2.ed. São Paulo: Makron Books, 2000. Ø MANZANO, J.A.N.G. ; YAMATUMI, W. Y. Estudo dirigido de algoritmos. São Paulo:Érica, 1997. Ø Livro Informática - O Computador trabalha p/você CURSOR INFORMÁTICA. Ø Apostila Algoritmos JEDEAN CARLOS BENDLIN, 2008. Ø Apostila Lógica de Programação (CAP-Criação de Algoritmos e Aprogramas) RENATO DA COSTA, 2007. Ø Curso Básico de Lógica de Programação PAULO SÉRGIO DE MORAES. Ø Apostila Como escrever programas melhores Traduzido por Walter Staeblein. Autor Desconhecido Ø Enciclopédia Microsoft® Encarta®. © 1993-2007 Microsoft Corporation. 23

×