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.
Dicas importantes para escrever resumo de trabalho
Introdução à lógica de programação 1(pdf)
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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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