Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CINCIA DA COMPUTAO
PARADIGMAS DE LINGUAGEM DE PROGRAMAO
2 - Legibilidade influi:
A O desenvolvimento e a depurao dos programas.
manuteno dos programas.
Todo o desempenho das equipes de programao.
Fatores que melhoram a legibilidade:
A abstrao de dados.
Os comandos de controle.
A modularizao de programas.
A documentao.
As convenes lxicas, a sintaxe e a semntica.
Capacidade de Escrita:
Medida da facilidade para confeccionar programa com destino a um domnio de
problema que fora escolhido.
Em sua maioria das caractersticas que afetam a legibilidade afetam tambm a
capacidade de escrita.
Escreve determinado programa, exige sempre uma releitura do que j fora
escrito.
Tendo o domnio dos problemas influenciara no julgamento na capacidade de
escrita de uma linguagem.
Utilizar COBOL para produo de relatrios comerciais XAPL o ideal para
manipular matrizes.
Caractersticas que contribuem para a capacidade de escrita:
Simplicidade e ortogonolidade.
Suporte para abstrao.
Expressividade.
Confiabilidade:
Mecanismos que facilitem a produo de programas que atendam s suas
especificaes.
Tipagem forte: o processador deve: Assegurar que a utilizao de dados seja
compatvel com a sua definio.
Evitar que as operaes perigosas, tal como aritmtica de ponteiros, seja
permitida.
namespace FormVendas
{
public partial class Form1 : Form
{
// constantes
private Sting[] PRODUTOARRAY = { Memoria Ram 512,Monitor
LCD,Impressora HP };
public Form1()
{
InitializeComponent();
// propriedades
txtbPreco.Text = R$ 0,00;
cmbProduto.Text = Selecione;
cmbProduto.Items.AddRange(PRODUTOARRAY);
}
Private void cmbProduto_SelectdlndexChange( object sender, EventArgs e)
{
Object ObjProduto = cmbProduto.Selectedltem;
PRODUTO = (string)ObjProduto;
// check
if (PRODUTO == Memoria Ram 512MB)
{
txtbPreco.Text = R$ 12,60;
}
else if (PRODUTO == Monitor LCD)
{
txtbPreco.Text = R$ 35,00;
}
else if (PRODUTO == R$ 450,00;
}
}
private void txtbPreco_TextChanged(object sender, EventArgs e)
{
}
private void bntSuporte_Click(object sender, EventArgs e)
{
import java.util.*;
/**
*Classe que representa uma venda de produtos feita atravs de um TPDV.
*Uma venda e composta de varias linhas de detalhe.
*Enquanto a venda no terminou, tais linhas de detalhe podem ser criadas.
*Um pagamento pode ser feito para pagar a venda.
*
*@author Craig Larman, Jacques Philippe Sauv, Jacques@dcs.ufpb.br
*@version 1.0
*/
class Venda implements IVenda {
/**
*As Linhas de detalhe da venda.
*/
private Date data = new Date(); // hoje
/**
*Indica se a venda terminou.
*/
private boolean is terminada = false;
/**
*O pagamento efetuado para a venda.
*/
private IPagamento pagamento;
/**
*Calcula o valor total da venda.
*@return o valor total da venda.
*/
public float total() {
float total = (float)0.0;
iterator it = linhasDetalhe.iterator();
while(it.hasNext()) {
total += ((ILinhaDetalhe)it.next()).subTotal();
}
return total;
}
/**
*Calcule o troco para a venda, aps um pagamento.
*@return O troco para a venda.
*/
public float getTroco() {
}
/**
*Chamado para indicar que a venda terminou.
*/
void terminou() {
isTerminada = True
}
/**
*Obtm o status da venda.
*@return true se a venda terminou; false caso contrario.
*/
boolean isTerminada() {
return isTerminada;
}
/**
*Cria uma linha de detalhe para a venda.
*@param espec A especificao do produto sendo comprado.
*@param quantidade A quantidade de itens ( do mesmo produto ) sendo
comprados.
*/
void criaLinhaDetalhe(IEspecProduto espec, int quantidade) {
linhasDetalhe.add(makeLinhaDetalhe(espec, quantidade));
}
/**
*Faz um pagamento para a venda.
*@param valorEntregue o valor entregue pelo cliente para pagar a venda.
*/
void faaPagamento(float valorEntregue) throws
PagamentoInsuficienteException {
If(valorEntregue < total()) {
throw new PagamentoInsuficienteException(Pagamento insuficiente);
}
// factory methods
Protected ILinhaDetalhe makeLinhaDetalhe(IEspecProduto espec, int
quantidade) {
return new LinhaDetalheVenda(escpec, quantidade);
}
protected IPagamento makePagamento(float valorEntregue) {
return new Pagamento(valorEntregue);
}
}