Download - Algoritmos e Programação - 2016.1 - Aula 3
![Page 1: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/1.jpg)
Algoritmos e Programação
Prof.º Thyago Maia
![Page 2: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/2.jpg)
Objetivos
Aula 3
• Introduzir alguns conceitos básicos aplicados em Algoritmos e Linguagens de Programação
• Exercitar os conceitos apresentados
2
![Page 3: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/3.jpg)
Tipos de algoritmos
Português Estruturado (Portugol)
Linguagem mais restrita que o português em linguagem natural;
Simplificação extrema do português; Significados bem definidos para todos os termos
utilizados nas instruções; Possui um conjunto de palavras e regras
específicas (sintaxe da linguagem);
3
![Page 4: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/4.jpg)
Tipos de algoritmos
Português Estruturado (Portugol)
Normalmente as implementações são feitas em papel, escritas a mão;
Atualmente, também são utilizados programas que interpretam, testam e executam algoritmos; Ex.: VisuAlg (programa que utilizaremos no curso);
4
![Page 5: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/5.jpg)
Estrutura sequencial em Portugol
![Page 6: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/6.jpg)
Tipos de algoritmos
• Forma básica de um algoritmo no VisuAlg:
ALGORITMO “nome”VAR :INICIO
FIMALGORITMO6
VARIÁVEIS
INSTRUÇÕES
TIPOS DE DADOS
![Page 7: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/7.jpg)
Variáveis
![Page 8: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/8.jpg)
Variáveis
• Trata-se de uma representação para uma posição de memória;• Capaz de reter e representar um valor ou
expressão;
• Tem a finalidade de armazenar dados ou informações de um programa por um curto espaço de tempo;• Tempo de execução;
8
![Page 9: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/9.jpg)
Variáveis
• São associados a nomes, chamados identificadores;
• Identificadores são usados para referenciar e diferenciar as variáveis em algoritmos;
• Identificadores devem ser claros e precisos;
9
![Page 10: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/10.jpg)
Variáveis
• Toda variável é associada a um tipo de valor;
• O tipo de uma variável identifica o tipo de valor que ela poderá receber;
• No Portugol, declaramos variáveis logo após a palavra reservada VAR.
10
![Page 11: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/11.jpg)
Exemplo
ALGORITMO “nome”VAR N1, N2, M: REALINICIO
ESCREVA (“Digite dois números: ”)LEIA (N1, N2)M <- N1 * N2ESCREVA (M)
FIMALGORITMO11
![Page 12: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/12.jpg)
Variáveis
• Regras para identificação de variáveis:• Nomes de variáveis não podem ser iguais a palavras
reservadas;• Nomes de variáveis devem possuir como primeiro
caractere uma letra ou sublinhado;• Os demais caracteres podem ser letras, números ou sublinhado;
• Nomes devem ter no máximo 127 caracteres;• Nomes não podem ter espaços em branco;• Não há diferença entre letras maiúsculas e
minúsculas;
12
![Page 13: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/13.jpg)
Variáveis
• Exemplos:
• Identificadores válidos:• Nome, telefone, endereco, idade_mae;
• Identificadores inválidos:• 3endereco, algoritmo, títulos;
13
![Page 14: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/14.jpg)
Tipos de dados
![Page 15: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/15.jpg)
Tipos de dados
15
TIPO DESCRIÇÃO
INTEIRO Representa valores inteirosEx.: 2, 5, -3, 100, -151...
REAL Representa valores reaisEx.: 5.6, -3.45, 5.00, -10.45...
LITERAL Representa texto entre aspas duplasEx.: “Sport Recife”, “B”, “1234”
LOGICO Representa os valores lógicos VERDADEIRO ou FALSO
![Page 16: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/16.jpg)
ExemploALGORITMO “exemplo”VAR NOME, ENDERECO: LITERAL
IDADE: INTEIROPESO: REALEH_SOLTEIRO: LOGICO
INICIONOME <- “Thyago”ENDERECO <- “Rua Tal, 555”IDADE <- 29EH_SOLTEIRO <- falso
FIMALGORITMO 16
![Page 17: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/17.jpg)
Operador de atribuição
![Page 18: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/18.jpg)
Operador de atribuição
• Utilizado para inserir um valor ou o resultado de uma expressão em uma variável;
• Representado por uma seta apontando para a esquerda (<-);
• Só podemos atribuir valores do mesmo tipo da variável;
18
![Page 19: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/19.jpg)
ExemploALGORITMO “exemplo”VAR NOME, ENDERECO: LITERAL
IDADE: INTEIROPESO: REALEH_SOLTEIRO: LOGICO
INICIONOME <- “Thyago”ENDERECO <- “Rua Tal, 555”IDADE <- 29EH_SOLTEIRO <- falso
FIMALGORITMO 19
![Page 20: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/20.jpg)
Exercícios
![Page 21: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/21.jpg)
Exercícios
• Classifique os dados abaixo de acordo com seu tipo:
21
0 “abc” “João”
5.7 1012 FALSO
-49 342 569
“Lucas” “Verdadeiro” 0.00001
Verdadeiro “444” -78.1
![Page 22: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/22.jpg)
Exercícios
• Classifique os dados abaixo de acordo com seu tipo:
22
0 numérico “abc” literal “João” literal
5.7 numérico 101 numérico FALSO lógico
-49 numérico 342 numérico 9 numérico
“Lucas” literal “Verdadeiro” literal
0.00001 numérico
Verdadeiro lógico
“444” literal -78.1 numérico
![Page 23: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/23.jpg)
Explore o assunto!
![Page 24: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/24.jpg)
Explore o assunto!
• Referências– Introdução aos
algoritmos(TONET, B., KOLIVER, C.): Introdução e tópicos 1 a 9;
– Disponível em http://www.claudiorodolfo.com/ftc/ap/manual_visualg.pdf
24
![Page 25: Algoritmos e Programação - 2016.1 - Aula 3](https://reader036.vdocuments.com.br/reader036/viewer/2022070520/58f27eee1a28ab5e478b45dd/html5/thumbnails/25.jpg)
Explore o assunto!
• Referências– Fundamentos da
programação de computadores (ASCENCIO, A. F. G., CAMPOS, E. A. V.): Exercícios Propostos, páginas 47, 48, 49;
25