Buscar

1. Introdução a Algoritmos - Prof. Marcelo Barbosa

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

07/04/2017 
1 
 
Introdução a Programação 
 
 
Prof. Marcelo Barbosa 
 
• Introdução a algoritmos e programação 
• Tipos de dados, expressões e operadores 
• Estruturas de controle de fluxo 
• Estruturas básicas de dados e Arquivos 
• Modularização de programas, sub-rotinas e funções 
Tópicos do curso 
07/04/2017 
2 
 
 
Introdução à computação e algoritmos 
 
 
Computador 
 Dipositivo para processar informação. 
07/04/2017 
3 
Sistema Operacional 
 O Sistema Operacional gerencia as relações entre as 
partes do computador e também os aplicativos 
(programas) que são executados nele. 
Definições 
 Hardware: parte “física” do computador. 
 - Conjunto de componentes eletrônicos, circuitos e placas 
que se comunicam através de sinais elétricos (barramentos). 
 
 Software: parte “lógica” do computador. 
 - Conjunto de instruções e dados que é processado pelos 
circuitos eletrônicos do hardware (componentes físicos). 
 
 Resumindo: 
 hardware = equipamento, 
 software = programas. 
07/04/2017 
4 
Programa 
 É, basicamente, um conjunto de instruções que dita o 
comportamento do computador durante um certo 
tempo. 
 É uma sequência completa de instruções a serem 
executadas por um computador, de acordo com um 
algoritmo. 
 O desenvolvimento de um programa é feito por meio 
de uma linguagem de programação. 
Programa 
 
 Etapas para o desenvolvimento de um programa: 
 Análise – estudo do enunciado do problema para definir os dados 
de entrada, o processamento e os dados de saída. 
 Algoritmo – desenho da sequência de instruções, ordenadas de 
forma lógica, para a resolução do problema; 
 Codificação – o algoritmo é transformado em códigos da 
linguagem de programação escolhida para se trabalhar. 
07/04/2017 
5 
Programa 
 Para programar é necessário: 
– ter noções de lógica. 
– saber desenvolver algoritmos. 
– conhecer uma linguagem de programação. 
 
 Assim, trabalharemos: 
– o elementar da lógica e a capacidade de desenvolver 
algoritmos. 
– a linguagem de programação Python. 
Programa 
 Lógica 
 Técnica de encadear pensamentos para atingir 
determinado objetivo. Passos executados até 
atingir a solução de um problema. 
 
 Instruções 
 Conjunto de regras ou normas definidas para a 
realização de algo. Em informática, é o que indica 
a um computador uma ação elementar a 
executar. 
 
07/04/2017 
6 
Algoritmo 
 
 Sequência de instruções finitas e ordenadas de 
forma lógica para a execução de uma tarefa ou 
resolução de um problema. 
 
 Não necessariamente envolve aspectos 
computacionais. 
 
 No dia-a-dia executamos vários algoritmos: 
 Uma receita de bolo, trocar um pneu de carro, 
trocar uma lâmpada, manual de instruções; 
 
• O algoritmo tem um papel fundamental de ser o elo de 
ligação entre dois mundos: o real e o computacional. 
 
• A atividade de programação começa com a construção do 
algoritmo. 
Mundo real Máquina 
C, Java, C++, Delphi, 
Python, ... 
Algoritmo 
07/04/2017 
7 
Exemplos Algoritmo 
 Fazer um sanduíche: 
1. Pegar o pão 
2. Cortar o pão ao meio 
3. Pegar a maionese 
4. Abrir a maionese 
5. Passar a maionese no pão 
6. Pegar o alface e tomate 
7. Cortar o tomate 
8. Lavar o alface 
9. Colocar tomate e alface no pão 
10. Pegar o hambúrguer 
11. Fritar o hambúrguer 
12. Colocar o hambúrguer no pão 
13. Fechar o pão. 
 
 Fritar um ovo: 
1. Retirar o ovo da geladeira 
2. Colocar a frigideira no fogo 
3. Colocar óleo 
4. Esperar até o óleo ficar quente 
5. Quebrar o ovo separando a 
casca 
6. Colocar o conteúdo do ovo na 
frigideira 
7. Esperar um minuto 
8. Retirar o ovo da frigideira 
9. Apagar o fogo 
 
Exercício 
• Ordene e estruture uma 
sequência para a 
realização de uma 
ligação telefônica em 
um orelhão. 
 
 
07/04/2017 
8 
Exercício 
• Resposta 1: 
 
1. Tirar o fone do gancho 
2. Ouvir sinal de linha 
3. Introduzir cartão 
4. Teclar o número desejado 
5. Conversar 
6. Desligar 
7. Tirar o cartão 
Exercício 
• Resposta 2 (Mais robusta) 
 
1. Tirar o fone do gancho 
2. Ouvir sinal de linha 
3. Introduzir cartão 
4. Teclar o número desejado 
5. Se chamar e alguém atender 
1. Conversar 
2. Desligar 
3. Retirar o cartão 
6. Senão 
1. Desligar 
2. Voltar para a instrução 1 
 
07/04/2017 
9 
O que podemos concluir sobre algoritmos? 
• Algoritmo é uma espécie de passo a passo para a 
execução de algo; 
• Algoritmos realizam uma saída (ex.: um sanduíche, um 
ovo frito, uma ligação) a partir de uma determinada 
entrada (pão, ovo, número) através de uma sequência de 
passos; 
• Os passos tem que ser executados um após o outro; 
• Um algoritmo está correto quando sua sequência de 
instruções resulta em uma saída esperada. 
• Podem existir um ou mais algoritmos para atingir um 
resultado, desde que o resultado (a saída) seja o mesmo! 
Exercício – Lâmpada queimada 
 Faça um algoritmo para trocar uma 
lâmpada. 
 
07/04/2017 
10 
 O que acontece se não houver certeza de que 
a lâmpada está queimada? Refaça a sequência. 
Exercício – Lâmpada queimada 
Exercício – Lâmpada queimada 
07/04/2017 
11 
Exercício – Lâmpada queimada 
Exercício – Lâmpada queimada 
07/04/2017 
12 
Exercício – Lâmpada queimada 
 
 
Algoritmos 
Linguagem de definição e estrutura básica 
 
 
07/04/2017 
13 
Métodos de Representação de Algoritmos 
• Existem duas formas de representação de algoritmos: 
 
– Fluxograma  Representação gráfica. 
 
– Pseudocódigo (Linguagem estruturada)  Representação 
textual. 
 
Métodos de Representação de Algoritmos 
• Fluxograma. 
 
– Representação gráfica, por meio de símbolos geométricos, da 
solução algorítmica de um problema. 
07/04/2017 
14 
Métodos de Representação de Algoritmos 
• Exemplo - Fluxograma. 
 
 
Métodos de Representação de Algoritmos 
• Pseudocódigo. 
 
– Descrição narrativa utilizando nosso idioma para 
descrever o algoritmo. 
 
– Exemplo de uma descrição narrativa. 
 
• Soma de dois números. 
 
1. Receber os dois números. 
 
2. Efetuar a soma dos dois números. 
 
3. Mostrar o resultado. 
 
 
07/04/2017 
15 
Métodos de Representação de Algoritmos 
• Resumindo. 
 
– Escrever algoritmos e, por fim, programar, consiste em dividir 
qualquer problema em vários passos ou ações menores, 
usando uma ou mais formas de representação. 
 
– Esses passos ou ações que compõem o algoritmo são 
descritos de forma padronizada a partir do que 
convencionou-se chamar de comandos. 
 
– A seguir, vamos discutir como descrever as ações básicas 
contidas em um algoritmo, ou seja, os comandos e as 
estruturas disponíveis para o desenvolvimento de algoritmos 
e o conjunto de regras e convenções adotadas para a 
representação destes. 
Variáveis 
• Elemento de dado cujo valor pode ser modificado ao 
longo de sua execução. 
• Ou seja, trata-se de um objeto (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 durante o seu tempo de execução; 
• Identificadores são usados para referenciar as 
variáveis em algoritmos. 
Elementos Básicos de um Algoritmo 
07/04/2017 
16 
Variáveis 
• O tipo de uma variável identifica o tipo de valor que 
ela poderá receber; 
• Ex.: 
 NOME literal 
 NOTA, IDADE numéricoTESTE lógico 
Elementos Básicos de um Algoritmo 
Identificador 
Tipo 
• Nomes utilizados para referenciar variáveis e vários outros 
objetos definidos pelo programador. 
 
• Regras para identificação das variáveis: 
– Identificadores deve ser claros e precisos; 
– Devem possuir como primeiro caractere uma letra ou sublinhado. 
Os demais caracteres podem ser letras, números ou sublinhado; 
– Não podem ter espaços em branco , usar o UNDERSCORE “_” ; 
– Não podem ser iguais a palavras reservadas nem conter caracteres 
especiais; 
– Não podem ser iguais a um nome de uma função declarada pelo 
programador ou pelas bibliotecas da linguagem utilizada. 
 
Elementos Básicos de um Algoritmo 
Identificadores 
07/04/2017 
17 
• Exemplos: 
– Identificadores inválidos: 
 “3endereco” “algoritmo” “então” 
 “anos de estudo” “preço+” 
 
– Identificadores válidos: 
“Nome” “telefone2” “endereco” “idade_filho” 
 
Elementos Básicos de um Algoritmo 
Identificadores 
• A declaração de uma variável é feita no algoritmo informando 
o seu nome, seguido por seu tipo. 
• Palavra-reservada “declare”: utilizada para iniciar a seção de 
declaração das variáveis em um algoritmo. 
• Exemplos: 
 declare NOME literal 
 
 declare NOTA, CÓDIGO, X5 numérico 
 ou 
 declare NOTA, 
 CÓDIGO, 
 X5 
 numérico 
 
Elementos Básicos de um Algoritmo 
Declaração de variáveis 
07/04/2017 
18 
• Comentários podem ser postos em qualquer ponto do 
algoritmo sempre que for necessário. 
• Pode aparecer delimitado por diferentes símbolos: 
– Chaves: {Comentário ... } 
– Cerquilha: #Comentário ... 
 
• Exemplo: 
 declare MAT, {número de matrícula do aluno} 
 NOTA, {total de pontos obtidos no semestre} 
 COD {código do curso} 
 numérico 
 
Elementos Básicos de um Algoritmo 
Comentários 
• Permite que se forneça um valor a uma certa variável, 
onde a natureza deste valor tem de ser compatível com o 
tipo de variável em que será armazenado. 
• Forma geral: identificador  expressão 
– “indentificador”: é o nome da variável à qual está 
sendo atribuído o valor; 
– “”: é o símbolo de atribuição; 
– “expressão”: pode ser uma expressão aritmética, 
lógica ou literal, de cuja avaliação é obtido o valor a 
ser atribuído. 
 
Elementos Básicos de um Algoritmo 
Comando de atribuição 
07/04/2017 
19 
• Exemplos: 
 K  1 
 COR  “verde” 
 TESTE  falso 
 MÉDIA  (A + B) / 2 
 
 Obs.: K e MÉDIA são variáveis do tipo numérico, COR é do tipo 
 literal e TESTE é do tipo lógico. 
Elementos Básicos de um Algoritmo 
Comando de atribuição 
• Determina o momento da entrada dos dados para o 
programa (Ex.: digitação de dados via teclado, escolha 
de opções via mouse, ...). 
• Forma geral: leia lista de identificadores 
 Ex.: O comando leia NOTA, NUM indica que dois valores 
serão lidos de uma unidade de entrada. Os valores serão 
armazenados nas variáveis NOTA e NUM (posições de 
memória identificadas pelos nomes NOTA e NUM) 
Elementos Básicos de um Algoritmo 
Comando de entrada 
07/04/2017 
20 
• Determina o momento da saída dos resultados obtidos para 
o usuário (apresentação em tela, impressão dos resultados, 
...). 
• Forma geral: 
 escreva lista identificadores e/ou constantes 
 Ex.: O comando escreva “SALDO = ”, X indica que os 
conteúdos após o comando serão mostrados ao usuário através 
de um meio de saída (ou seja, o texto SALDO = , seguido do 
valor contido na variável X). 
Elementos Básicos de um Algoritmo 
Comando de saída 
Estrutura básica de um Algoritmo 
1. INÍCIO DO ALGORITMO 
 
2. DECLARAÇÃO DE VARIÁVEIS 
 
3. BLOCO DE COMANDOS 
 
4. FIM DO ALGORITMO 
algoritmo {soma dois numeros} 
 declare N1, N2, D inteiro 
 escreva "Digite dois numeros” 
 leia N1 
 leia N2 
 D  N1 + N2 
 escreva "A soma é igual a ", D 
fim algoritmo 
07/04/2017 
21 
 
 
Tipos de dados, expressões e operadores 
 
TIPO DESCRIÇÃO 
Inteiro 
Representa valores inteiros 
Ex.: 2, 5, -3, 100, -151... 
Real 
Representa valores reais 
Ex.: 10.0, 5.6, -3.45.... 
Literal (ou 
caractere) 
Representa texto entre aspas duplas 
Ex.: “Sport Recife”, “B”, “1234” 
Logico 
Representa os valores lógicos 
VERDADEIRO ou FALSO 
Tipos de dados 
N
u
m
ér
ic
o
 
07/04/2017 
22 
Expressões Aritméticas 
• Denomina-se expressão aritmética aquela cujos operadores 
são aritméticos e cujos operandos são constantes e/ou 
variáveis de tipo numérico. 
• Operadores aritméticos: 
– Adição (a + b) 
– Subtração (a - b) 
– Multiplicação (a x b) 
– Divisão (a / b) 
– Divisão inteira (a \ b) 
– Resto da divisão (a % b) 
– Exponenciação (a ^ b) 
Expressões Aritméticas 
• Prioridade das operações aritméticas: 
1º - Parênteses 
2º - Exponenciação 
3º - Multiplicação, Divisão 
4º - Adição, Subtração 
 
• Exemplos: 
 3 / 4 + 5 
 3 / (4 + 5) 
 3 \ 2 * 9 
 11 % 3 ^ 2 
 11 % (3 ^ 2) 
 (11 % 3) ^ 2 
 3 \ 2 + (65 - 40) ^ (1/2) 
 
 
= 5.75 
= 0.33333333 
= 9 
= 2 
= 2 
= 4 
= 6 
 
07/04/2017 
23 
Expressões Aritméticas 
 
 
 
• Funções matemáticas: 
– LOG (X) {logaritmo na base 10 de X} 
– LN (X) {logaritmo neperiano de X} 
– EXP (X) {exponencial de X} 
– ABS (X) {valor absoluto de X} 
– TRUNCA (X) {parte inteira de número fracionário X} 
– ARRED (X) {arredonda X para um número inteiro} 
– SINAL (X) { = -1, +1 ou zero, conforme o sinal de X} 
 ... 
 
Expressões Relacionais 
Relações 
• Uma relação (ou expressão relacional) é uma comparação 
realizada entre dois valores do mesmo tipo básico. 
• Operadores 
 relacionais: 
 
 
 
• Exemplos: 
– A  B 
– NOME = “João” 
– B ^ 2 – 4 x A < C 
 
07/04/2017 
24 
• Exercício: 
 Dadas as variáveis numéricas X, Y, Z e as variáveis literais NOME e 
COR, complete o quadro a seguir com os resultados lógicos (falso ou 
verdadeiro) obtidos das relações: 
 
 
 
 
 
 
VARIÁVEIS RELAÇÕES 
X Y Z COR NOME X^2 + Y > Z COR = “AZUL” NOME  “JOSÉ” 
1 2 5 “AZUL” “PAULO” falso verdadeiro verdadeiro 
4 3 1 “VERDE” “JOSÉ” 
1 1 2 “BRANCO” “PEDRO” 
1 2 1 “AZUL” “JOSÉ” 
VARIÁVEIS RELAÇÕES 
X Y Z COR NOME X^2 + Y > Z COR = “AZUL” NOME  “JOSÉ” 
1 2 5 “AZUL” “PAULO” falso verdadeiro verdadeiro 
4 3 1 “VERDE” “JOSÉ” verdadeiro falso falso 
1 1 2 “BRANCO” “PEDRO” falso falso verdadeiro 
1 2 1 “AZUL” “JOSÉ” verdadeiro verdadeiro falso 
Expressões Relacionais 
Expressões Lógicas 
• É comum surgirem situações em que a execução de 
uma ação (ou sequência de ações) está sujeita a uma 
certa condição. 
• Esta condição é representada no algoritmo por meio 
de uma expressão lógica, cujos operadores são 
lógicos e cujos operandos são relações, constantes 
ou variáveis do tipo lógico. 
• Uma expressão lógica resulta em VERDADEIRO ou 
FALSO (valores lógicos) 
 
07/04/2017 
25 
Operadores lógicos 
• E: Resulta verdadeiro se AMBAS AS PARTES 
forem verdadeiras; 
• OU: Resulta verdadeiro se UMA DAS PARTES é 
verdadeira; 
• NÃO: Nega uma afirmação. Se verdadeiro, 
torna-se falso; Se falso, torna-se verdadeiro. 
Expressões Lógicas 
• Exemplos: 
 (2+5 > 4) e (3 <> 3) resulta FALSO(pois VERDADEIRO e FALSO resulta FALSO) 
 (2=2) ou (3<1) resulta VERDADEIRO 
(pois VERDADEIRO ou FALSO resulta VERDADEIRO) 
NAO (3<1) resulta VERDADEIRO 
(pois FALSO resulta VERDADEIRO devido a inversão de 
valores definido por NÃO) 
Expressões Lógicas 
07/04/2017 
26 
Tabelas-Verdade 
– Mostra os resultados das aplicações dos operadores 
lógicos conforme os valores dos operandos envolvidos: 
 
A B A E B A OU B NÃO A NÃO B 
V V 
V F 
F V 
F F 
Expressões Lógicas 
A B A E B A OU B NÃO A NÃO B 
V V V 
V F F 
F V F 
F F F 
A B A E B A OU B NÃO A NÃO B 
V V V V 
V F F V 
F V F V 
F F F F 
A B A E B A OU B NÃO A NÃO B 
V V V V 
F 
F 
V F F V V 
F V F V 
V 
F 
F F F F V 
Expressões Lógicas 
Exercício 
 
Sejam as seguintes proposições: 
 p: OK, onde OK é uma variável lógica cujo conteúdo é verdadeiro; 
 q: A = 0, onde o valor de A é 3; 
 r: TESTE, onde TESTE é uma variável lógica cujo conteúdo é falso; 
 s: B  1, onde o conteúdo de B é 2. 
 
Qual será o valor lógico (falso, verdadeiro) das conjunções: 
 a) ps e) ps 
 b) pr f) pr 
 c) qs g) qs 
 d) qr h) qr 
 verdadeira 
 falsa 
 falsa 
 falsa 
 verdadeira 
 verdadeira 
 verdadeira 
 falsa 
07/04/2017 
27 
• Prioridade dos operadores lógicos: 
 1º - NÃO 
 2º - E 
 3º - OU 
 
 Exemplos: 
 a) (2>3) ou (3<2) e (2<3) 
 resultaria FALSO 
 b)(2>3) e (3<2) ou (2<3) 
 resultaria VERDADEIRO 
 
Expressões Lógicas 
Prioridade Operador 
1º 
2º 
3º 
4º 
5º 
Aritmético 
Relacional 
NÃO 
E 
OU 
Prioridade entre operadores 
Exercício: 
 NOME  “Ana” 
 IDADE  20 
 TESTE  20 + 2 > IDADE E NÃO NOME = “Ana” OU IDADE = 20 
Qual o valor de TESTE? 
07/04/2017 
28 
Prioridade entre operadores aritméticos, 
relacionais e lógicos 
Solução: 
 Sabemos que NOME  “Ana” e IDADE  20. Logo, 
 
 20 + 2 > IDADE E NÃO NOME = “Ana” OU IDADE = 20 
 V V V 
 F 
 F 
 V 
 
Exercício: Qual o valor de TESTE no caso abaixo? 
TESTE  20 + 2 > IDADE OU NÃO NOME = “Ana” E IDADE <> 20 
Exercício 
• Escreva um algoritmo que receba dois números e calcule a 
média deles. 
• Solução: 
 algoritmo {soma dois numeros} 
 declare N1, N2, D inteiro 
 escreva "Digite dois numeros” 
 leia N1 
 leia N2 
 D  (N1 + N2)/2 
 escreva "A soma é igual a ", D 
fim algoritmo

Outros materiais