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



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

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

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

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

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

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

Resolução de problemas e desenvolvimento de algoritmos

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

Conceitos Importantes:

1.1. Organização de um Sistema Computacional

Árvores Binárias Balanceadas

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

Aula 2 Modelo Simplificado de Computador

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

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

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

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Organização e Arquitetura de Computadores I

1. NÍVEL CONVENCIONAL DE MÁQUINA

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Introdução a Informática. Prof.: Roberto Franciscatto

Orientação a Objetos

Problemas insolúveis. Um exemplo simples e concreto

2. Representação Numérica

Organização de programas em Python. Vanessa Braganholo

Computadores XXI: Busca e execução Final

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

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

REVISÃO E AVALIAÇÃO DA MATEMÁTICA

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

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

Introdução às Linguagens de Programação

Lógica de Programação

A4 Projeto Integrador e Lista de Jogos

ALGORITMOS E FLUXOGRAMAS

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

Organização e Arquitetura de Computadores I. de Computadores

Algoritmos com VisuAlg

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Lição 1 - Criação de campos calculados em consultas

Introdução a Algoritmos Parte 04

AMBIENTE DE PROGRAMAÇÃO PYTHON

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

DICAS PARA CÁLCULOS MAIS RÁPIDOS ARTIGO 07

Informática I. Aula 5. Aula 5-13/05/2006 1

3. Arquitetura Básica do Computador

Arquitetura de Computadores. Tipos de Instruções

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

1. Introdução ao uso da calculadora

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

APOSTILA DE EXCEL 2007

Tecnologia da Informação. Visão Geral sobre Informática

Sistemas de Numerações.

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

Algoritmos e Programação de Computadores

Tutorial de Matlab Francesco Franco

Linguagem algorítmica: Portugol

Estruturas de Controle A Tomada de Decisões

Fundamentos em Informática (Sistemas de Numeração e Representação de Dados)

QualiQuantiSoft Versão 1.3c

Disciplina: Introdução à informática Profª Érica Barcelos

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

5 Equacionando os problemas

Figura 1 Busca Linear

Sistema de Computação

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Programação Estruturada

Iniciação à Informática

Material Teórico - Módulo de Divisibilidade. MDC e MMC - Parte 1. Sexto Ano. Prof. Angelo Papa Neto

O modelo do computador

e à Linguagem de Programação Python

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

Bacharelado em Ciência e Tecnologia Bacharelado em Ciências e Humanidades. Representação Gráfica de Funções

9 Comandos condicionais

Engenharia de Software III

Permissões de compartilhamento e NTFS - Parte 1

Tais operações podem utilizar um (operações unárias) ou dois (operações binárias) valores.

Aritmética Binária e. Bernardo Nunes Gonçalves

Unidade 3: Trabalhando com variáveis no App Inventor

Bases Matemáticas. Aula 2 Métodos de Demonstração. Rodrigo Hausen. v /15

Desenvolvendo Websites com PHP

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

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

EXEMPLO DE COMO FAZER UMA MALA DIRETA

O Excel é um programa de computador desenvolvido para gerenciar dados na forma de planilhas.

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

BARRAMENTO DO SISTEMA

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

SISTEMAS DE NUMERAÇÃO

PLANEJAMENTO DA MANUFATURA

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Transcrição:

Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares O computador tornou-se uma poderosa ferramenta, presente nas mais variáveis áreas da atividade humana, devido fundamentalmente ao fato de o mesmo ser uma máquina programável. Essa caracteristica faz dele uma máquina que pode ser usada na determinação da solução dos mais variados tipos de problemas. Basicamente, um computador consiste de uma máquina que executa ordens. Assim, para que ele apresente a solução de um problema, é necessário que execute um programa, o qual fará com que se obtenha uma solução. Como uma definição preliminar, pode-se dizer que programar um computador consiste na elaboração de uma sequencia de instruções ordenadas, lógicas e finitas, de forma que, ao serem executadas, o computador obtenha a solução de um determinado problema. É fundamental a compreenssão dos conceitos envolvidos na modelagem da resolução de um problema em um computador. Paradigma Programação Estruturada De acordo com este paradigma, a escrita de um programa para a resolução de um problema, esta baseada na divisão do problema maior em problemas menores. Para cada problema menor, identifica-se quais os dados que esse problema apresenta e a que resultados se quer chegar. Os dados que o problema apresenta são denominados Entradas e os resultados desejados são denominados Saídas. Definidas as entradas e saídas, deve-se determinar que tipo de processamento deve ser executado, para que, a partir das entradas, obtenham-se as saidas. Assim, a escrita de um programa envolve todo um processo de análise do problema, onde a divisão de um problema maior em problemas menores constitui-se uma caracteristica fundamental. Resolvendo um problema Para que se tenha uma visão mais clara do que signific programar um computador, vamos analisar um pequeno problema e escrever para este a primeira versão de um programa. Obviamente que, por menos que seja o problema, a construção de um programa que resolva este problema, envolve um conjunto razoável de informações. Suponha que nosso problema seja escrever um programa que faça com que o computador resolva o seguinte problema: Dadas a base e a altura de um triangulo, determinar sua área.

Pelo enunciado do problema, podemos concluir que este apresenta como dados (entradas) os valores da base e da altura, os quais são necessários para a resolução do problema. Também podemos concluir que a solução do problema consiste em se encontrar o valor da área do triângulo. Temos, então, como saída, o valor da área. Para que possamos escrever uma primeira versão de programa para esse problema, é necessário que saibamos alguns conceitos sobre como funciona um computador. Afinal, que tipo de instruções um computador pode executar? Como são armazenados os valores que processa? Que conhecimentos tem o computador? Dados os objetivos deste livro, vamos visualizar um computador como sendo uma máquina cega, que conhece um conjunto limitado de instruções e só as executa se solicitado. Vamos considerar, por enquanto, que um computador consiste em uma máquina que sabe: Ler; Escrever; Efetuar operações aritméticas básicas, tais como: adição, subtração, multiplicação e divisão. A maioria das instruções que o computador executa está, de alguma forma, associada ao processo de armazenamento de valores na sua memória ou ao processo de cópia de valores de sua memória. Assim, se quisermos que o computador saiba qual o valor da altura do triângulo, que, conforme vimos, é necessário para o cálculo da área, devemos instruí-lo de forma que leia um valor, a ser fornecido pelo usuário, e que esse valor seja armazenado em algum local de sua memória. O computador só sabe ou conhece aqueles valores que estão armazenados em sua memória. Para que o computador armazene os dados na sua memória é necessário reservar os espaços que serão utilizados dentro desta memória, ou seja, é necessária a criação de caixinhas que serão utilizadas tanto para trazer dados para dentro do sistema, como bem como, para armazenar o resultado das operações realizadas pelo computador. Cada caixinha pode armazenar apenas um valor. A estas caixinhas damos o nome de variáveis. O Conceito de variável será explorado nas próximas etapas da nossa disciplina. Dadas essas considerações, podemos escrever o programa faz com que o computador calcule a área de um triângulo, como segue: Inicio Fim Leia base Leia altura Area < - base * altura /2 Escreva Area Você poder abservar que nosso programa utilizou as caixinhas base, altura e área para resolver nosso problema. Ou seja, através das caixinhas base e altura trazemos dados para dentro do nosso sistema, e através da caixinha area armazenamos o resultado da operação realizada. Para facilitar nosso proceso de programação é interessante que ao criarmos nossas caixinhas ou seja, nossas variáveis, em seu nome possamos colocar informações que nos

mostre algum dado sobre o problema em questão, ou seja, em vez de criar uma variável chamada de X, vamos criar uma variável chamada de Base, etc. No momento da instrução Leia Base temos o processo de entrada dos dados, onde o usuário insere os dados e o sistema efetua a leitura, ou seja, ele lê a informação e armazena dentro do sistema, o mesmo se repere na instrução Leia Altura. Logo após, temos o momento do processamento dos dados através da realização da operação Area Base*Altura/2. Neste momento estamos dizendo para o sistema que a variável Area recebe a operação a seguir (base*altura/2). Sendo assim, chegamos até o valor da área do triangulo, que dele ser exibido para o usuário através do comando Escreva Area. Este comando escreve, exibi o resultado final do processo, a saida de dados, resolução do nosso problema. Definição de linguagem Conforme pode ser observado na seção anterior, para escrever nossa primeira versão de um programa, usamos uma determinada linguagem. Uma linguagem pode ser definida como um conjunto de símbolos e regras utilizados em um processo de comunicação. Em termos de programação de computadores, várias são as linguagens disponíveis, cada qual com suas características. Nosso objetivo neste primeiro momento da disciplina é apresentar ao estudante de tecnologia todos os conceitos envolvidos na construção de um programa de computador, sem, contudo, entrar em aspectos relativos a uma determinada linguagem de programação. Assim, estaremos usando neste momento uma metodologia de ensino que chamamos de Português Estruturado, esta lingugem gera um Pseudocódigo, como caminho para a resolução dos problemas. Esse pseudocódigo, assim chamado por não ser uma linguagem de programação propriamente dita, tem por base o português e suas características básicas procuram seguir o especificado em linguagens de programação tradicionais. Mais especificamente, esse pseudocódigo será apresentado de uma forma bastante similar à linguagem de programação Pascal. Considerando que o pseudocódigo não constitui-se em uma linguagem de programação disponível em computador, o conjunto de instruções escrito em pseudocódigo será denominado de algoritmo, em vez de programa. Ao usarmos um pseudocódigo, em vez de uma linguagem de programação, não necessitamos nos preocupar com detalhes específicos da linguagem. Isto possibilita que o projetista se concentre fundamentalmente na montagem lógica da resolução do problema. Desenvolvendo um software Neste momento inicial da disciplina organizaremos o processo de desenvolvimento de um software como alicerçado em tres etapas: Ordenamento de ideias Elaboração do Fluxograma Criação do Algoritmo

Ordenamento de idéias É o momento inicial do desenvolvimento de um software, onde de forma rudimentar organizamos as ideias sobre a resolução doreferido problema. Podemos neste momento pensar no nosso problema, dividi-lo em subproblemas, pensar nas etapas e passos logicos necessários para a sua resolução. Aqui podemos elaborar uma lista com os passos logicos, ordenados e finitos que culminarão na resolução de problemas. Conceito de Fluxograma É uma ferramenta usada e desenvolvida pelo profissional que está envolvido diretamente com programação, tendo como objetivo descrever o método e a seqüência do processo dos planos num computador. É também uma maneira simples e concisa de representar dados sobre uma superfície plana, por meio de diferentes formas, de modo a facilitar a visualização completa e imediata de dados ou fenômenos tabulados. Simbologias básicas Estes são alguns dos símbolos mais utilizados ao longo dos anos pelos profissionais de Processamento de Dados: Inico/Fim Forma Terminal : Utilizada para marcar o Inicio do fluxo de um programa.. Setas : As setas marcam o fluxo dos dados dentro do fluxograma Processamento Marca o momento do processamento dos dados Entrada/Saida Marca a Entrada e Saída de dados Decisão Decisão - indica a decisão que deve ser tomada indicando a possibilidade de desvio para

outros pontos do fluxo, dependendo do resultado de comparação e de acordo com situações variáveis. Conceito de Algoritmo Podemos definir algoritmo como sendo uma seqüência finita e lógica de instruções executáveis, especificadas em uma determinada linguagem, que mostram como resolver determinado problema. Veja que essa definição não está presa a utilização ou não do computador. Qualquer seqüência de instruções que mostra como resolver um problema constitui-se em um algoritmo. Uma receita de bolo é um bom exemplo de algoritmo. Uma receita de bolo constituise em uma seqüência finita e lógica de instruções, as quais mostram o que uma cozinheira deve fazer, e em que ordem, para obter um bolo. Veja que a receita especifica todos os passos em uma seqüência onde a ordem das instruções ou passos é fundamental. Um algoritmo deve especificar quais são as instruções que devem ser executadas e em que ordem. Se o problema for, por exemplo, calcular a média aritmética de três valores, o seguinte algoritmo poderia ser usado por alguém que fosse resolver este problema: - Conhecer os três valores; - Determinar a soma dos três valores; - Dividir a soma por 3, encontrando a média; - Mostrar a média encontrada. Para o problema do cálculo da média dos três valores, pode-se escrever o seguinte algoritmo: Inicio Fim Leia Valor_a (1) Leia Valor_b (2) Leia Valor_c (3) Soma Valor_a + Valor_b + Valor_c (4) Media Soma/3 (5) Escreva Media (6) A execução das instruções (1), (2) e (3) faz com que o computador leia os valores dos quais se deseja determinar a média. Veja que, de acordo com as instruções, o primeiro valor será lido e armazenado na posição de memória identificada com o nome Valor a; o segundo valor será armazenado na posição Valor b; e o terceiro, na posição Valor c. A execução da instrução (4), faz com que sejam copiados e somados os valores que estão armazenados nas posições Valor a, Valor -b e Valor c. O resultado obtido, de acordo com a instrução, será armazenado na posição de memória Soma. A execução da instrução (5) faz com que o valor armazenado em Soma seja dividido por 3 e o resultado seja armazenado na posição Media. A instrução (6) faz com que seja mostrado o valor armazenado na posição Media.

Pelos exemplos apresentados, podemos concluir que a construção de um algoritmo envolve todo um processo de análise do problema, com o objetivo de abstrair-se uma solução. Nessa análise, deve-se identificar claramente quais os dados que são necessários para a resolução do problema. Esses dados são denominados entradas. Também deve ficar claro a que resultados se quer chegar, ou seja, em que consiste a solução do problema. Aos resultados a que se quer chegar, denominamos saídas. Voltamos a lembrar, entretanto, que o princípio fundamental da programação estruturada consiste em considerar o problema a ser solucionado como sendo composto por subproblemas. Dividindo-se o problema maior em subproblemas menores, estes serão mais facilmente resolvidos. Bons Estudos!