Vous êtes sur la page 1sur 53

Curso Profissional

Técnico de Informática de Gestão

Lingua gens de
Pr og r amação

Módulo I - Algoritmia
1. Introdução á Lógica de
Programação
Prof. - Fernando Freixo
Lógi ca

• Para criarmos programas precisamos da lógica.


Mas, o que é lógica?
 Em termos usuais – falamos de lógica no nosso
dia-a-dia:
 Eu sabia que isso aconteceria. Era lógico!
Lógica é a forma de ordenar os pensamentos para
 Aum
solucionar lógica do seu ou
problema raciocínio
executaré uma
estranha.
tarefa.
Ex.:
João é pai de Mariana;
Pedro é pai de João;
Portanto, Pedro é avô de Mariana
Lógica

Lógica de programação é
Sequência Lógica
a técnica de encadear
pensamentos para atingir Sequência Lógica são

determinado objectivo. passos executados até


atingir um objectivo ou
solução de um
problema.
A lógica de programação é necessária para pessoas
que desejam trabalhar com desenvolvimento de
sistemas e programas, ela permite definir a
sequência lógica para o desenvolvimento.
Lógi ca de programação

 É o acto de programar o computador para que

ele cumpra determinada tarefa;


 É necessário assim usar a lógica, ou seja,

ordenar os pensamentos e identificar os

passos para a solução do problema que será

realizado pela máquina.


Instruções
Instruções são um conjunto de regras ou normas
definidas para a realização ou emprego de algo. Em
informática, é o que indica a um computador uma
acção elementar a executar.
Por exemplo, se quisermos fazer uma omelete de
batatas, temos que colocar em prática uma série de
instruções:
descascar as batatas, bater os ovos, fritar as batatas, etc...

 Essas instruções tem que ser executadas em uma


ordem adequada; não se pode descascar as batatas
depois de fritá-las.
 Uma instrução tomada em separado não tem muito
sentido; para obtermos o resultado, precisamos
colocar em prática o conjunto de todas as
Algoritmo

 Um algoritmo é uma sequência ordenada e precisa

de passos, acções ou operações, que conduzem à

solução de um dado problema.

 Em informática, a formulação de um algoritmo não

é mais do que a descrição, de forma ordenada,

com clareza e rigor, das operações que se

pretende realizar em computador para resolver


Algoritmo

• Algoritmos: São uma sequência de instruções bem


definidas que, executadas passo a passo, permitem
a solução de um problema.
 Passo-a-passo, significa que cada passo é
completado antes que o próximo comece. Ex.: é
impossível “ver televisão” antes de executar por
inteiro o passo anterior de “ligar a TV”;
 Bem-definido, significa que cada passo é
completamente definido a partir da entrada
Algoritmo

Exemplos de algoritmos não computacionais:

“Somar dois números


“Chupar um quaisquer”:
rebuçado”: • Escreva o primeiro
• Pegar no
número no rectângulo A
rebuçado • Escreva o segundo
• Retirar o
número no rectângulo B
papel • Somar o número do
• Chupar o
rectângulo A com o
rebuçado número do rectângulo B

Exemplo genérico de algoritmo: Receita de bolo

Algoritmo:
1) Bater duas claras em castelo;
2) Adicionar duas gemas;
3) Adicionar uma chávena de açúcar;
4) Adicionar duas colheres de
manteiga;
5) Adicionar uma chávena de leite de
coco;
Por que é tão importante aprender a
construir algoritmos?
Porque o algoritmo é a forma de transição entre o
problema do mundo real e a solução sob a forma
de programa de computador em uma linguagem
qualquer.
Programas

 Os programas de computadores nada mais são do


que algoritmos escritos numa linguagem de
computador (Pascal, C, Cobol, Fortran, Visual Basic
entre outras) e que são interpretados e executados
por uma máquina, no caso um computador.
 Um programa é por natureza muito específico e
rígido em relação aos algoritmos da vida real.
Programas

Programa - é um conjunto de instruções “frases”

com uma sequência lógica e previamente

estabelecida que permite a execução de tarefas pelo

computador.

Ou seja, um programa é a tradução de uma solução

de um problema na forma de um algoritmo, tendo em


Algoritmo não é a solução de um problema, pois, se
assim fosse, cada problema teria um único algoritmo.
Algoritmo é um caminho para a solução de um
problema, e em geral, os caminhos que levam a uma
solução são muitos.
Algoritmos não se aprendem: Algoritmos só se
• Copiando Algoritmos aprendem:
• Estudando Algoritmos • Construindo
Algoritmos
• Testando
Algoritmos
Aprender algoritmos não se consegue a não
ser através de muitos exercícios.
Activid ade d e p rogramação

• A actividade de programação compreende os


seguintes passos:
 Descrever o problema de forma clara e precisa:
 Especificação de qual é o problema;
 Requerimentos;
 Pressuposições assumidas;
 Descobrir uma solução que resolva o problema;
 Escrever a solução em uma linguagem de
computador:
Implementação na linguagem adequada;

Exercício
s

• Faça um algoritmo para somar dois números e


multiplicar o resultado pelo primeiro número.
• Crie uma sequência lógica para tomar banho.
• Descreva com detalhes a sequência lógica
para trocar um pneu de um carro.
• Faça um algoritmo detalhado para trocar uma
lâmpada.
De se nvolv endo
alg orit mo s
Regras para construção de
Algoritmos

• Usar somente um verbo por frase.

• Imaginar que se está a desenvolver um


algoritmo para pessoas que não trabalham
com informática.
• Usar frases curtas e simples.

• Ser objectivo.

• Procurar usar palavras que não tenham


sentido duvidoso.
Fases
 Vimos que ALGORITMO é uma sequência lógica de
instruções que podem ser executadas.
 Entretanto ao montar um algoritmo, precisamos
primeiro dividir o problema apresentado em três
fases fundamentais.
• ENTRADA: São os dados de entrada do
algoritmo.
• PROCESSAMENTO: São os procedimentos
utilizados para chegar ao resultado final.
• SAÍDA: São os dados já processados.
ENTRADA PROCESSAMENTO SAÍDA
Exempl o de Algori tmo

Imagine o seguinte problema: Calcular a média final


dos alunos. Os alunos realizarão 3 provas: P1, P2 e P3.
Onde: Média Final = (P1+P2+P3)/3
Para montar o algoritmo proposto, faremos três
perguntas:
a) Quais são os dados de entrada?
R: Os dados de entrada são P1, P2 e P3
b) Qual será o processamento a ser utilizado?
R: O procedimento será somar todos os dados de
entrada e dividi-los por 3: (P1 + P2 + P3)/3
c) Quais serão os dados de saída?
Algoritmo: Calcular Média
do aluno

Receber a nota da prova1

Receber a nota de prova2

Receber a nota de prova3

Somar todas as notas e dividir o

resultado por 3

Mostrar o resultado da divisão


Teste do
Al goritmo
Após desenvolver um algoritmo ele deverá sempre
ser testado. Deve-se seguir as instruções do
algoritmo de maneira precisa para verificar se o
procedimento utilizado está correcto ou não.
Exemplo:
Nota da Prova 1
Nota da Prova 2
Nota da Prova 3
Utilizar a tabela abaixo:

P1 P2 P3 Média
Exercí cio s

• Identifique os dados de entrada,


processamento e saída no algoritmo
seguinte
• Receba código do produto
• Receba valor do produto (valor
unitário)
• Receba quantidade do produto
• Calcule o valor total (Quantidade *
Valor do produto)
• Mostre o código do produto e o valor
total
• Teste o algoritmo anterior com dados à
sua escolha.
For mas de A pr esent ação dos
Al goritm os par a Computador
Pseudocódi g
o
• Os algoritmos podem ser descritos em uma
linguagem chamada pseudocódigo.
• Os algoritmos são 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.
• O algoritmo deve ser fácil de se interpretar e fácil
de codificar.
• O algoritmo deve ser o intermediário entre a
linguagem falada e a linguagem de programação.
• A pseudolinguagem pode ser visto como a
tentativa de fundir a expressividade da linguagem
natural e o rigor lógico de esquemas como o
fluxograma.
Exemplo de
pseudocódigo

Algoritmo circunferência
[Este algoritmo dá as características de uma circunferência]
Dados
raio: inteiro
área, perímetro: reais
PI  3,14159
Início
Ler (raio)
área  PI x raio2
perímetro  2 x PI x raio
Escrever (área, perímetro)
Fim
Pseudocódi g
o
Num algoritmo, podemos definir três secções:

Cabeçalho
• É dado o nome ao algoritmo. Começa com a palavra
"Algoritmo".
Declarações
• Descrição das variáveis usadas.
Corpo
• Contém a sequência dos passos (acções) do algoritmo.
Inicia-se com a palavra "Início“ e termina com "Fim".
Comentários
• Cada passo do algoritmo pode iniciar com um comentário
entre dois parênteses rectos. Estes comentários dão uma
breve descrição do passo ou dum grupo de passos
seguintes.
Fl uxogra ma
s
• É uma forma padronizada e eficaz para representar
os passos lógicos de um determinado
processamento.
• Define uma sequência de símbolos, com significado
bem definido.
• Sua principal função é a de facilitar a visualização
dos passos de um processamento.
• Actualmente, a sua utilização restringe-se a um apoio
complementar na documentação do algoritmo,
Al guns S ím bol os Usados na
constru ção de Fl uxogramas

Processamento em geral (ex. soma de dois núme

Leitura/Escrita de dados (escrever a nota da prov

Início/Fim de processamento (ex. inicio do algorit


Conector de fluxos (Ligação entre partes do fluxo
Decisão condicional

Escolha múltipla

Subprograma
Linha de fluxo
Exemplo de Fluxograma
Início

Ler valor 1
Algoritmo Comparar
Dados
valor1, valor2: Inteiros
Ler valor 2
frase: Caracteres
Início
Ler (valor1, valor2)
Se valor1 > valor2 então
Valor 1 > Valor 2 No Valor 1 < Valor 2 No

frase  “valor1 é maior”


Yes Yes
Senão
Se valor1 < valor2 então
Escrever valor Escrever valor Escrever
1 é maior 2 é maior valores iguais

frase  “valor2 é
maior””
Senão
Rotina Adeus frase  “valores
iguais”
Fim se
Fim
Fim se
Escrever (frase)
Abordagem E str utura da e
Concepção Top-D own

• Numa linguagem estruturada como por ex. o Pascal


distingue-se a parte onde são declarados os dados e
o corpo com as instruções do programa – parte
declarativa e parte operativa.
• A abordagem top-down procura identificar os pontos
essenciais da questão; parte-se dos pontos mais
gerais para os seus componentes mais particulares,
em níveis sucessivos mais concretos, até ao nível de
pormenor desejado.
Elem entos Fundamentai s de
Pr og r amação
Tipos d e D ados : Const antes e
Variá ve is
• Os dados são classificados quanto ao tipo ou
natureza da informação de que são base.
• Os dados num programa podem ser utilizados sob a
forma de constantes ou variáveis:
• Variáveis e constantes são os elementos básicos que
um programa manipula.
• Uma variável é um espaço reservado na memória do
computador para armazenar um tipo de dado
determinado.
Tip os d e D ados : C onst antes e
Variáveis

• Em programação, as constantes podem ser

escritas sob a forma de dados directos ou de

identificadores.

• As variáveis, por sua vez, são sempre associadas

a identificadores.

• Identificadores – são nomes que se atribuem a

variáveis, constantes ou outros elementos com


Tip os d e D ados : C onst antes e
Variáveis

Identificador Dado
Nome Bernardo
Nome Gonçalo

Idade 17
Idade 16

Bernardo e Gonçalo constituem um pequeno


grupo de dados cujo identificador é nome. Do
mesmo modo, 17 e 16 constituem um outro
grupo de dados cujo identificador é a idade.
Constante
s

• Constante é um determinado valor fixo que não se

modifica ao longo do tempo, durante a execução de

um programa.

• Conforme o seu tipo, a constante é classificada

como sendo numérica, lógica e literal (caracteres).


Vari áve i
s

• Variável é a representação simbólica dos


elementos de um certo conjunto.
• Cada variável corresponde a uma posição de
memória, cujo conteúdo pode ser alterado ao
longo do tempo durante a execução de um
programa.
• Embora uma variável possa assumir diferentes
valores, ela só pode armazenar um valor a
cada instante.
Ti pos de
Dados
• Em programação consideram-se os seguintes
TIPOS DE DADOS:
Tipos de dados
inteiro
Numérico
real
Simples
Caracteres
Lógicos (Booleanos)
Cadeias de caracteres ( string)
Vectores (array)
Registo (record)
Estruturados
Conjunto (set)
Ficheiro (file)
Ti pos de D ado s
• Numéricos: específicos para armazenar números,
que posteriormente poderão ser utilizados para
cálculos. Podem ser ainda classificadas como Inteiras
ou Reais.
• As variáveis do tipo inteiro são para
armazenamento de números inteiros Inteiro
(Integer)
• Os dados de tipo inteiro são números
compreendidos entre
–32768 e 32767
• As variáveis do tipo real são para o
Ti pos de D ad os

• Caracter (caracteres individuais): Específicas


para armazenar um carácter. Este tipo de dado
pode assumir qualquer carácter da referida Tabela
ASCII, mas apenas um de cada vez. Os dados do
tipo caracter são referenciados dentro de pelicas.
Exemplo: ‘a’
• Cadeias de caracteres (strings ou cadeias
alfanuméricas): Específicas para armazenar uma
cadeia de caracteres alfanuméricos (adequados ao
manuseamento de texto). No Pascal, o carácter
apóstrofo (‘) (também chamado “pelica”) delimita
Operadore
s
Os operadores são meios pelo qual incrementamos,
decrementamos, comparamos e avaliamos dados
dentro do computador. Temos três tipos de
operadores:
• Operadores
Aritméticos
• Operadores
Relacionais
• Operadores
Lógicos
Operadores
ari tméticos
• Os operadores aritméticos são os utilizados para
obter resultados numéricos.
• Além da adição, subtracção, multiplicação e
divisão, podem utilizar também o operador para
exponenciação.
• Alguns símbolos para os operadores aritméticos
são:
+ Adição Operaç Resulta
- Subtracção ão
7 DIV 3 do
2
/ Divisão 7 MOD 3 1
Mod Resto da divisão 2^3 8
div (Resto)
Divisão inteira 2.3+3 5.3
* (Quociente)
multiplicação 7*5 35
^ potenciação 7+2 9
Operadores de compara ção ou
rel acio na is

• Os operadores relacionais são utilizados para


comparar Strings de caracteres e números.
• Os valores a serem comparados podem ser
caracteres ou variáveis.
• Estes operadores sempre retornam valores
lógicos (Verdadeiro ou Falso / True ou False)
• Para estabelecer prioridades no que diz respeito a
qual operação executar primeiro, utilize os
parênteses.
Operadores de co mpar aç ão
ou rela cionai s

Os operadores relacionais são:

= Igual a

<> Diferente de Operação Resultado

Maior que 7=3 FALSO


> 7<>3 VERDADEIR
< Menor que O
7<3 FALSO

>= Maior ou igual a 7>=3 VERDADEIR


7>3 O
VERDADEIR
<= Menor ou igual a 7<=3 O
FALSO
Operadores ló gicos ou
bool eanos
• Os operadores lógicos servem para combinar
resultados de expressões, retornando se o
resultado final é verdadeiro ou falso.
• Os operadores lógicos são:

Operação Resultado
OU OR >3 AND <8 Verdadeiro
E AND
<3 OR >8 Verdadeiro
NÃO NOT
NÃO XOR <3 AND >8 Falso
OU
Operadores lógi cos ou
bool eanos

a) Operador AND:
TRUE AND TRUE => TRUE
TRUE AND FALSE => FALSE
FALSE AND TRUE => FALSE
FALSE AND FALSE => FALSE

b) Operador OR:
TRUE OR TRUE => TRUE
TRUE OR FALSE => TRUE
FALSE OR TRUE => TRUE
FALSE OR FALSE => FALSE
Operadores ló gicos ou
bool eanos

c) Operador NOT:
NOT TRUE => FALSE
NOT FALSE => TRUE

d) Operador XOR:
TRUE XOR TRUE => FALSE
TRUE XOR FALSE => TRUE
FALSE XOR TRUE => TRUE
FALSE XOR FALSE => FALSE
Noções de Lógi ca

A B A and B
verdadei Verdadeir verdadeir
ro
verdadei o
falso o
falso
NOT
ro
falso verdadeir falso
A NOT A
falso o
falso falso
Verdad Falso
eiro
A B A or B
verdadei Verdadeir verdadeir
ro
verdadei o
falso o
verdadeir
ro
falso o
verdadeir verdadeir
falso o
falso o
falso
Instr uções
Bási cas

• Comando de escrita:
• Escrever(“Paula”)
• Escrever(“A minha idade é: “, IDADE)
• Comando de leitura:
• Ler(NOME)
• Ler(IDADE, NOME)
• Instruções de atribuição
• A  VALOR
• NUM  3
•A3+B/2
• CIDADE  “Lisboa”
Operações elementare s
• Assignação;
• Entrada;
• Saída.
A Assignação (ou atribuição) consiste num acto extraordinariamente
simples de atribuir uma variável um valor que pode ser uma constante
ou uma expressão.

Ou
Dizer que:
a = 24 a ← 24
a = maria a ← maria
a = 2 * (a + 1) a ← 2 * (a + 1)
a = 34 + (2,5 * (23 - 10)) - 1 a ← 34 + (2,5 * (23 - 10)) - 1

São diferentes modos de assignar valores (constantes ou não), com


resultados de expressões ou variáveis.
Operações elementare s

A operação ASSIGNAÇÃO; consiste em proceder ao armazenar


um valor (numérico ou não) numa dada variável.

Esta operação é representada em termos algorítmicos por ←

VAR1 ← 45 significa que a variável VAR1 vai, a partir deste momento,


ter armazenado valor 45.

Se existisse lá algum outro valor anteriormente, ele pura e simplesmente


desaparecer.
Esta operação é destrutiva em relação ao valor que precede na variável.
Operações elementare s
•Entrada de Dados

A entrada de dados está normalmente associada a um periférico de


entrada, que por no é o teclado. É a partir dele que se vão atribuir
valores - caso a caso e sempre que necessário (logo exigidos pelo
programa) - a variáveis.

Compreende-se que o Se se disser a um computador:


computador esteja portanto
a LER os valores LER (a, b, c, d)
permitindo-lhe que ele
atribua a uma dada variável. ele ficará à espera que lhe sejam
fornecidos quatro valores para fazer
"a" igual ao primeiro, ao segundo e
assim sucessivamente. .
Operações elementare s
• Saída de Dados
A saída de dados está normalmente associada a um periférico de saída, de
um modo semelhante ao processo que descrevemos para a entrada de
dados, só que o periférico, por norma ou é o monitor ou a impressora. É
através deles que se exibem os valores que foram obtidos para as
variáveis na resolução do problema.

Se se disser a um computador:

Escrever (a, b, c, d)

ele iria colocar, provavelmente no monitor, os


valores que lhe tínhamos introduzido antes.
Ex ercícios
Elabore alg or timos em flu xo gra ma e p seu doc ód igo para os
seguintes problemas:

• Problema 1
Pretende-se que sejam introduzidos dois números e se visualize o maior.

• Problema 2
Pretende-se obter o salário líquido de um trabalhador através da leitura
do
nome, horas trabalhadas, valor-hora, e sabendo que os impostos
aplicados são exactamente 10% sobre o valor ilíquido.
• Problema 3
Calcular a soma dos números pares compreendidos entre 2 e 1000

• Problema 4
Calcular a média de uma série de números positivos supondo que os
dados se lêem de um terminal. Um valor zero na entrada significa que se
chegou ao fim da sequência de entrada de números positivos

Vous aimerez peut-être aussi