Introdução à Programação de Computadores

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

Pseudo-código: sintaxe
TÉCNICAS DE PROGRAMAÇÃO I
Algoritmo I Aula 05 Pseudo-Linguagem.
Desenvolvendo Algoritmos
03/08/2011 Professor Leomir J. Borba- –
Introdução a Programação Renata Freire
Então, vamos lá! Qual é esse conteúdo?
Lógica de Programação Módulo II
Formas de representação de algoritmos
Programação para Engenharia I
Estruturas de Controle
ALGORITMO E ESTRUTURA DE DADOS
Introdução aos Algoritmos
1 4.6 – Variáveis - introdução Nesta altura (ao nível da programação) interessa saber que um computador tem: Nesta altura (ao nível da programação) interessa.
INTRODUÇÃO À PROGRAMAÇÃO
MEDIÇÃO ERROS - PROPAGAÇÃO (2) Prof. Cesário.
Algoritmos Prof. Kelly E. Medeiros.
PRC Bruno Correa.
Formas de Representação de Algoritmos
Introdução a Programação
Processamento da Informação BC-05045
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Introdução à Programação de Computadores
Introdução à Programação
Introdução a Computação e Cálculo Numérico
Fluxogramas e Pseudo-código
Introdução à Programação de Computadores
Introdução à Programação de Computadores Aula 06 – Operadores Lógicos
CEPMAT Curso Técnico em Informática
Representação de Algoritmos
Estrutura de dados, pseudocódigo
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Introdução a Programação
Fábio de Oliveira Borges
Introdução a Programação Algoritmos
TÉCNICAS DE PROGRAMAÇÃO
Introdução à Programação de Computadores
Introdução à Programação de Computadores
Introdução à Programação de Computadores Aula 08 – Variáveis em Python
Lógica de Programação/ Algoritmos Engenharia Produção 2014
Linguagem e Ambiente Scratch
Introdução à Programação de Computadores Aula 13 – Tabelas em Python
2. Lógica de Programação Definição de Lógica Definição de Algoritmo
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
Conceitos Básicos Luis Antonio Tavares
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Introdução a Algoritmos
Fábio de Oliveira Borges
Instituto Federal de Santa Catarina
Igor Steinmacher, MSc. O maravilhoso mundo da Lógica de Programação.
Algoritmos Estruturados
Programação de PIC em C Exposição das funções básicas para
Turma: Professor: Página: Ambiente virtual: IEC037 Introdução à Programação de Computadores Aula 05 – Estruturas Condicionais.
Algoritmos e Estruturas de Dados I - Introdução
Algoritmos.
Programação de Computadores - 1
Variáveis e Operadores
Etapas : Algoritmo é uma sequência lógica de instruções que podem ser executadas. É importante destacar que qualquer tarefa que siga um certo padrão.
Linguagens de Programação
Algoritmos e Programação I
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
ALGORITMOS.
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Algoritmos e Estruturas de Dados I - Introdução
Projeto e Desenvolvimento de Algoritmos
Sistemas para Internet Algoritmos e Lógica de Programação
Lógica de programação Introdução à lógica de programação
Algoritmos Grupos de Slides No 2. Prof. SIMÃO Estrutura de decisão simples “Se” if end Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

Introdução à Programação de Computadores IEC037 Introdução à Programação de Computadores Aula 03 – Estrutura Sequencial Turma: Professor: E-mail: Página: Ambiente virtual:

Problema Inicial Como revestir uma das paredes de um banheiro, usando ferramentas e material fornecido?

Definição de algoritmo Uma sequência finita e ordenada de passos sem ambiguidade que leva à resolução de um problema.

Problema Inicial :: Solução 1 início Separar material necessário Preparar argamassa Assentar as pastilhas Fazer acabamento fim

Problema Inicial :: Solução 2 início Comprar material necessário Existem várias maneiras de descrever uma solução algorítmica. Contratar um pedreiro Esperar ficar pronto Pagar o pedreiro fim

Como descrever um algoritmo? Narrativa O algoritmo é descrito em linguagem natural, que é abstrata, imprecisa e ambígua. Fluxograma Representação gráfica, através de símbolos geométricos (retângulos, losangos, etc.), que enfatizam os passos individuais do algoritmo e suas interconexões. Pseudo-Código Emprega uma linguagem intermediária entre a linguagem natural e uma linguagem de programação para descrever os algoritmos, usando um vocabulário mais restrito e sem ambiguidades.

Fluxogramas Definição Outras denominações Vantagem Desvantagem Diagrama que utiliza símbolos para indicar a sequência de execução de um conjunto de comandos Outras denominações Diagrama de blocos Diagrama de fluxo Vantagem Fácil leitura Desvantagem Escrita trabalhosa

Fluxogramas :: Simbologia início / fim ação Deve começar com um verbo leitura de dados Usado apenas quando a entrada não é conhecida. Se o valor for pré-definido, use o retângulo. saída Sentido do fluxo de execução

Problema 2 Qual a área da parede do banheiro a ser revestida, se ela mede 4,4m de largura por 3,2m de altura? 4,4m 3,2m

Processo de resolução de problemas algorítmicos Início 1 Identificar o problema 2 Definir as entradas e as saídas Decompor 3 Projetar o algoritmo Refinar passo a passo Este slide serve para fazer a correspondência do diagrama de resolução de problemas gerais (D1) para o diagrama de resolução de problemas algorítmicos (D2). Em D1, três passos (Identificar alternativas, Selecionar melhor solução e Listar instruções) foram fundidos em um único passo (Projetar algoritmo), em D2, como mostra o retângulo explicativo verde. Além disso, foi introduzido um passo entre Listar instruções e Avaliar a solução, em D1, gerando o passo Converter algoritmo..., em D2, como mostra o retângulo explicativo verde-água. Obs.: a cor do retângulo Projetar algoritmo é a mistura dos RGB dos retângulos Identificar alternativas, Selecionar melhor solução e Listar instruções.  Converter o algoritmo em linguagem de programação 4 5 Testar solução Fim

Caracterização das Entradas e Saídas Para uma identificação completa das entradas e saídas de um sistema, devemos levantar as seguintes características: Nome da grandeza Unidade de medida Faixa de valores válidos

Problema 2 Qual a área da parede do banheiro a ser revestida, se ela mede 4,4m de largura por 3,2m de altura?   Grandeza Unidade de medida Faixa de valores Entradas Largura da parede m 4,4m  Altura da parede 3,2m Saídas Área da parede m² > 0   Grandeza Unidade de medida Faixa de valores Entradas Saídas

Problema 2 :: Projetando a Solução Deve-se atribuir o valor 4,4 para a largura. Deve-se atribuir o valor 3,2 para a altura. Deve-se atribuir o produto da largura pela altura à área resultante: 𝐴=𝑏⋅ℎ

Problema 2 :: Solução Variáveis e atribuições início largura ← 4,4 altura ← 3,2 Variáveis e atribuições área ← largura * altura Exibir área fim

O que são variáveis no contexto algorítmico? Variáveis representam um espaço de memória onde se pode armazenar um valor. Memória 4,4 3,2 altura largura

Variáveis :: Características altura ← 3,2 Identificador Nome da variável Atribuição Comando que define ou redefine o valor de uma variável. Lê-se: “altura recebe 3,2” ou “atribuir 3,2 à altura” Valor

Variáveis :: Analogia largura 4,4 7,8 altura 3,2 Variáveis podem ser vistas como gavetas de um armário onde cabe apenas um único valor início largura ← 4,4 altura ← 3,2 largura 4,4 7,8 largura ← 7,8 altura 3,2 fim

Qual a relação com variáveis no contexto matemático? Matemática Variáveis podem assumir o valor de qualquer elemento de um conjunto. Algoritmos Variáveis podem assumir apenas um único valor de cada vez.

Problema 3 Deseja-se revestir uma das paredes de um banheiro, que mede 4,7m × 2,9m, com pastilhas quadradas de 4cm de lado. Quantas pastilhas são necessárias?   Grandeza Unidade de medida Faixa de valores Entradas  Lado da pastilha cm 4cm  Largura da parede m 4,7m  Altura da parede 2,9m Saídas  nº de pastilhas -- > 0   Grandeza Unidade de medida Faixa de valores Entradas Saídas

Problema 3 :: Projetando a Solução Número de pastilhas (𝑁): Área da parede: Área da pastilha: 𝑁= Área da parede Área da pastilha Parte inteira mais 1 Como expressar essas operações aritméticas no fluxograma? ? 𝑙𝑎𝑟𝑔𝑢𝑟𝑎⋅𝑎𝑙𝑡𝑢𝑟𝑎 𝑙𝑎𝑑 𝑜 2

Operadores Aritméticos São utilizados para realizar as operações aritméticas básicas. Operador  Operação  Exemplo + Adição 1 + y – Subtração x – y * Multiplicação 8 * y / Divisão real 7 / 2 (= 3,5) // Divisão inteira 7 // 2 (= 3) % Resto da divisão inteira 7 % 2 (= 1) ** Potenciação x ** 2

Operadores Aritméticos Entrada: 02 valores numéricos Saída: 01 valor numérico Operador Aritmético valor numérico Operadores Relacionais

Operadores Aritméticos :: Formato Operando1 Operando2 Exemplos: Operadores Relacionais 2a a³ 5 2 * a  a ** 3  5 ** 0,5 

Operadores Aritméticos :: Prioridade 1 Parênteses mais internos 2 Potenciação 3 Multiplicação, divisão, resto 4 Adição, subtração Da esquerda para a direita Operadores Relacionais 4 * 3 ** 2 36 Na dúvida, use parênteses. (4 * 3) ** 2 144 Exemplos: 4 * 5 % 3 2 4 * (5 % 3) 8

Voltando ao Problema 3 Deseja-se revestir uma das paredes de um banheiro, que mede 4,7m × 2,9m, com pastilhas quadradas de 4cm de lado. Quantas pastilhas são necessárias?   Grandeza Unidade de medida Faixa de valores Entradas  Lado da pastilha cm 4cm  Largura da parede m 4,7m  Altura da parede 2,9m Saídas  nº de pastilhas -- > 0   Grandeza Unidade de medida Faixa de valores Entradas Saídas

N ← (largura * altura) // (lado ** 2) + 1 Problema 3 :: Solução Memória início largura ← 470 altura ← 290 lado ← 4 470 largura Todos na mesma unidade de medida! 290 altura 4 lado N ← (largura * altura) // (lado ** 2) + 1 8519 N Operadores Aritméticos Exibir N fim

Problema 4 Deseja-se revestir uma das paredes de um banheiro, que mede 5,2m × 3,2m, com pastilhas quadradas de 5cm de lado. As pastilhas são vendidas em caixas de 1000 unidades, que custam R$ 450,00 cada. Quanto vou gastar?   Grandeza Unidade de medida Faixa de valores Entradas Lado da pastilha cm 5cm  Largura da parede m 5,2m Altura da parede 3,2m Nº pastilhas por caixa Unid./caixa 1000 Custo por caixa R$ R$ 450,00 Saídas Custo > 0   Grandeza Unidade de medida Faixa de valores Entradas Saídas

Problema 4 :: Projetando a Solução Reusamos solução do problema anterior: Número de pastilhas (𝑁) Custo Total (custoTotal): custoTotal= N Qtde. de pastilha por caixa ⋅CustoUnit Parte inteira mais 1

Problema 4 :: Solução 520 320 5 450,00 6656 3150,00 início Memória largura ← 520 altura ← 320 lado ← 5 custoUnit ← 450,00 520 largura 320 altura 5 lado N ← (largura * altura) // (lado ** 2) 450,00 custoUnit 6656 N custoTotal ← ((N // 1000) + 1) * custoUnit 3150,00 custoTotal Exibir custoTotal fim

É possível generalizar a entrada? Nas soluções anteriores, os fluxogramas foram específicos aos problemas. Vamos generalizar o fluxograma utilizando um novo símbolo: Leitura de dados

Problema 4 :: Solução generalizada início Ler largura Ler altura Ler lado Ler custoUnit N ← (largura * altura) // (lado ** 2) custoTotal ← ((N // 1000) + 1) * custoUnit Exibir custoTotal fim

Problema 5 Um professor esqueceu de corrigir uma questão de uma prova. Agora, ele tem de somar um ponto à nota dos alunos. Qual algoritmo a ser adotado?   Grandeza Unidade de medida Faixa de valores Entradas Nota --- 0 a 10 Saídas 1 a 11   Grandeza Unidade de medida Faixa de valores Entradas Saídas

Problema 5 :: Solução bruta Memória início 6,2 Ler notaInicial notaInicial 7,2 notaFinal notaFinal ← notaInicial + 1 Exibir notaFinal fim

Problema 5 :: Solução refinada início Ler nota 5,2 nota Memória nota ← nota + 1 6,2 nota Memória Exibir nota fim

Mesma variável em ambos os lados do operador atribuição início Verificar valor atual da variável “nota” nota ← nota + 1 Somar “nota” O que acontece? ? Armazenar resultado na mesma variável “nota” fim

Problema 6 Qual o valor exibido pelo fluxograma abaixo? início A ← 5 B ← B * A Exibir B fim

Problema 6 :: Solução Qual o valor exibido pelo fluxograma abaixo? 5 3 Memória B início A ← 5 B ← 3 B ← B * A Exibir B fim 5 15 A Memória B

Problema 7 Qual o valor exibido pelo fluxograma abaixo? início VAL3 ← VAL2 – VAL1 VAL3 ← VAL1 – VAL2 Exibir VAL3 fim

Problema 7 :: Solução Qual o valor exibido pelo fluxograma abaixo? 10 16 VAL1 Memória VAL2 ? VAL3 início VAL1 ← 10 VAL2 ← 16 VAL3 ← VAL2 – VAL1 VAL3 ← VAL1 – VAL2 Exibir VAL3 fim 10 16 VAL1 VAL2 6 VAL3 10 16 VAL1 VAL2 -6 VAL3

Problema 8 Qual os valores exibidos pelo fluxograma abaixo? início PRIM ← 5 SEG ← PRIM TER ← SEG PRIM ← 8 Exibir PRIM, SEG, TER fim

Problema 8 :: Solução Qual os valores exibidos pelo fluxograma abaixo? 5 ? PRIM Memória SEG TER início PRIM ← 5 SEG ← PRIM TER ← SEG PRIM ← 8 Exibir PRIM, SEG, TER fim 5 PRIM SEG ? TER 5 PRIM SEG TER 8 5 PRIM SEG TER

Problema 9 Deseja-se calcular o perímetro de um triângulo retângulo. Conhece-se apenas as medidas dos catetos. O que há de errado na solução ao lado? início Ler C1 Ler C2 H ← (C1 ** 2 + C2 ** 2) ** 0,5 Exibir H fim

Problema 9 :: Solução O problema a ser resolvido é a determinação do perímetro, e não da hipotenusa, que é apenas um passo intermediário. início Ler C1 Ler C2 H ← (C1 ** 2 + C2 ** 2) ** 0,5 P ← H + C1 + C2 Exibir P fim

Referências bibliográficas Menezes, Nilo Ney Coutinho (2010). Introdução à Programação com Python. Editora Novatec. Farrer, Harry (2011). Algoritmos Estruturados, 3ª edição. Editora LTC. Forbellone, A. L. V.; Eberspächer, H. F. (2006) Lógica de Programação, 3ª edição. Pearson. HETLAND, Magnus Lie (2008). Beginning Python: From Novice to Professional. Springer eBooks, 2ª edição. Disponível em: http://dx.doi.org/10.1007/978-1-4302-0634-7.

Dúvidas?