Você está na página 1de 38

Aplicações Informáticas

12º Ano

Módulo I
Introdução à Programação

Prof. Pedro Ferreira


“Não estamos aqui para sobreviver
e sim para explorar
a oportunidade de vencer
adquirindo o saber!”
"Penso noventa e nove vezes e nada descubro; deixo de
pensar, mergulho em profundo silêncio - e eis que a verdade
se me revela."
(Albert Einstein)
Introdução à Lógica de
Programação
 Lógica  Sequência Lógica
Lógica de programação é a Sequência Lógica são os
técnica de encadear passos executados até
pensamentos para atingir atingir um objectivo ou
determinado solução de um
objectivo. 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.
 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 batata, 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 numa 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 instruções, na ordem correcta.
 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 pretendem realizar
em computador para resolver um problema ou atingir
determinados objectivos.

Exemplos de algoritmos não computacionais:


“Chupar um rebuçado”: “Somar dois números quaisquer”:
• Pegar no rebuçado • Escreva o primeiro número no rectângulo A
• Retirar o papel • Escreva o segundo número no rectângulo B
• Chupar o rebuçado • Somar o número do rectângulo A com o
• Deitar o papel no lixo número do rectângulo B
• Colocar o resultado no rectângulo C
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 aprende: Algoritmos só se aprendem:


• Copiando Algoritmos • Construindo Algoritmos
• Estudando Algoritmos • Testando Algoritmos

Aprender algoritmos não se consegue a não ser através de


muitos exercícios.
 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.
Exercícios
 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.
Desenvolvendo algoritmos
Regras para construção do
Algoritmo
 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


Exemplo de Algoritmo
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 processamento 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?
R: O dado de saída será a média final
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
Dividir o resultado por 3
Mostrar o resultado da divisão
Teste do Algoritmo
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ícios
 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
 Faça um algoritmo para “Calcular o stock médio de
uma peça”, sendo que STOCKMÉDIO = (QUANTIDADE
MÍNIMA + QUANTIDADE MÁXIMA) /2
 Teste o algoritmo anterior com dados à sua escolha.
Formas de Apresentação dos
Algoritmos para Computador
Pseudocódigo
 Os algoritmos podem ser descritos numa 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 vista como a tentativa de fundir a
expressividade da linguagem natural e o rigor lógico de
esquemas como o fluxograma.
 A pseudolinguagem permite a descrição do algoritmo de uma
forma linear, fácil de ler e fácil de compreender.
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ódigo
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.
• Os comentários são uma parte importante do algoritmo.
Eles servem para tornar a leitura, do algoritmo, mais fácil e clara.
Fluxogramas
 É 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.
 A 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, valendo pela vantagem gráfica da
apresentação das interligações.
Alguns Símbolos Usados na
Construção de Fluxogramas
Processamento em geral (ex. soma de dois números)

Leitura/Escrita de dados (escrever a nota da prova 1)

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


Conector de fluxos (Ligação entre partes do fluxograma)

Decisão condicional

Escolha múltipla

Subprograma
Linha de fluxo
Exemplo de Fluxograma
Algoritmo Comparar
Início

Ler valor 1
Dados
valor1, valor2: Inteiros
frase: Caracteres
Início
Ler valor 2

Ler (valor1, valor2)


Valor 1 > Valor 2 No Valor 1 < Valor 2 No
Se valor1 > valor2 então
frase  “valor1 é maior”
Yes Yes Senão
Escrever valor Escrever valor Escrever Se valor1 < valor2 então
frase  “valor2 é maior””
1 é maior 2 é maior valores iguais

Senão
frase  “valores iguais”
Fim se
Fim se
Rotina Adeus

Escrever (frase)
Chamar Rotina Adeus
Fim
Fim
Abordagem Estruturada e
Concepção Top-Down
 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.
Elementos Fundamentais de
Programação
Constantes, Variáveis e Tipos
de Dados
 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.
 Variáveis devem receber identificadores (nomes) para
poderem ser referenciadas e modificadas quando
necessário.
 Um programa deve conter declarações que especificam
de que tipo são as variáveis que ele utilizará e por
vezes um valor inicial.
 Tipos de dados podem ser por exemplo: inteiros, reais,
caracteres, lógico, etc.
 As expressões combinam variáveis e constantes para
calcular novos valores.
Constantes
 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áveis
 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 se 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.
Tipos de Dados
 As variáveis e as constantes podem ser basicamente de quatro tipos:
numéricas, carácter (caracteres individuais), cadeias de caracteres
(strings ou cadeias alfanuméricas) e lógicas (ou booleanas).
 Numéricas: específicas 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 e as reais são para o armazenamento de números que
possuam casas decimais.
 Carácter (caracteres individuais): Específicas para armazenar um
carácter. Os caracteres disponíveis são geralmente os caracteres da
Tabela ASCII. Este tipo de dado pode assumir qualquer carácter da
referida Tabela ASCII, mas apenas um de cada vez.
 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 “plica”) delimita uma cadeia de
caracteres (Ex: ‘Bom trabalho!’ ).
 Lógicas ou booleanas: Armazenam somente dados lógicos que
podem ser Verdadeiro (“True”) ou Falso (“False”).
Exemplos em Pseudocódigo
 Total  Produto * Quantidade
 Fim: lógico
 Nome: caracteres[20]
 Preço  23,5
 Casar  Verdadeiro
 Saltar  1
 Op: carácter
 Idade: inteiro
 Média, Nota1, Nota2: reais
Operadores
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 aritmé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
- Subtracção
/ Divisão
Mod Resto da divisão (Resto)
div Divisão inteira (Quociente)
* multiplicação
^ potenciação
Operadores de comparação
ou relacionais
 Os operadores relacionais são utilizados para
comparar String 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.
Os operadores relacionais são:

= Igual a
<> Diferente de
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
Operadores lógicos ou
booleanos
 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:

OU OR
E AND
NÃO NOT
NÃO OU XOR
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

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
Instruções Básicas
 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”
Estruturas de Decisão
if (a) Se a não é zero......
Uma outra possibilidade consiste em tomar decisões.
Executar uma ou outra instrução dependendo do valor
duma ou mais variáveis.
Exemplo na sua forma mais simples:

Você também pode gostar