Princípios de Resolução de Problemas
Preferimos dizer que o problema é o desvio de um percurso, o qual impede de atingir com o sucesso um determinado objetivo com eficiência e eficácia.
Diferentes das diagramações clássicas, os diagramas de bloco são realmente o melhor instrumento para avaliação do problema do fluxo de informação de um dado sistemas.
Para desenvolver um diagrama correto, devemos:
· Devem ser feitos e quebrados em vários níveis. Devem conter apenas as idéias gerais;
· Deve ser desenvolvido de cima para baixo e da esquerda para direita;
· É incorreto e "proibido" ocorrer cruzamento das linhas de fluxo de dados.
Particularidades entre Lógicas
As representações gráficos de um diagramas de blocos podem ser feitas de várias maneiras e possuírem estruturas diferenciadas. A seguir, são apresentados alguns tipos de procedimentos individualmente.
Linear
A técnica lógica linear é conhecida como um modelo tradicional de desenvolvimento e resolução de um problema. Devemos entender que esse tipo de procedimento está voltado à técnica matemática, a qual permite determinar a atribuição de recursos limitados, utilizando uma coleção de elementos organizados ou ordenados por uma só propriedade.
Exemplo de lógica linear.
Estruturada
A técnica da lógica estrutura é a mais usada pelos profissionais de processamento eletrônico de dados. Tem como pontos fortes para elaboração futura de um programa, produzi-lo com alta qualidade e baixo custo.
A seqüência, a seleção e a iteração são as três estruturas básicas para a construção do diagrama em blocos.
N S
S
N
Sequence
If.. Then... Else
N
S
N
S N
S
Do...Whille N
Do... Until (repeat) S
S
N
S
. N
. S
N
Xase
Exemplo de lógica estruturada
Modular
A técnica da lógica modular deve ser elaborada como uma estrutura de independentes, denominada de módulos. Segundo James Martin, suas metas são as seguintes:
· Compor um diagrama em partes independentes;
· Dividir um problemas menores e mais simples
· Verificar a correção de um módulo de blocos, independentes utilização como uma unidade em processo maior.
A modularização deve ser desenvolvida, se possível, em diferentes níveis.
O modelo padrão de um módulo consiste em três partes: entrada, processamento e saída
S
S
N
N
Exemplo de lógica Modular
Diagrama de Chapin
O diagrama foi desenvolvido por Nassi e Sheneiderman e ampliado por Ned Chaplin, substituíram o diagrama de blocos tradicional por um diagrama em quadros que permite apresentar uma visão hierárquica e estruturada da lógica. A grande vantagem, é a representação das estruturas que tem um ponto de entrada e u ponto de saída e são compostos pelas estruturas básicas de controle de seqüência e repartição.
Português Estruturado
Está técnica de algoritmização é baseada
Símbolo para a Tomada de decisões
Estrutura do símbolo para a instrução se...então...fim_se
Operadores Relacionais
Ao ser utilizado a instrução se...então...fim_se, ela implica na utilização de condições para verificar o estado de uma determinada variável quanto verdadeiro ou falso. Estas verificações são efetuados conforme a tabela seguinte:
| Símbolo | Significado |
| = | Igual a |
| <> | Diferente de |
| > | Maior que |
| < | Menor que |
| >= | Maior ou igual a |
| <= | Menor ou igual a |
Desvio condicional Composto
O uso da instrução se...então...senão...fim_se, que sendo a condição Verdadeira, serão executadas todas as instruções que estejam posicionadas entre o se...então e a instrução senão. Sendo a condição Falsa, serão executadas as instruções que estejam entre o senão e a instrução fim_se.
N S
Estrutura do símbolo para a instrução se... então...senão...fim_se.
Desvios Condicionais Encadeados
Existem casos em que é necessário estabelecer verificação de condições sucessivas, em que uma determinada ação poderá ser executada se um conjunto anterior de instruções ou condições for satisfeito. Sendo a ação executada, ela poderá ainda estabelecer novas condições. Este tipo de estrutura são chamadas de aninhamentos ou encadeamentos.
N S
N S
Estrutura condicional composta ou encadeada
Operadores Lógicos
Pode ser que necessite trabalhar com o relacionamento de duas ou mais condições ao mesmo tempo na mesma instrução se, efetuando desta forma teste múltiplos. Para estes casos é necessário trabalhar com a utilização dos operadores lógicos, também conhecidos como operadores booleanos. Os mais conhecidos são:.e., .ou. e .não..
Operador lógico: .e. Operador lógico: . ou. Operador lógico: .não.
| C1 | C2 | R |
| C1 | C2 | R |
| C | R |
| F | F | F | F | F | F | V | F | ||
| V | F | F | V | F | V | F | V | ||
| F | V | F | F | V | V |
| |||
| V | V | V | V | V | V | ||||
Para demostrar a utilização de operadores lógicos em um exemplo um pouco maior, considere o seguinte exemplo:
Exemplo
Ler três valores para os dados de um triângulo, considerando lados como: A, B e C. verificar se os lados fornecidos formam realmente um triângulo, esse for esta condição verdadeira, deverá ser indicada qual tipo de triângulo foi formado: isósceles escaleno ou equilátero. Veja o algoritmo, diagrama de blocos e a codificação em português estruturado, prestando atenção na utilização dos operadores lógicos.
Algoritmo
Para estabelecer este algoritmo, é necessário em primeiro lugar saber o que realmente é um triângulo. Triângulo é uma forma geométrica (polígono) composta por três lado, sendo que cada lado é menor que a dos outros dois lados. Perceba que isto é uma regra (uma condição) e devera ser considerada. É um triângulo quando A B
Tendo certeza de que os valores informados para três lados formam um triângulo será formado: isósceles, escaleno ou equilátero.
Um triângulo é isósceles quando possui dois lados iguais, sendo A=B ou A=C ou B=C; é escaleno quando possui todos os lados diferentes, sendo A<>Be B<>C e é equilátero quando possui todos os lados iguais, sendo A=B e B=C.
1. ler três valores para os lados de um triângulo: A, B e C;
2. verificar se cada lado é menor que a soma dos outros dois lados. Se sim, saber se A=B e se B=C, sendo verdadeiro o triângulo é escaleno;
3. caso os lados fonercidos não caracterizam um triângulo, avisar a ocorrência.
Diagramas de Blocos
N S
N S
N S
Português Estruturado
programa TRIÂNGULO
var
A, B, C : real
início
leia A, B, C
se (A < style="">.e. (B < style=""> .e. (C < style=""> então
se (A = B) .e. (B = C) então
escreva "Triângulo Equilátero"
senão
se (A = B) .ou. (A = C) .ou. (C = B) então
escreva "Triângulo Isósceles"
senão
escreva "Triângulo Escaleno"
fim_se
fim_se
senão
escreva ‘As medidas não formam um triângulo’
fim_se
fim
TIPOS DE DADOS E INSTRUÇÕES PRIMITIVAS
Tipos de informação
O computador nada mais é do que uma ferramenta utilizada para solucionar problemas que envolvam a manipulação de informações, sendo essas, classificadas em: dados e instrução.
Tipos de dados
Os dados são representados por três tipos: dados numéricos (inteiros e reais), dados caracteres e dados lógicos.
Tipos Interinos
São os dados numéricos positivos ou não excluindo-se destes qualquer número fracionário.
Tipos reais
São os dados numéricos positivos, negativos e números fracionários.
Tipos caracteres
São as seqüências contendo letras, números e símbolos especiais.
Tipos lógicos
São os dados com valores verdadeiro e falso, sendo que este tipo de dado poderá representar apenas um dos dois valores. Ele é chamado por alguns de tipo booleano.
O uso de variáveis
Tem-se como definição de variável tudo aquilo que é sujeito a variações, que é incerto, instável ou constante.
Todo dado a ser armazenado deve ser necessário saber qual o seu tipo para depois fazer o seu armazenamento adequado.
É necessário estabelecer algumas regras de utilização das variáveis, como
· Nomes de uma variável poderão ser atribuídos com um ou mais caracteres;
· O primeiro caractere do nome de uma variável não poderá ser, hipótese alguma, um número;
· Não poderá ser nome de uma variável uma palavra reservada a uma instrução de programa;
· Não poderão ser utilizados outros caracteres a não ser letras e números.
O uso de Constantes
Tem-se como definição de constante tudo aquilo que é fixo ou estável. E existem vários momentos em que este conceito deverá estar em uso.
Os Operadores Aritméticos
Tanto variável como constantes poderão ser utilizadas na elaboração de expressões aritméticas, e para que isto ocorra é necessária a utiização de operadores aritméticos.
Os operadores aritméticos são classificados em binários ou unários.
| Operador | Operação | Tipo | Prioridade Matemática | Tipo de Retorno de Resultado |
| + | Manutenção de Sinal | Unário | 1 | Positivo |
| - | Inversão de Sinal | Unário | 1 | Negativo |
| ? | Exponenciação | Binário | 2 | Inteiro ou real |
| / | Divisão | Binário | 3 | Real |
| Div | Divisão | Binário | 3 | Inteiro |
| * | Multiplicação | Binário | 3 | Inteiro ou real |
| + | Adição | Binário | 4 | Inteiro ou real |
| - | Subtração | Binário | 4 | Inteiro ou real |
As Expressões aritméticas ou Fórmulas Matemáticas
Será muito comum trabalharmos com expressões aritméticas ou fórmulas matemáticas. Estas expressões são definidas pelo relacionamento existente entre variáveis e constantes numéricas por meio da utilização dos operadores aritméticos.
Instrução Básicas
As instruções são representadas pelo conjunto de palavras-chave, que tem por finalidade comandar em um computador o seu funcionamento e a forma como dados armazenadas deverão ser tratadas. Deve-se ainda considerar que existem várias linguagens de programação.
Deste ponto você terá contato com instrução do pseudocódigo, português estruturados, tais como: início, fim, var, programa, enquanto, e até_que, conjunto, inteiro, real, caractere, lógico, tipo, registro, fim_registro, procedimento, função, caso, fim_caso.
Algumas Regras Antes de Começar
Teremos Ter algum cuidado quando estivermos fazendo referência a uma instrução ou a uma variável. Termos algumas regras a saber:
· Todo problema a ser resolvido será passado para um algoritmo, para depois ser representado por diagramas de blocos;
· Toda referência feita a uma instrução será escrita em letra minúscula em formato negrito. As instruções não serão indicadas dentro dos diagramas de blocos;
· Toda referência feita a uma variável será escrita em letra maiúscula em formato itálico, sendo que serão sempre indicadas dentro dos diagramas de blocos;
· Qualquer valor atribuído a um a variável será feito com o símbolo ?, tanto no diagrama de blocos quanto em código português estruturados.
Entrada, Processamento e Saída
Para criar um programa que seja executável dentro de um computador, deve-se Ter em mente três pontos de trabalhos: a entrada de dados, o seu processamento e a saída deles. Se os dados forem entrados de forma errada, serão consequentemente processados de forma errada e resultarão em resposta erradas.
O processo de execução de um programa ocorre segundo o exposto, após a entrada de dados com a instrução leia e a sua saída com a instrução escreva. O processamento será uma conseqüência da manipulação das variáveis de ação.
Uma entrada e uma saída poderão ocorrer dentro de um computador de diversas formas. Devido a esta grande variedade, nossos programas escritos em português estruturado farão menção às instruções leia e Escreva.
Abaixo é relacionado um exemplo que aplica os conceitos ate aqui estudados
Exemplo
Construir um programa que efetue o cálculo do salário líquido de um professor. Para fazer este programa, você deverá possuir alguns dados, tais como: valor da hora aula, número de horas trabalhadas no mês e percentual de desconto do INSS. Em primeiro lugar, deve-se estabelecer qual será o seu salário bruto para efetuar o desconto e ter o valor do salário líquido.
Algoritimo
· Estabelecer a leitura da variável HT (horas trabalhadas no mês);
· Estabelecer a leitura da variável VH (valor hora aula);
· Estabelecer a leitura da variável PD (percentual de descontos);
· Calcular o salário bruto, sendo este a multiplicação das variáveis HT e VH;
· Clacul;ar o total de desconto (TD) com base no valor de PD dividido por 100;
· Calcular o salário líquido (SL), deduzindo o desconto do salário bruto;
· Apresentar os valores dos salários bruto e líquido.
Diagrama de Bloco
Português Estruturado
programa SALARIO_PROFESSOR
var
HT : inteiro
VH, PD, TD, SB : real
início
leia HT
leia VH
leia PD
SB ? HT * VH
Td ? (PD/100) * SB
SL ? SB – TD
escreva SB
escreva SL
fim








0 comentários:
Postar um comentário