Algoritmos e Programação - 2014.1 - Aula de Revisão - 1º Estágio
Upcoming SlideShare
Loading in...5
×
 

Algoritmos e Programação - 2014.1 - Aula de Revisão - 1º Estágio

on

  • 1,071 views

Algoritmos e Programação - 2014.1 - Aula de Revisão - 1º Estágio

Algoritmos e Programação - 2014.1 - Aula de Revisão - 1º Estágio

Statistics

Views

Total Views
1,071
Views on SlideShare
1,071
Embed Views
0

Actions

Likes
0
Downloads
68
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Algoritmos e Programação - 2014.1 - Aula de Revisão - 1º Estágio Algoritmos e Programação - 2014.1 - Aula de Revisão - 1º Estágio Presentation Transcript

  • Algoritmos e Programação Prof.º Thyago Maia 2014.1
  • Objetivos Revisão – 1º Estágio • Revisar todo conteúdo abordado no primeiro estágio da disciplina; 2
  • Tópicos Abordados
  • Tópicos Abordados • Introdução aos algoritmos; • Estrutura Sequencial; • Estruturas Condicionais: – SE...ENTÃO...SENÃO – ESCOLHA...CASO • Estruturas de Repetição: – PARA – ENQUANTO – REPITA...ATÉ 4
  • Introdução aos Algoritmos
  • Introdução aos Algoritmos  Sequência finita de instruções, ordenadas de forma lógica para a resolução de uma determinada tarefa ou problema;  Não envolve apenas aspectos computacionais; – Exemplos • Uma receita de bolo; • Manual de instruções; 6
  • Introdução aos Algoritmos  Algoritmo é uma espécie de passo a passo de ações (instruções);  Algoritmos retornam uma saída (ex.: um ovo frito) a partir de uma ou mais entradas (ex.: um ovo) através de uma sequência de passos;  Os passos são executados um após o outro (de forma sequencial); 7
  • Introdução aos Algoritmos  Um algoritmo está correto quando sua sequência de instruções retorna uma saída esperada;  Podem existir um ou mais algoritmos que retornam uma saída esperada;  Mas podem existir algoritmos mais eficientes que outros; 8
  • Por que criamos algoritmos?  A linguagem natural não pode ser interpretada por computadores;  Computadores são projetados para executar tarefas bem definidas a partir de instruções;  Para desenvolver software, utilizamos linguagens de programação...  A linguagem algorítmica é similar a uma linguagem de programação;  Logo, aprendendo a criar algoritmos, estamos aptos a programar em qualquer linguagem de programação; 9
  • Tipos de algoritmos
  • Tipos de algoritmos  Descrição Narrativa;  Fluxograma;  Pseudocódigo, Português Estruturado ou Portugol; 11 SUBJETIVIDADE PRECISÃO
  • Tipos de algoritmos  Fluxograma  Descrevem o fluxo de ação de um determinado trabalho lógico;  Usa símbolos convencionais, permitindo poucas variações;  Representados por símbolos geométricos; 12
  • Tipos de algoritmos • Fluxograma – Conjunto de Símbolos: 13 INÍCIO OU FIM DE ALGORITMO CÁLCULO OU ATRIBUIÇÃO DE VALOR ENTRADA DE DADOS SAÍDA DE DADOS DECISÃOFLUXO DE DADOS
  • Tipos de algoritmos • Exercício: Faça um algoritmo (fluxograma) que calcula a média de três notas de um determinado aluno e informa se o aluno está aprovado ou reprovado. – O aluno estará aprovado se sua média for maior ou igual a 7; 14
  • Tipos de algoritmos • Fluxograma – Exercício: 15 INÍCIO MEDIA = (N1 + N2 + N3) / 3 N1, N2, N3 APROVADO FIM MEDIA >= 7 SIM NÃO REPROVADO
  • 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); 16
  • Tipos de algoritmos  Português Estruturado (Portugol)  Normalmente as implementações são feitas em papel, escritas a mão; 17
  • Estrutura Sequencial em Portugol
  • Estrutura sequencial • Forma básica de um algoritmo em portugol: ALGORITMO DECLARE FIM_ALGORITMO 19 VARIÁVEIS INSTRUÇÕES TIPOS DE DADOS
  • Tipos de algoritmos • Exemplo: Faça um algoritmo que calcula e apresenta a multiplicação entre dois números. 20
  • Tipos de algoritmos ALGORITMO DECLARE N1, N2, M NUMERICO ESCREVA “Digite dois números” LEIA N1, N2 M <- N1 * N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM_ALGORITMO 21
  • Variáveis
  • 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; 23
  • 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 DECLARE. 24
  • Exemplo ALGORITMO DECLARE N1, N2, M NUMERICO NOME LITERAL ESCREVA “Digite dois números” LEIA N1, N2 M <- N1 * N2 ESCREVA “MULTIPLICAÇÃO = ” , M FIM_ALGORITMO 25
  • Tipos de dados
  • Tipos de dados 27 TIPO DESCRIÇÃO Numéricos Representa valores inteiros e reais Ex.: 2, 5, -3, 100, -151, 5.6, -3.45... Literais ou caracteres Representa texto entre aspas duplas Ex.: “Sport Recife”, “B”, “1234” Lógicos Representa os valores lógicos VERDADEIRO ou FALSO
  • Exemplo ALGORITMO DECLARE NOME, ENDERECO LITERAL IDADE, PESO NUMERICO EH_SOLTEIRO LOGICO NOME <- “Thyago” ENDERECO <- “Rua Tal, 555” IDADE <- 29 EH_SOLTEIRO <- falso FIM_ALGORITMO 28
  • Operador de atribuição
  • 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; 30
  • Exemplo ALGORITMO DECLARE NOME, ENDERECO LITERAL IDADE, NUM1, NUM2, SOMA NUMERICO EH_SOLTEIRO LOGICO NOME <- “Thyago” ENDERECO <- “Rua Tal, 555” IDADE <- 29 SOMA <- NUM1 + NUM2 EH_SOLTEIRO <- falso FIM_ALGORITMO 31
  • Comandos de entrada e saída em Portugol
  • Comandos de entrada e saída • Comando de entrada (leia) • Utilizado para ler um valor digitado pelo usuário, armazenando o referido valor em uma variável indicada no comando; 33
  • Comandos de entrada e saída • Comando de saída (escreva) • Utilizado para escrever mensagens ou valores de variáveis na saída padrão; 34
  • Exemplo • Faça um algoritmo que leia o nome e a idade de um indivíduo, exibindo-os logo em seguida; 35
  • Exemplo ALGORITMO DECLARE NOME LITERAL IDADE NUMERICO ESCREVA “Digite seu nome” LEIA NOME ESCREVA “Digite sua idade” LEIA IDADE ESCREVA “Seu nome é ”, NOME ESCREVA “Sua idade: ”, IDADE FIM_ALGORITMO 36
  • Estruturas Condicionais
  • Estruturas Condicionais • Na vida real tomamos decisões a todo momento, baseadas em escolhas; • Em algoritmos, chamamos tais decisões de condições; • Associada a uma condição, existirá uma possível alternativa; • Exemplo: Se o Sport não vencer o Santa Cruz na próxima partida, seu técnico será demitido; 38
  • Estruturas Condicionais • Para criarmos estruturas condicionais simples em Portugol, utilizamos as palavras reservadas SE e ENTAO; • Sintaxe: 39 SE condicao ENTAO INICIO // Instruções FIM
  • Exemplo • Faça um algoritmo que leia a idade de um indivíduo e informe se o mesmo atingiu a maioridade. 40
  • Exemplo ALGORITMO DECLARE idade NUMERICO ESCREVA “Digite sua idade:” LEIA idade SE (idade >= 18) ENTAO INICIO ESCREVA “Você atingiu a maioridade” FIM FIM_ALGORITMO 41
  • Estruturas Condicionais • Para criarmos estruturas condicionais com duas opções de escolha em Portugol, utilizamos as palavras reservadas SE, ENTAO e SENAO; 42
  • Estruturas Condicionais • Sintaxe: 43 SE (condicao) ENTAO INICIO // Instruções que serão executadas se // a condição for verdadeira FIM SENAO INICIO // Instruções que serão executadas se // a condição for falsa FIM
  • Exemplo • Faça um algoritmo que leia a idade de um indivíduo e informe se o mesmo atingiu a maioridade ou não. 44
  • Exemplo ALGORITMO DECLARE idade NUMERICO ESCREVA “Digite sua idade:” LEIA idade SE (idade >= 18) ENTAO INICIO ESCREVA “Você atingiu a maioridade” FIM SENAO INICIO ESCREVA “Você não atingiu a maioridade” FIM FIM_ALGORITMO 45
  • Estruturas Condicionais • Também podemos implementar estruturas condicionais com mais de uma condição (expressão); • Subexpressões podem formar uma única expressão a partir do uso dos operadores lógicos E ou OU; • Para sabermos se determinada expressão será verdadeira ou falsa, deveremos checar a saída lógica de cada subexpressão; 46
  • Exemplo • Uso do operador lógico OU: – Faça um algoritmo que lê uma sigla de um estado brasileiro (considere que o usuário só ira digitar um dos seguintes estados: PE, PB, SP ou RJ) e informa se o estado digitado pertence ao Nordeste ou ao Sudeste. 47
  • Exemplo ALGORITMO DECLARE sigla LITERAL ESCREVA “Digite uma sigla (PE, PB, RJ, SP):” LEIA sigla SE (sigla = “PE”) OU (sigla = “PB”) ENTAO INICIO ESCREVA “É do Nordeste!” FIM SE (sigla = “RJ”) OU (sigla = “SP”) ENTAO INICIO ESCREVA “É do Sudeste!” FIM FIM_ALGORITMO 48
  • Comando de Seleção Múltipla • Em algumas situações, existem situações mutuamente exclusivas: – Se uma situação for executada, as demais não serão; • Em casos desse tipo, um comando de seleção múltipla é mais indicado do que o comando SE; 49
  • Comando de Seleção Múltipla • Sintaxe: 50 ESCOLHA (VARIAVEL) INÍCIO CASO VALOR_1 // Instruções que serão executadas caso // VARIAVEL seja igual a VALOR_1 CASO VALOR_2 // Instruções que serão executadas caso // VARIAVEL seja igual a VALOR_2 OUTROCASO // Instruções que serão executadas caso // VARIAVEL NÃO seja igual a VALOR_1 e VALOR_2 FIM
  • Exemplo • Faça um algoritmo que lê o sexo de um indivíduo (M ou F) e informa se o mesmo é homem ou mulher; 51
  • Exemplo ALGORITMO DECLARE sexo LITERAL ESCREVA “Digite seu sexo:” LEIA sexo ESCOLHA (sexo) INICIO CASO “M” ESCREVA “É um homem” CASO “F” ESCREVA “É uma mulher” OUTROCASO ESCREVA “Caractere inválido!” FIM 52
  • Exemplo FIM_ALGORITMO 53
  • Estruturas de Repetição
  • Estruturas de Repetição • Uma estrutura de repetição é utilizada quando... – Um trecho do algoritmo (lista de instruções) ou até mesmo o algoritmo inteiro precisa ser repetido; • O número de repetições poderá ser fixo ou estar atrelado a uma condição; – Fixo, quando sabemos quantas vezes um determinado trecho de código será executado; – Atrelado a uma condição, quando a repetição de instruções depende de uma ação, de um cálculo, etc.; 55
  • Estrutura de Repetição PARA
  • PARA • Nesta estrutura, uma variável de controle é inicializada com um valor. Para cada iteração, seu valor é comparado com um valor final; • A execução da lista de instruções se repetirá até que a variável de controle seja maior que o valor final; • Para cada iteração, a variável de controle é incrementada; 57
  • PARA • Sintaxe: 58 PARA variavel <- val_inicial ATE val_final FACA INICIO // Lista de instruções FIM
  • Exemplo • Faça um algoritmo que escreva os números entre 1 e 5 (incluindo-os). 59
  • Exemplo ALGORITMO DECLARE i NUMERICO PARA i <- 1 ATE 5 FACA INICIO ESCREVA i FIM FIM_ALGORITMO 60
  • PARA • Para alterarmos a forma de contagem do laço (crescente ou decrescente) e quanto a variável de controle será incrementada ou decrementada, utilizamos a palavra reservada PASSO, seguida de um valor; • Forma geral: 61 PARA variavel <- val_inicial ATE val_final PASSO valor_passo FACA INICIO // Lista de instruções FIM
  • Exemplo • Faça um algoritmo que escreva os números pares entre 1 e 10. 62
  • Exemplo ALGORITMO DECLARE i NUMERICO PARA i <- 2 ATE 10 PASSO 2 FACA INICIO ESCREVA i FIM FIM_ALGORITMO 63
  • Enquanto
  • Enquanto • Nesta estrutura, uma expressão lógica é avaliada. Se a mesma for verdadeira, uma lista de comandos será executada; • A execução da lista se repetirá até que a avaliação da condição resulte em FALSO; 65
  • Enquanto • Forma geral: 66 ENQUANTO (condição) FACA INICIO // Lista de instruções FIM
  • Exemplo • Faça um algoritmo que lê diversos números positivos e escreve o dobro de cada um. Quando um número negativo for digitado, o algoritmo deverá parar de ler números. 67
  • Exemplo ALGORITMO DECLARE numero, dobro NUMERICO ESCREVA “Digite um número:” LEIA numero ENQUANTO (numero >= 0) FACA INICIO dobro <- numero * 2 ESCREVA dobro ESCREVA “Digite um número:” LEIA numero FIM FIM_ALGORITMO 68
  • Repita...ate
  • Repita...ate • Nesta estrutura, todas as instruções são executadas e uma expressão lógica é avaliada; • Sua lista de expressões se repetirá até que a avaliação da condição resulte em VERDADEIRO; • Cada repetição da lista de instruções contida na estrutura é chamada de iteração; • A estrutura Repita...até também é conhecida como laço de repetição; 70
  • Repita...ate • Utilizamos as palavras reservadas repita e ate para formar o laço de repetição; • Forma geral: 71 REPITA // Lista de instruções ATE condição
  • Exemplo • Faça um algoritmo que escreva os números entre 1 e 10. 72
  • Exemplo ALGORITMO DECLARE numero NUMERICO numero <- 1 REPITA ESCREVA numero numero <- numero + 1 ATE numero > 10 FIM_ALGORITMO 73
  • Exercícios
  • Exercício • Faça um algoritmo que lê o salário base de um funcionário, calcula e mostra o salário a receber, sabendo-se que o funcionário tem gratificação de 5% sobre o salário base e paga imposto de 7% sobre este salário. 75
  • Exercício ALGORITMO DECLARE sal, sal_receber, grat, imp NUMERICO ESCREVA “Digite seu salário:” LEIA sal grat <- sal * 5/100 imp <- sal * 7/100 sal_receber <- sal + grat - imp FIM_ALGORITMO 76
  • Exercício • Faça um algoritmo que lê o código correspondente ao cargo de um funcionário, seu salário atual e escreva o cargo correspondente, o valor do aumento e seu novo salário. 77 CÓDIGO CARGO PERCENTUAL 1 ESCRITURÁRIO 50% 2 SECRETÁRIO 35% 3 CAIXA 20% 4 GERENTE 10% 5 DIRETOR Não tem aumento
  • Exercício ALGORITMO DECLARE codigo, salario, aumento, novo_salario NUMERICO ESCREVA “Digite o código do cargo:” LEIA codigo ESCREVA “Digite o salário:” LEIA salario ESCOLHA (codigo) INICIO CASO 1 ESCREVA “Escriturário” aumento <- salario * 50/100 78
  • Exercício CASO 2 ESCREVA “Secretário” aumento <- salario * 35/100 CASO 3 ESCREVA “Caixa” aumento <- salario * 20/100 CASO 4 ESCREVA “Gerente” aumento <- salario * 10/100 CASO 5 ESCREVA “Diretor” aumento <- 0 79
  • Exercício OUTROCASO ESCREVA “Código inválido” FIM novo_salario <- salario + aumento ESCREVA “Valor do aumento:”, aumento ESCREVA “O novo salário é:”, novo_salario FIM_ALGORITMO 80
  • Exercício • Faça um algoritmo que lê a idade de 10 pessoas, calcula e escreve: – A idade do mais velho; – A quantidade de pessoas com idade entre 12 e 18 anos (incluindo-os); 81
  • Exercício ALGORITMO DECLARE i, idade, maior, quant NUMERICO PARA i <- 1 ATE 10 FACA INICIO ESCREVA “Digite sua idade:” LEIA idade SE (idade > maior) ENTAO INICIO maior <- idade FIM 82
  • Exercício SE (idade >= 12) E (idade <= 18) ENTAO INICIO quant <- quant + 1 FIM FIM ESCREVA maior ESCREVA quant FIM_ALGORITMO 83