INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com



Documentos relacionados
Algoritmos não se aprendem: Copiando algoritmos Estudando algoritmos Algoritmos só se aprendem: Construindo algoritmos Testando algoritmos

Introdução à Programação e Algoritmos. Aécio Costa

Lógica de Programação

Lógica. Everson Santos Araujo

Algoritmos: Lógica para desenvolvimento de programação de computadores. Autor: José Augusto Manzano. Capítulo 1 Abordagem Contextual

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Lógica de Programação

Dadas a base e a altura de um triangulo, determinar sua área.

Algoritmos e Programação de Computadores I. Prof. Eduardo

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

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Programação I. Introdução a Lógica de Programação

1.1. Organização de um Sistema Computacional

Programação para Computação

Algoritmos. Cláudio Barbosa

Introdução à Computação

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

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

Resolução de problemas e desenvolvimento de algoritmos

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

10/02/2015. As linguagens. Algoritmos e Lógica de programação. Os produtos. Os ingredientes. Introdução. Atuais:.Net Java Delphi PHP

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.


Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos

ICC Introdução para JavaScript

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Algoritmos e Programação Parte Teórica

ESTRUTURA CONDICIONAL

Algoritmos e Programação de Computadores

Linguagem algorítmica: Portugol

Programação Estruturada

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

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

UFRPE Prof. Gustavo Callou

Algoritmos e Tipos de Dados

Conceitos Importantes:

Orientação a Objetos

Introdução a Algoritmos Parte 04

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO PARTE I. Prof. Dr. Daniel Caetano

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Algoritmos com VisuAlg

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Introdução à Lógica de Programação (cont.)

Estruturas de Controle A Tomada de Decisões

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Lição 1 Introdução à programação de computadores

Aula 01 Parte 03 Computadores e Algoritmos. Prof. Filipe Wall Mutz

Computação Eletrônica

Sessão 2 UFCD 0804 Algoritmos

Algoritmo e Programação

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

OBI2014 Caderno de Tarefas

01/08/2011. Introdução Lógica Sequencia lógica Instruções Algoritmos Programas. Lógica. Lógica na programação. Instrução.

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

ALGORITMOS E FLUXOGRAMAS

Introdução a Programação

EXEMPLO DE COMO FAZER UMA MALA DIRETA

CURSO: TÉCNICO EM INFORMÁTICA NA MODALIDADE EAD

ATIVIDADES PRÁTICAS SUPERVISIONADAS

MC-102 Aula 01. Instituto de Computação Unicamp

Programação II. Aula 2

Introdução à Programação de Computadores Parte I Componentes Básicos do Computador e de um Programa

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

APOSTILA DE EXCEL 2007

e à Linguagem de Programação Python

ROTEIRO PARA ELABORAÇÃO DE PROJETOS

Aula 02 Excel Operações Básicas

MICROSOFT OFFICE EXCEL 2007

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

1 Lógica de Programação

2. Representação Numérica

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO

AV2 - MA (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos?

ALGORITMOS E ESTRUTURAS DE DADOS I

Gestão da Qualidade por Processos

Engenharia de Software III

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

Geração de código intermediário. Novembro 2006

Introdução aos Sistemas da InformaçãoAula 4 p. 1

Manual SAGe Versão 1.2 (a partir da versão )

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

Algoritmos e Programação. Prof. Tarcio Carvalho

Operações de Caixa. Versão 2.0. Manual destinado à implantadores, técnicos do suporte e usuários finais

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Estruturas de entrada e saída

Manual. do POS. O novo POS é de fácil uso e aplicação. Conheça suas funções e características

Lógica de Programação

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Transcrição:

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Objetivos Entender a necessidade de se utilizar uma linguagem formal para construir algoritmos a serem interpretados por computadores Compreender os conceitos de variáveis, constantes e tipos de dados Conhecer os conceitos de comandos de atribuição, entrada e saída de dados Conhecer os operadores aritméticos e a ordem de precedência Construir nossos primeiros algoritmos em Portugol

Lógica Ramo da filosofia que estuda o fundamento, a estrutura e as expressões humanas do conhecimento Criada por Aristóteles no século IV a.c. para estudar o pensamento humano e distinguir interferências e argumentos certos e errados Contribuem para a validade e a força da argumentação, distinguindo-se dos aspectos psicológicos, históricos, sociológicos ou outros Auxilia na detecção de verdades e falsidades

Exemplos Exemplo 01 Sei que sou mais velho que João. Sei que João é mais velho que José. Logo, eu sou mais velho que José. Exemplo 02 Sei que o livro está no armário. Sei que o armário está fechado. Logo, tenho de abrir o armário para pegar o livro. Exemplo 03 Todo homem é mortal Sócrates é homem Logo, Sócrates é mortal.

Exemplos Atividade 04 Todos os filhos de João são mais altos do que Maria. Antônio é filho de João. Então, o que podemos concluir logicamente? Atividade 05 José é aluno da FUNAM. Para ser aprovado, um aluno da FUNAM precisa obter nota maior ou igual a 70 e comparecer a mais de 75% das aulas. José compareceu a todas as aulas e obteve nota igual a 80. Então, o que podemos concluir?

Lógica e Computadores A Lógica é amplamente utilizada na computação Semelhança na execução ordenada de uma sequência de ordens De um estado inicial, em um determinado período de tempo finito, são produzidos resultados Os resultados produzidos são esperados e bem definidos

Lógica de Programação Essencial para o desenvolvimento de programas para computadores Conjunto de técnicas para concatenar pensamentos afim de atingir determinado objetivo Tem como objetivo a construção de algoritmos

Algoritmo É a sequência de passos finitos (sistemáticos) para atingir um objetivo específico Processo sistemático para a resolução de um problema Uma sequência de passos computacionais que transformam a entrada na saída. As soluções para os problemas cotidianos mais simples podem ser descritas por sequências lógicas de atividades

Algoritmo com receita Um algoritmo é uma receita para se resolver um determinado problema É um plano a ser executado (lista de atividades) para alcançar determinado objetivo Sendo assim, a execução da lista de atividades de forma coerentemente, conforme estipulado na receita (algoritmo), leva sempre à resposta desejada

Algoritmo Uma sequência de passos computacionais que transformam a entrada na saída. Entrada Processamento Saída Entrada São os dados de entrada do algoritmo. Hardwares para entradas de dados: teclado, mouse, microfone, scanner Processamento São os procedimentos utilizados para chegar ao resultado final. Saída São os dados já processados. Hardwares para saída de dados: impressora, monitor, caixa de som

Algoritmo que soma dois números Problema: somar dois números Entrada: os números n1 e n2 Processamento: somar n1 a n2 Saída: o resultado de n1 + n2

Formas de representação Diversas formas de representação Mais comuns: Descrição narrativa Fluxograma convencional Pseudocódigo, também conhecido como Linguagem Estruturada (Português estruturado) ou Portugol.

DESCRIÇÃO NARRATIVA Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Descrição Narrativa Os algoritmos são expressos diretamente em linguagem natural Vantagens O português é bastante conhecido por nós; Desvantagens Imprecisão; Pouca confiabilidade (a imprecisão acarreta a desconfiança); Extensão (normalmente, escreve-se muito para dizer pouca coisa). Exemplos: Trocar Lâmpada Tomar um banho

Trocar Lâmpada 1. Pegar uma escada; 2. Posicionar a escada embaixo da lâmpada; 3. Pegar uma lâmpada nova; 4. Subir na escada; 5. Retirar a lâmpada velha; 6. Colocar a lâmpada nova. OBS: O exemplo acima é apenas uma das muitas soluções possíveis para o problema em questão.

Tomar um banho 1. Entrar no banheiro e tirar a roupa 2. Abrir a torneira do chuveiro 3. Entrar na água 4. Ensaboar-se 5. Sair da água 6. Fechar a torneira 7. Enxugar-se 8. Vestir-se

FLUXOGRAMA Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Fluxograma Representação gráfica de algoritmos Formas geométricas diferentes implicam ações (instruções, comandos) distintos. Facilita o entendimento das ideias contidas nos algoritmos e justifica a sua popularidade Intermediária da descrição narrativa com o pseudocódigo Menos imprecisa que a descrição narrativa Não se preocupa com detalhes da implementação do programa

Fluxogramas Vantagens: Ferramenta bastante conhecida; Figuras dizem muito mais que palavras; Padrão mundial. Desvantagens: Faz com que a solução do problema já esteja amarrada a dispositivos físicos; Pouca atenção aos dados, não oferecendo recursos para descrevê-los ou representá-los; Complica-se à medida que o algoritmo cresce.

Simbologia Terminal indica início e/ou fim do fluxo de um programa ou sub-programa. Seta de Fluxo de dados indica o sentido do fluxo. Serve para conectar os símbolos. Entrada operação de entrada de dados. Lê os dados necessários do programa Processamento operação de atribuição. Indica os cálculos a efetuar, ou atribuições de valores Saída operação de saída de dados. Apresenta os dados no monitor (ou algum outro dispositivo de saída) Decisão (a ser tomada) indicando os desvios para outros pontos do fluxo, dependendo do resultado da comparação Preparação grupo de operações não incluídas na diagramação (chave que modificará a execução de um determinado programa) Conector ao receber duas Setas de Fluxo de dados, normalmente após o fechamento dos processos decorrentes de uma decisão Conector de seção quando for necessário particionar o fluxograma. Coloca um número idêntico em ambas as seções / páginas, indicando a sua continuação.

Algoritmo de cálculo da média

Fluxograma Convencional

PSEUDOCÓDIGO Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Pseudocódigo Semelhante aos programas escritos Também chamado de Portugol ou Português Estruturado A linguagem de Programação mais próxima é o Pascal Possui maiores detalhes (contempla os tipos de variáveis)

Pseudocódigo Vantagens: Independência física da solução (solução lógica apenas); Usa o português como base; Pode-se definir quais e como os dados vão estar estruturados; Passagem quase imediata do algoritmo para uma linguagem de programação qualquer. Desvantagens: Exige a definição de uma linguagem não real para trabalho; Não padronizado. Pode ter certas diferenças dependo do autor / programador.

Estrutura de um Algoritmo ALGORITMO <Nome_do_Algoritmo> <declarações_de_variáveis> INÍCIO <corpo_do_algoritmo> FIM <Nome_do_Algoritmo> é um nome simbólico dado ao algoritmo com a finalidade de distingui-los dos demais. <declaração_de_variáveis> consiste em uma porção opcional onde são declaradas as variáveis globais usadas no algoritmo principal e, eventualmente, nos subalgoritmos. Início e Fim são respectivamente as palavras que delimitam o início e o término do conjunto de instruções do corpo do algoritmo.

Algoritmo de calculo de média ALGORITMO CalculoMedia var n1, n2, media: real INICIO LEIA(n1) LEIA(n2) media ((n1 + n2) / 2) SE (media >= 7) ENTAO ESCREVA( aprovado ) SENAO ESCREVA( reprovado ) FIMSE FIM

Diferentes representação de um algoritmo

Algoritmos com estruturas de decisão Cumprem a necessidade decisão a ser tomada a depender de algum passo Um fato indica se um ou mais passos do algoritmo serão executados ou não Estabelece uma condição necessária para a execução

Trocar Lâmpada 1. Ligue o interruptor 2. Se a lâmpada não acender: 1. Pegue uma escada; 2. Posicione a escada embaixo da lâmpada; 3. Pegue uma lâmpada nova; 4. Suba na escada; 5. Retire a lâmpada velha; 6. Coloque a lâmpada nova

Algoritmos com estruturas de repetição Define um fluxo de ações que se repete enquanto uma determinada situação acontece Permite executar a mesma ação de forma repetida sem a necessidade de aumentar o código escrito para realizar a ação novamente

Trocar Lâmpada Ligue o interruptor; Se a lâmpada não acender: Pegue uma escada; Posicione a escada embaixo da lâmpada; Pegue uma lâmpada nova; Suba na escada; Retire a lâmpada velha; Coloque a lâmpada nova. Enquanto a lâmpada não acender: Retire a lâmpada; Coloque uma outra lâmpada.

Resumo Nesta aula você conheceu o conceito de algoritmo Começou a desenvolver sua lógica de programação a partir de exemplos de algoritmos presentes em nosso cotidiano. Este é o primeiro passo para o aprendizado da programação

Exercício 1. Escreva um algoritmo (sequência de passos) para trocar um pneu de um carro. Utilize os três tipos de representação apresentados. 2. Descreva um algoritmo que defina como preparar um ovo frito. Utilize os três tipos de representação apresentados.

Exercício 3. Elabore um algoritmo que indique como fazer uma prova. Faça o algoritmo pensando que o aluno não deve deixar questões em branco; assim, deve continuar fazendo a prova enquanto existir questão em branco e o tempo de prova não tiver acabado. Além disso, o aluno só deve resolver uma questão se souber resolvê-la, senão pula para a próxima. 4. Suponha que você tenha uma caixa cheia de bolas. Nessa caixa existem bolas azuis e bolas vermelhas. Além disso, você tem também duas caixas vazias. Vamos chamar a caixa que contém as bolas de caixa 1 e as duas caixas vazias de caixa 2 e caixa 3. Neste contexto, escreva um algoritmo que defina como tirar todas as bolas da caixa 1, colocando as bolas azuis na caixa 2 e as bolas vermelhas na caixa 3.