Algoritmos e Linguagem de Programação I

Documentos relacionados
INTRODUÇÃO À PROGRAMAÇÃO

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

Algoritmos e Programação de Computadores Disciplina:

Pseudocódigo e Visualg

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

Programação Básica de Computadores

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

Programação em C. Victor Amorim dos Santos

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

Conceitos Básicos ENTRADA PROCESSAMENTO SAÍDA

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

Introdução à Computação

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

Algoritmos e Programação

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

Capítulo 1 - Lógica e Algoritmos

Algoritmos e Programação

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO À PROGRAMAÇÃO DE COMPUTADORES

Introdução à Programação

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

ALGORITMOS AULA 1. Profª Amanda Gondim

Aula 02. Algoritmos e Pseudocódigo

Processamento de Dados aplicado à Geociências. AULA 3: Algoritmos computacionais Representação de Algoritmos Sintaxe Tipos de dados Expressões

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

Estruturas de Controle de Fluxo

INTRODUÇÃO À PROGRAMAÇÃO. Introdução à Algoritmos. Prof. Me. Sérgio Carlos Portari Júnior

Técnicas de Programação

Fluxograma. Símbolo Nome Descrição

ALGORITMOS. O que é Algoritmo? Algoritmo é um dos processo para criação

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

Algoritmos e Programação. Ederson Luiz da Silva Ciência da Computação

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

Algoritmos e Programação

Algoritmos e Programação

4 Introdução ao Algoritmo

INTRODUÇÃO À LÓGICA DE PROGRAMAÇÃO. ANÁLISE E DESENVOLVIMENTO DE SISTEMAS/PARANGABA PROF. MS. RONNISON REGES VIDAL Ceará, 01 de fevereiro de 2017

Computadores = cérebros eletrônicos?

Algoritmos e Fluxogramas

Aula 1 - Introdução Cleverton Hentz

Funcionamento do computador. Conceito e definição de algoritmos. Prof. Alex Camargo

Introdução ao Conceito de Algoritmo e Programação Estruturada

3.1 - O que é um diagrama de bloco? Simbologia... 11

Capítulo 1 Conceitos Básicos

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Introdução à Programação. Prof. Gustavo Callou

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

Algoritmos e Programação

Projeto de Algoritmos

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

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

Aplicaremos a técnica do teste de mesa sobre o algoritmo abaixo, o qual visa determinar o número de vértices de uma figura geométrica.

I - CONCEITOS INICIAIS

Lógica de Programação

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

LÓGICA DE PROGRAMAÇÃO

Introdução à Algoritmos. Professora: Fabíola Gonçalves.

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Sistema Computacional

Noções de Algoritmos

LÓGICA DE PROGRAMAÇÃO 1

Pseudocódigo e visualg

Estruturas de Controle de Fluxo

A única diferença entre o difícil e o impossível é que o último demora um pouco mais de tempo para ser alcançado..

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

Algoritmos. Prof. Jonatas Bastos Site:

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

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

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

Introdução à Programação Aula 02. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Desenvolvimento de Algoritmos. RAD 2119 Tecnologia de Informação Aplicada a Administração. Essa aula. Lógica e Pensamento Lógico. Lógica.

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

2. Criação de Algoritmos

Fundamentos de Programação

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

Prof. Jorge Cavalcanti

Algoritmos - 1. Alexandre Diehl. Departamento de Física - UFPel

Introdução à Programação. 2ª aula. Prof. José Honorato F. Nunes

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

Transcrição:

Algoritmos e Linguagem de Programação I Roberto Ferreira roberto.ferreira@lapa.ifbaiano.edu.br 2014.1 Módulo I Aula 3 Algoritmos Computacionais

Na aula anterior vimos... Quais são os passos para solucionar um determinado problema. Exemplo: Estado inicial Estado final

Outro exemplo como fritar um ovo

ALGORITMOS COMPUTACIONAIS

Hardware x Software Usuário Software (Programas) Hardware (Máquina) Hardware: corresponde a parte física, o computador propriamente dito. Software: corresponde a parte lógica, são os programas e dados que rodam dentro do computador.

Programas O computador possui diversos programas. Um programa é um conjunto de instruções que indicam ao computador, passo a passo, o que ele tem que fazer. Logo, um programa nada mais é do que um algoritmo computacional descrito em uma linguagem de programação.

Programas O programa principal é chamado Sistema Operacional; Windows Linux (Ubuntu, Debian,...) Mac OS Exemplo de outros programas: Editor de texto: Word e Writer; Planilhas eletrônicas: Excel e Calc; Navegador de Internet: Internet Explorer, Firefox e Chrome. Jogos: Paciência, Campo Minado, outros.

Programas Linguagem de Programação Para que um algoritmo possa ser executado pelo computador, é necessário que ele seja programado, isto é, que ele seja transcrito para uma linguagem que o computador possa entender, direta ou indiretamente. Na disciplina, estudaremos inicialmente o Portugol e depois a linguagem de programação C.

Tradutor Os computadores só podem executar diretamente os algoritmos expressos em linguagem de máquina (que é um conjunto de instruções capazes de ativar diretamente os dispositivos eletrônicos do computador). Um tradutor é um programa que traduz um algoritmo que está escrito em uma determinada linguagem de programação em linguagem de máquina. Programa fonte Tradutor Programa Objeto Algoritmo ou programa escrito em uma determinada linguagem de programação Algoritmo ou programa traduzido para linguagem de máquina

Principais tipos de Linguagem de Programação Linguagem de Máquina (ou absoluta) Linguagem Simbólica (de Baixo Nível, de Montagem ou Assembler) Linguagem Automática (ou de Alto Nível) Linguagem que computador compreende Surgiu afim de simplificar a difícil programação da linguagem de máquina. Semelhantes às linguagens usadas para descrever o problema que se deseja resolver, ressaltando a linguagem profissional a que o usuário está acostumado. Instruções representadas por códigos binários: sequências de zeros e uns: 0001000010100011. Substitui os códigos binários por abreviações de nomes sugestivos que lembram a função da instrução. Existem várias linguagens automáticas: FORTRAN (FORmula TRANslation), ALGOL, PLI, APL, BASIC, LISP, SNOBOL, PASCAL, ADA, MODULA etc.

ALGORITMO Representa fielmente o raciocínio envolvido na Lógica de Programação Uma vez escrito pode ser traduzido para qualquer linguagem de programação

Diferença! ASPECTO ESTÁTICO Texto contendo instruções. Devem ser executados em uma ordem prescrita. ASPECTO DINÂMICO Efeitos que são causados pela execução do programa no tempo. Resultam em um conjunto de valores iniciais.

Foco no aspecto estático! Criar algoritmos para resolver problemas! Entrada: São os dados de entrada do algoritmo. Processamento: São os procedimentos utilizados para chegar ao resultado final. Saída: São os dados já processados.

Analogia ao ser humano

Exemplo Imagine o seguinte problema: Realizar a soma de dois números: N1 e N2. Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? b) Qual será o processamento a ser utilizado? c) Quais serão os dados de saída?

Exemplo Imagine o seguinte problema: Realizar a soma de dois números: N1 e N2. Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? Os dados de entrada são N1 e N2 b) Qual será o processamento a ser utilizado? O procedimento será somar todos os dados de entrada: Soma = N1 + N2 c) Quais serão os dados de saída? O dado de saída será a soma entre esses dois números

Algoritmo do exemplo Imagine o seguinte problema: Realizar a soma de dois números: N1 e N2. 1. Receba o número 1 2. Receba o número 2 3. Some os números 4. Mostre o resultado

Algoritmos Formas de representação Descrição Narrativa Fluxograma Convencional Diagrama de Chapin Pseudolinguagem

Descrição Narrativa Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Exemplos: Troca de um pneu furado: Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar o aperto final nas porcas

Descrição Narrativa Observação: Cálculo da média de um aluno: Obter as notas da primeira e da segunda prova Calcular a média aritmética entre as duas Se a média for maior ou igual a 6, o aluno foi aprovado, senão ele foi reprovado. Esta representação é pouco usada na prática porque o uso de linguagem natural muitas vezes dá oportunidade a más interpretações, ambiguidades e imprecisões.

Fluxograma Representação gráfica de algoritmos onde formas geométricas diferentes implicam ações distintas. Tal propriedade facilita o entendimento das idéias contidas nos algoritmos e justifica sua popularidade. Sua principal função é a de facilitar a visualização dos passos de um processamento.

Quadro de símbolos SÍMBOLO FUNÇÃO Início e fim do fluxograma Operação de entrada de dados Operação de saída de dados Operação de atribuição Decisão

Representação de algoritmo através de fluxograma Calcula a média e informa se o aluno foi aprovado ou não.

Diagrama de Chapin O diagrama foi criado por Ned Chapin. Substituir o fluxograma tradicional por um diagrama que apresenta uma visão hierárquica e estruturada da lógica do programa.

Pseudocódigo Também conhecida como pseudolinguagem, português estruturado ou portugol. É bastante rica em detalhes e, por assemelhar-se bastante à forma em que os programas são escritos. Esta representação é suficientemente geral para permitir que a tradução de um algoritmo nela representado para uma linguagem de programação específica seja praticamente direta.

Pseudocódigo

Seja um algoritmo Durante o desenvolvimento É importante verificar o estado dos dados a cada instrução. Verificando o conteúdo de todas as variáveis contidas no algoritmo. Este teste é chamado de Teste de mesa Significa, seguir as instruções do algoritmo de maneira precisa para verificar se o procedimento utilizado está correto ou não. Após desenvolver Deverá sempre ser testado.

Teste de mesa Deve-se enumerar as linhas do algoritmo. Em seguida criar uma tabela onde, a cada linha, são mostrados os conteúdos das variáveis do algoritmo e o número da linha executada. Para uma melhor visualização do processo, adotaremos a seguinte convenção: nas linhas em que uma variável é lida (entrada), o valor da variável ficará entre colchetes [ ]; quando o conteúdo de uma variável for escrito (saída), ficará entre chaves { }.

Relembrando os sólidos de Platão: As faces são constituídas por seções de planos, considerando que entre duas faces temos as arestas, as quais possuem em suas extremidades os vértices. Platão foi um filósofo grego, que viveu entre os séculos V e IV A.C., e estabeleceu importantes propriedades em alguns poliedros. O número de arestas é igual em todas as faces; Os ângulos poliédricos possuem o mesmo número de arestas; Nos sólidos considerados poliedros de Platão vale a relação de Euler (V A + F = 2) onde V = vértices, A = arestas e F = faces. Para encontrarmos o número de vértices, vamos isolar o vértice da equação acima, obtendo que: V = 2 + A - F.

Algoritmo para determinar o número de vértices de uma figura geométrica Inicio 1. Escreva ( Entre com o número de faces da figura geométrica: ) 2. Leia (faces) 3. Escreva ( Entre com um número de arestas da figura geométrica: ) 4. Leia (arestas) 5. Vértices <- arestas + 2 faces 6. Escreva ( O número de vértices do objeto especificado é:, vértices) Fim

Teste de mesa para este algoritmo Inicio 1. Escreva ( Entre com o número de faces da figura geométrica: ) 2. Leia (faces) 3. Escreva ( Entre com um número de arestas da figura geométrica: ) 4. Leia (arestas) 5. Vértices <- arestas + 2 faces 6. Escreva ( O número de vértices do objeto especificado é:, vértices) Fim Linha Vértices Faces Arestas 1???

Teste de mesa para este algoritmo Inicio 1. Escreva ( Entre com o número de faces da figura geométrica: ) 2. Leia (faces) 3. Escreva ( Entre com um número de arestas da figura geométrica: ) 4. Leia (arestas) 5. Vértices <- arestas + 2 faces 6. Escreva ( O número de vértices do objeto especificado é:, vértices) Fim Linha Vértices Faces Arestas 1??? 2? [6]?

Teste de mesa para este algoritmo Inicio 1. Escreva ( Entre com o número de faces da figura geométrica: ) 2. Leia (faces) 3. Escreva ( Entre com um número de arestas da figura geométrica: ) 4. Leia (arestas) 5. Vértices <- arestas + 2 faces 6. Escreva ( O número de vértices do objeto especificado é:, vértices) Fim Linha Vértices Faces Arestas 1??? 2? [6]? 3? 6?

Teste de mesa para este algoritmo Inicio 1. Escreva ( Entre com o número de faces da figura geométrica: ) 2. Leia (faces) 3. Escreva ( Entre com um número de arestas da figura geométrica: ) 4. Leia (arestas) 5. Vértices <- arestas + 2 faces 6. Escreva ( O número de vértices do objeto especificado é:, vértices) Fim Linha Vértices Faces Arestas 1??? 2? [6]? 3? 6? 4? 6 [12]

Teste de mesa para este algoritmo Inicio 1. Escreva ( Entre com o número de faces da figura geométrica: ) 2. Leia (faces) 3. Escreva ( Entre com um número de arestas da figura geométrica: ) 4. Leia (arestas) 5. Vértices <- arestas + 2 faces 6. Escreva ( O número de vértices do objeto especificado é:, vértices) Fim Linha Vértices Faces Arestas 1??? 2? [6]? 3? 6? 4? 6 [12] 5 8 6 12

Teste de mesa para este algoritmo Inicio 1. Escreva ( Entre com o número de faces da figura geométrica: ) 2. Leia (faces) 3. Escreva ( Entre com um número de arestas da figura geométrica: ) 4. Leia (arestas) 5. Vértices <- arestas + 2 faces 6. Escreva ( O número de vértices do objeto especificado é:, vértices) Fim Linha Vértices Faces Arestas 1??? 2? [6]? 3? 6? 4? 6 [12] 5 8 6 12 6 {8} 6 12

Exercícios 1. Quais são as etapas na criação de um algoritmo? 2. Identifique os dados de entrada, processamento e saída no algoritmo abaixo: Receba código do produto Receba valor do produto Receba quantidade comprada do produto Calcule o valor da compra Mostre o valor da compra 3. Crie um algoritmo utilizando descrição narrativa para resolver os seguintes problemas: a) Trocar uma lâmpada b) Preparar um café c) Receber um número e informe se ele é negativo, zero ou positivo 4. Represente os algoritmos criados na questão 3 através de fluxograma. 5. Faça um teste de mesa para o algoritmo da letra C da questão 3.