INF1005: Programação I. Algoritmos e Pseudocódigo

Documentos relacionados
Aula 02. Algoritmos e Pseudocódigo

Introdução à Programação

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Comandos de Desvio 1

Estruturas de Repetição

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

Exercícios de Fixação Aulas 05 e 06

Capítulo 5: Repetições

Introdução à Computação para o Ensino Médio. Centro Técnico Científico

Algoritmos. Prof. Jonatas Bastos

Metodologias de Programação

Algoritmo e Pseudo-código

1. Noção de algoritmo

FESP FACULDADE DE ENGENHARIA SÃO PAULO DISCIPLINA BP1: PROCESSAMENTO DE DADOS

Introdução à Algoritmos INF 1005 e INF Programação I

Controle de Fluxo Comandos de repetição: while e do-while

Aula 1 - Introdução Cleverton Hentz

Programação de Computadores III

Programação de Computadores:

Introdução à Lógica de Programação

Programação de Computadores IV. Introdução a Algoritmos SLIDES CEDIDOS POR Bruno Marques

Introdução à Algoritmos. Aula 11

Introdução à Computação

Programação de Computadores I

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA. Introdução à Programação em C. Algoritmos: Estruturas de Repetição. Prof. Dr. Galeno.J.

ALGORITMOS CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.

Introdução à Programação. slides de Deise Sacol

Lógica para programação II Seção 1 - Histórico e Introdução Primeiros Programas

Programação em C. Victor Amorim dos Santos

Pseudocódigo e Visualg

Aula 08 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS DISCIPLINA : INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO ASSUNTO: ALGORITMOS

MC Teste de Mesa e Comandos Repetitivos

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C. Exercícios: Structs

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Introdução à Lógica de Programação. Adaptação de Luis Otavio Alvares

Exercícios (if/ if else/ if elseif else)

ALGORITMOS E PROGRAMAÇÃO TEÓRICA RAÍ ALVES TAMARINDO RAI.TAMARINDO@UNIVASF.EDU.BR

Computadores = cérebros eletrônicos?

Algoritmos e Fluxogramas

PHP Estruturas de repetição

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

Programação. Folha Prática 4. Lab. 4. Departamento de Informática Universidade da Beira Interior Portugal Copyright 2010 All rights reserved.

CAPÍTULO 1 MATEMÁTICA Revisão de Conceitos Básicos

Microcontroladores. Programação: fluxogramas, pseudocódigos e lógica. Prof. Daniel

Ivanovitch Medeiros Dantas da Silva. Natal, 01 de setembro de 2011

Introdução a Programação Aula 01

INTRODUÇÃO À PROGRAMAÇÃO

Algoritmos Computacionais

Programação Básica de Computadores

Aula 5: determinação e simplificação de expressões lógicas

Avaliação e Desempenho Aula 1 - Simulação

C A P I T U L O 6 E S T R U T U R A S D E C O N T R O L E D E R E P E T I Ç Ã O

Lista 4 Introdução à Programação Entregar até 07/05/2012

OBSERVAÇÕES: EXERCÍCIOS

2ª Lista de Exercícios

Conceito de Algoritmos e Suas Características

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Switch switch switch switch switch variável_inteira valor1 valor2 switch variável_inteira case case break switch case default default switch switch

1. À primeira coluna (P), atribui-se uma quantidade de valores V igual à metade do total de linhas

AC05 Lista de Exercícios sobre Sequências, Condições e Repetição Em C++

3.3 Qual o menor caminho até a Escola? 28 CAPÍTULO 3. CICLOS E CAMINHOS

Algoritmos e Linguagem de Programação I

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 04 Algoritmos e Programação Estruturada

Álge g bra b B ooleana n Bernardo Gonçalves

5. ESTRUTURA DE CONTROLE TOMADA DE DECISÕES

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

Aula 02. MC Algoritmos e Programação de Computadores. Algoritmos: Definição e Exemplos.

OBI2012 Caderno de Tarefas

Objetivo. tica 3º ano EM. Oficina de Matemática

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Exercícios: Vetores e Matrizes

4 alimentos importantes para a saúde infantil

Algoritmos e Programação de Computadores Disciplina:

Lógica para computação Professor Marlon Marcon

Programação Estruturada

Linguagens de Programação:

GFM015 Introdução à Computação. Algoritmos. Ilmério Reis da Silva UFU/FACOM

PROGRAMAÇÃO DE COMPUTADORES I - BCC Lista de Exercícios do Módulo 1 - Preparação para a Prova 1

Matemática Básica Intervalos

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

Introdução à Programação. Ceça Moraes

Resolução de sistemas de equações lineares: Método de eliminação de Gauss

É neste ponto que entra o conceito de lógica de programação.

2. ALGORITMOS. Unesp Campus de Guaratinguetá

Faculdade de Estudos Avançados do Pará Disciplina: Algoritmos Professor: Armando Hage Algoritmos- continuação

Conceitos Básicos. Professor: Juliano Lucas Gonçalves.

Transcrição:

INF1005: Programação I Algoritmos e Pseudocódigo

Tópicos Principais Definição de Algoritmo Exemplos Básicos Formas de representação Condicionais Exemplos com Condicionais Repetições Exemplos com Repetições

Definição de Algoritmo Um algoritmo é uma sequência de ações que resolve um problema. Problema Algoritmo

Definição de Algoritmo Mais formalmente: Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecânicamente num período de tempo finito e com uma quantidade de esforço finito.

Exemplos Básicos Receita de um bolo de chocolate: 1. Bater duas claras em neve 2. Adicionar duas gemas 3. Adicionar uma xícara de açucar 4. Adicionar duas colheres de margarina 5. Adicionar uma xícara de farinha de trigo 6. Adicionar uma colher de chá de fermento 7. Adicionar uma xícara de chocolate em pó 8. Levar à batedeira até formar uma massa homogênea 9. Colocar numa forma e levar ao forno em fogo brando

Exemplos Básicos Para trocar um pneu de um carro: 1. Afrouxar ligeiramente as porcas 2. Suspender o carro com o macaco 3. Retirar as porcas e o pneu 4. Colocar o pneu reserva 5. Apertar as porcas 6. Abaixar o carro 7. Dar o aperto final nas porcas

Formas de Representação Linguagem Natural: Os algoritmos são expressos diretamente em linguagem natural (o português, por exemplo). Fluxograma: Representação gráfica que emprega formas geométricas padronizadas para indicar as diversas ações e decisões que devem ser executadas para resolver o problema. Pseudocódigo: Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever algoritmos.

Formas de Representação Problema: A partir de 3 notas de um aluno, calcular sua média aritmética e escrever na tela se ele foi aprovado ou reprovado, levando em conta que a média para aprovação deve ser pelo menos 5.0.

Formas de Representação Linguagem natural: 1. Obter as 3 notas das provas do aluno 2. Calcular a média aritmética das 3 notas 3. Comparar a média com o valor 5.0 4. Se for maior ou igual, escrever aprovado 5. Caso contrário, escrever reprovado

Formas de Representação Fluxograma:

Formas de Representação Fluxograma: bug

Formas de Representação Pseudocódigo: variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao escreva aluno reprovado

Formas de Representação Pseudocódigo: variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao escreva aluno reprovado armazenam informações necessárias para solução do problema

Formas de Representação Problema: A partir das três notas de um aluno, calcular sua média aritmética e determinar se ele foi aprovado, vai fazer prova final ou foi reprovado. O aluno é aprovado se tem média maior ou igual a 5.0, é reprovado se tem média menor que 3.0 e tem que fazer prova final se não cai em nenhum dos casos anteriores.

Formas de Representação Fluxograma: OBS: Tem um erro nesse diagrama. Quem consegue ver?

Formas de Representação Fluxograma: Dica: O erro está aqui

Formas de Representação Pseudocódigo: variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao se (media >= 3) entao escreva aluno em prova final senao escreva aluno reprovado

Condicionais Em diversos momentos, nós precisamos controlar a execução de um bloco de instruções, só permitindo sua execução quando uma condição for verdadeira.

Condicionais Exemplo: variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao escreva aluno reprovado

Condicionais Exemplo: escreva só executará se média for maior ou igual a 5 variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao escreva aluno reprovado

se (media >= 5) entao escreva aluno aprovado Condicionais

Condicionais se (media >= 5) entao escreva aluno aprovado se (condição verdadeira) entao instrução 1 instrução 2...

Condicionais Podemos tratar também quando uma condição é falsa Executa quando condição verdadeira se (media >= 5) entao escreva aluno aprovado senao escreva aluno reprovado

Condicionais Podemos tratar também quando uma condição é falsa Executa quando condição falsa se (media >= 5) entao escreva aluno aprovado senao escreva aluno reprovado

Condicionais Podemos incluir condicionais dentro dos blocos de instruções de condicionais Bloco executa apenas quando média < 5 variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao se (media >= 3) entao escreva aluno em prova final senao escreva aluno reprovado

Testes Condicionais Podemos incluir testes condicionais dentro dos blocos de instruções de testes condicionais Instrução executa apenas quando média < 5 e média >= 3 variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao se (media >= 3) entao escreva aluno em prova final senao escreva aluno reprovado

Testes Condicionais Podemos incluir testes condicionais dentro dos blocos de instruções Instrução executa apenas quando média < 3 variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao se (media >= 3) entao escreva aluno em prova final senao escreva aluno reprovado

Testes Condicionais Outra forma de escrever o pseudocódigo anterior: variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao se (media >= 3) entao escreva aluno em prova final senao escreva aluno reprovado variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5) entao escreva aluno aprovado senao se (media >= 3) entao escreva aluno em prova final senao escreva aluno reprovado

Expressões Booleanas A expressão que escrevemos até agora para testar se uma condição é verdadeira chama-se expressão booleana. Uma expressão booleana sempre gera um resultado verdadeiro ou falso.

Expressões Booleanas usaremos os seguintes formatos de expressões booleanas: - média > 5 (média maior que 5?) - média < 5 (média menor que 5?) - média >= 5 (média maior ou igual a 5?) - média <= 5 (média menor ou igual a 5?) - média!= 5 (média diferente de 5?) - média == 5 (média igual a 5?)

Combinando Expressões Booleanas Nós podemos combinar expressões booleanas de duas formas Essas combinações que nós veremos geram um resultado verdadeiro ou falso.

Combinando Expressões Booleanas Usando a conjunção e se(media < 5 e media >= 3) entao escrever em prova final

Combinando Expressões Booleanas Usando a conjunção e se(media < 5 e media >= 3) entao escrever em prova final Expressão 1 Expressão 2 Resultado Falso Falso Falso Falso Falso Verdadeiro Falso sofasl Verdadeiro Falso Verdadeiro Verdadeiro Verdadeiro dd

Combinando Expressões Booleanas Usando a disjunção ou se(nota == A ou nota == B) entao escrever passou com louvor

Combinando Expressões Booleanas Usando a disjunção ou se(nota == A ou nota == B) entao escrever passou com louvor Expressão 1 Expressão 2 Resultado Falso Falso Falso Falso Verdadeiro Verdadeiro sofasl Verdadeiro Falso Verdadeiro Verdadeiro Verdadeiro Verdadeiro dd

Exemplos com Condicionais Problema: Escreva um pseudocódigo que obtém as 3 notas de um aluno, calcula sua média e caso o aluno tenha sido aprovado, escreva na tela Aprovado. O aluno é aprovado se ele teve média maior ou igual a 5 e nenhuma nota menor que 3.

Exemplos com Condicionais variaveis media, nota1, nota2, nota3 inicio leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 se (media >= 5 e nota1 >= 3 e nota2 >= 3 e nota3 >= 3) entao escreva Aprovado

Exemplos com Condicionais Problema: Escreva um pseudocódigo que obtém as 3 notas de um aluno, calcula sua média e caso o aluno esteja em prova final, escrever Prova final. O aluno fica em prova final se ele teve média menor que 5 ou se tirou menos que 3 em uma de suas provas.

Exemplos com Condicionais variaveis media, nota1, nota2, nota3 inicio leia(nota1, nota2, nota3) media = (nota1+nota2+nota3)/3 se (media < 5 ou nota1 < 3 ou nota2 < 3 ou nota3 < 3) entao escreva Prova final

Repetições Existem diversos problemas que, para resolvê-los, precisamos executar uma sequência de instruções várias vezes. Para programar uma repetição, precisamos criar um laço (loop).

Repetições Uma forma de criar uma repetição é usar a palavra enquanto. enquanto(expressão booleana) faça instrução 1 instrução 2...

Repetições Uma forma de criar uma repetição é usar a palavra enquanto. enquanto(expressão booleana) faça instrução 1 instrução 2... instruções executam enquanto expressão booleana for verdadeira

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 0 Tela do Computador

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 0 Tela do Computador

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 0 Tela do Computador 0

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 1 Tela do Computador 0

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 1 Tela do Computador 0

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 1 Tela do Computador 0 1

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 2 Tela do Computador 0 1

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 2 Tela do Computador 0 1

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 2 Tela do Computador 0 1 2

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 3 Tela do Computador 0 1 2

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 Valor do número 3 Tela do Computador 0 1 2

Repetições Para escrever os números 0, 1 e 2 na tela: numero = 0 enquanto(numero < 3) faça escrever numero numero = numero + 1 falso Valor do número 3 Tela do Computador 0 1 2

Exemplos com Repetições Problema: Escreva um pseudocódigo que lê o número de alunos de uma turma e depois para cada aluno, lê a suas 3 notas da prova e no final escreve a média da turma.

Exemplos com Repetições variaveis num_alunos, i media, mediaturma, nota1, nota2, nota3 inicio leia num_alunos i = 0 mediaturma = 0 enquanto(i < num_alunos) faça leia nota1, nota2 e nota3 media = (nota1+nota2+nota3)/3 mediaturma = mediaturma + media i = i + 1 mediaturma = mediaturma / num_alunos escrever mediaturma

Exemplos com Repetições Problema: Ler um número não negativo e escrever na tela seu fatorial.

Exemplos com Repetições variaveis f, n inicio leia n f = 1 enquanto(n > 1) faça f = f * n n = n - 1 escreva f