Você está na página 1de 32

Universidade Federal do Pará

Instituto de Tecnologia
Faculdade de Engenharia Civil
Faculdade de Engenharia Ferroviária e Logística

Disciplinas
Programação de Computadores
Informática Aplicada a Engenharia

Algoritmos e Lógica de Programação

Professora Salete Souza de Oliveira


Introdução
• Lógica
- Técnica para gerar uma determinada sequência de
atividades para atingir um determinado objetivo;
- É a técnica de encadear pensamentos para atingir
determinado objetivo.
• Sequência Lógica
– São os diferentes passos ou instruções para solucionar um
problema;
• 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 ação elementar a
executar.
2
Professora Salete Souza de Oliveira -UFPA
Algoritmos e Sequencia Lógica
• Algoritmos é uma maneira de formalizar uma
sequência de passos para execução de uma
atividade.
• Seqüência Lógica são passos executados até atingir
um objetivo ou solução de um problema.
• A formalização é necessária para que diferentes
pessoas possam entender e repetir os passos para
chegar a solução do problema;
• Ex.:Fazer uma transferência bancária; Ajustar o horário no
celular; Programar um DVD para gravar um programa;

3
Professora Salete Souza de Oliveira -UFPA
Exemplo de algoritmo
• “Chupar uma bala”

– Pegar a bala
– Retirar o papel
– Jogar o papel no lixo
– Chupar a bala

• Pode-se escrever este algoritmo de outra forma?

• Como ficaria se o pote de balas tivesse balas de


diversos sabores?

4
Professora Salete Souza de Oliveira -UFPA
Etapas de um algoritmo
• Normalmente um algoritmo possui três etapas
distintas:

– 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

5
Professora Salete Souza de Oliveira -UFPA
Fluxograma ou Diagrama de Blocos
• O diagrama de blocos é uma forma padronizada e
eficaz para representar os passos lógicos de um
determinado processamento.

• Com o diagrama podemos definir uma seqüência de


símbolos, com significado bem definido, portanto,
sua principal função é a de facilitar a visualização dos
passos de um processamento.

6
Professora Salete Souza de Oliveira -UFPA
Diagrama de blocos

7
Professora Salete Souza de Oliveira -UFPA
Exemplos

8
Professora Salete Souza de Oliveira -UFPA
Estruturas de Decisão
• Exercício: escreva o diagrama de blocos do algoritmo
abaixo:

– Se a média for menor que 5.0, então, o aluno estará


reprovado.
– Senão, se a média for menor que 7.0, então, o
aluno deve realizar nova prova.
– Senão, o aluno estará aprovado.

9
Professora Salete Souza de Oliveira -UFPA
Exemplo de estruturas
de decisão

• “Chupar uma bala” (não


gosto de morango)

• Pegar a bala
• A bala é de morango?
• Se sim, não chupe a bala
• Se não, continue com o
algoritmo
• Retirar o papel
• Chupar a bala
• Jogar o papel no lixo

10
Professora Salete Souza de Oliveira -UFPA
Estruturas de Repetição
Enquanto x, processar ... (Do While ... Loop)
Até que x, processar ... (Do Until ... Loop)
Processar ..., Enquanto x (Do ... Loop While)
Processar..., Até que x (Do ... Loop Until)
Para ... Até ... Seguinte (For ... To ... Next)

11
Professora Salete Souza de Oliveira -UFPA
Estruturas de Repetição
Enquanto x, processar ...
(Do While ... Loop)

• Exemplo:
– Número igual a 0
– Enquanto número menor
ou igual a 100, some mais
um ao número

12
Professora Salete Souza de Oliveira -UFPA
Estruturas de Repetição
Até que x, processar ...
(Do Until ... Loop)

• Exemplo:
– Número igual a 0
– Até que número seja igual a 100,
some mais um ao número

13
Professora Salete Souza de Oliveira -UFPA
Estruturas de Repetição
Processar ..., enquanto x
(Do ... Loop While)

Exemplo:
Número igual a 0
Some mais um ao número;
repita enquanto número
menor ou igual a 100

14
Professora Salete Souza de Oliveira -UFPA
Estruturas de Repetição
Processar ..., até x
(Do ... Loop Until)

• Exemplo:
– Número igual a 0
– Some mais um ao número;
repita até que o número seja
igual a 100

15
Professora Salete Souza de Oliveira -UFPA
Estruturas de Repetição
Para ... Até ... Seguinte
(For ... To ... Next)
Nr>=0
Nr<=100
Exemplo:
Número igual a 0
Para número de 0 até
100, some um ao
número
16
Professora Salete Souza de Oliveira -UFPA
Declaração de variáveis
• Identificadores: São nomes arbitrários dados as
funções, variáveis, constantes. Os identificadores
podem ser letras de A à Z, números de 0 à 9 e
“_“(underline). Não pode começar com número e
depende das regras de cada compilador.

– Exemplos: Temperatura_media, Temp,_T1, A

– Identificador inválido - 2ab

17
Professora Salete Souza de Oliveira -UFPA
Constantes e variáveis
• Constantes (constant): são elementos que tem um
valor fixo, não podendo ser mudados durante a
execução do programa;
– Exemplo: π = 3,1415927.... Em vez de escrever toda vez o
número podemos nomear uma constante PI = 3,1415927 e
durante programa utilizar PI;
• Variável (variable): são elementos que permitem a
alteração do seu valor durante a execução do
programa. É recomendável que no início do
programa seja atribuído um valor inicial a elas, que
elas sejam inicializadas;
– Exemplo: Calcule consumo médio de combustível de um
automóvel. CONSUMO= KM/L
18
Professora Salete Souza de Oliveira -UFPA
• 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
19
Professora Salete Souza de Oliveira -UFPA
Tipos de variáveis
• Numéricas: Específicas para armazenamento de números,
que posteriormente poderão ser utilizados para cálculos.
Podem ser ainda classificadas como Inteiras ou Reais.

• Alfanuméricas: Para dados que contenham letras e/ou


números. Pode em determinados momentos conter somente
dados numéricos ou somente literais. Se usado somente para
armazenamento de números, não poderá ser utilizada para
operações matemáticas.

• Lógicas: Armazenam somente dados lógicos que podem ser


Verdadeiro ou Falso.

20
Professora Salete Souza de Oliveira -UFPA
Operadores
• Operador é um símbolo que faz com que
compilador execute alguma operação matemática ou
lógica;

• A seguir serão apresentados os principais elementos


de cada operador. Este tópico será visto em maiores
detalhes na linguagem de programação aplicado
diretamente ao compilador utilizado;

21
Professora Salete Souza de Oliveira -UFPA
Operadores
• Operador Aritmético

Operador Operação realizada


+ Soma

- Subtração

* Multiplicação

/ Divisão

% ou mod Resto da divisão

++ Incremento

-- Decremento

** potenciação
22
Professora Salete Souza de Oliveira -UFPA
Operadores Aritméticos
• Hierarquia das operações aritméticas:
– 1 º ( ) Parênteses
– 2 º Exponenciação
– 3 º Multiplicação, divisão (o que aparecer primeiro)
– 4 º + ou – (o que aparecer primeiro)

– 1 + 7 * 2 ** 2 - 1 = ?
– 3 * (1 – 2) + 4 * 2 = ?

23
Professora Salete Souza de Oliveira -UFPA
Operadores 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).

=
!=

24
Professora Salete Souza de Oliveira -UFPA
Operadores Relacionais
• Se A = 5 e B = 3 então:
• A==B (falso ou verdadeiro?)
• A<>B (falso ou verdadeiro?)
• A>B (falso ou verdadeiro?)
• A<B (falso ou verdadeiro?)
• A>=B (falso ou verdadeiro?)
• A<=B (falso ou verdadeiro?)

25
Professora Salete Souza de Oliveira -UFPA
Operadores Lógicos
• Os operadores lógicos servem para combinar resultados de
expressões, retornando se o resultado final é verdadeiro ou
falso.

– E / AND: Uma expressão AND (E) é verdadeira se todas as condições


forem verdadeiras

– OU / OR: Uma expressão OR (OU) é verdadeira se pelo menos uma


condição for verdadeira

– NÃO / NOT: Um expressão NOT (NÃO) inverte o valor da expressão ou


condição, se verdadeira inverte para falsa e vice-versa.

26
Professora Salete Souza de Oliveira -UFPA
Operadores Lógicos

27
Professora Salete Souza de Oliveira -UFPA
ESTRUTURA DE UM ALGORITMO
As estruturas de Controle introduzidas nesta unidade, facilitarão a
expressão de algoritmos e permitirão que exemplos mais
significativos sejam apresentados e propostos, visando o
aperfeiçoamento do desenvolvimento do processo de aprendizado da
construção de algoritmos.

A forma geral de um algoritmo em pseudocódigo

• PSEUDOCÓDIGO

Algoritmo
Início
<declarações de variáveis>;
<comandos>;
fim
28
Professora Salete Souza de Oliveira -UFPA
Metodologia de Solução de algoritmos

1- Entender o problema;
2- Formular um esboço da solução;
3- Fazer uma primeira aproximação das
variáveis necessárias;
4- Rever os passos originais, detalhando;
5- Se o algoritmo estiver suficientemente
detalhado, testar com um conjunto de dados
significativos;
6- Implementar numa linguagem de
programação.

29
Professora Salete Souza de Oliveira -UFPA
UMA REFLEXÃO ANTES DE RESOLVER DE PROBLEMAS

Passo1 – Leia cuidadosamente a especificação do problema até o final

Passo 2- Caso não tenha entendido o problema, pergunte.


Passo 3- levantar e analisar todas as saídas exigidas na especificação do problema
(impressões)
Passo 4- levantar e analisar todas as entradas citadas na especificação do
problema(leituras)
Passo 5- Verificar se é necessário gerar valores internamente ao algoritmo e levantar as
variáveis necessárias e os valores iniciais de cada uma;
Passo 6- Levantar e analisar todas as transformações necessárias para, dadas as
entradas e valores gerados internamente, produzir as saídas especificadas;
Passo 7- Testar cada passo do algoritmo

Passo 8 – Avaliação geral, elaborando o algoritmo e revendo comentários

30
Professora Salete Souza de Oliveira -UFPA
Exercícios:
1- Identifique as entradas e saídas das expressões
abaixo. Escreva-as em forma computacional

r< - 2*y**2+3*z

2 - Quais valores serão impressos após a


execução do seguinte trecho de algoritmo
I0;
Enquanto I<20 Faça
Imprima (I,I**2)
II+1
Fim Enquanto
Imprima (“ I=”,I)
Imprima(“ UFA! CHEGUEI AQUI”)

31
Professora Salete Souza de Oliveira -UFPA
REFERÊNCIAS
[1] AGUILAR, L. J. Fundamentos de programação: algoritmos, estrutura de dados e
objetos. McGraw Hill. 2012.
[2] AGUILAR, L. J. Programação em C ++: algoritmos, estruturas de dados e
objetos. McGraw Hill. 2012.
[3] BARBIERI FILHO, P. HETEM JUNIOR, A. Fundamentos de informática: lógica
para computação. LTC. 2012.
[4] Farrer H. et ali. Algoritmos Estruturados. Editora Guanabara S. A., Rio de Janeiro,
1985.
[5] GOODRICH, M. T.; TAMASSIA, R.Estruturas de dados e algoritmos em Java.
Bookman. 2012.
[6] Guimarães, Angelo M & Lages, Newton A. de C. Algoritmos e Estrutura de dados.
LTC - Livros Técnicos e Científicos Editora S.A. 216 – 1985.
[7] JUNIOR, D., NAKAMITI, G. Algoritmos e Programação de Computadores.
Elsevier. 2012.
[8] LOPES, A., GARCIA, G. Introdução à Programação. Elsevier. 2002.
[9] Notas de aula do Prof. Stefano -Curso básico de lógica de programação. Unicamp
[9] SOFFNER, R.Algoritmos e programação em linguagem C. SARAIVA. 2010.
[10] Tremblay, J. P; Bunt R. Ciência dos Computadores - Uma Abordagem
Algorítmica. Editora McGraw Hill do Brasil, são Paulo, 1983.
[11] Villas, Marcos V, & Villasboas, Luiz F.P. Programação Conceitos, Técnicas e
Linguagens. Ed. Campus. 195 p. 1988.

Professora Salete Souza de Oliveira -UFPA 34

Você também pode gostar