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
[email protected]
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
Leia base
Leia altura
Area < - base * altura /2
Escreva Area
Fim
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
Entrada/Saida
Decisão
Marca o momento do processamento dos dados
Marca a Entrada e Saída de dados
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
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)
Fim
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!
Download

Disciplina Lógica de Programação Visual Ana Rita Dutra dos