You are on page 1of 9

ANHANGUERA EDUCACIONAL

CENTRO UNIVERSITRIO ANHANGUERA DE NITERI UNIAN

CINCIA DA COMPUTAO
PARADIGMAS DE LINGUAGEM DE PROGRAMAO

PEDRO VICTOR RA: 9902015418


RAFAEL ESCUDEIRO RA: 8411123304
VANESSA SOUZA RA: 8071838701
YURI SAMPAIO RA: 8487220728

ATPS LINGUAGENS DE PROGRAMAO

RELATRIO 1 CRITERIOS DE AVALIAO DAS LINGUAGENS


DE PROGRAMAO

Professor: Emanuel Barbosa Vicente

1- Sintaxe: oque define a forma de uma linguagem, formado por um conjunto


de regras e estabelece como so suas estruturas bsicas (as palavras).
Regras lxicas e regras sintticas formam uma linguagem de programao.
Regras Lxicas servem para descrever as combinaes vlidas de caracteres
que formam tokens da linguagem de programao, os tokens so palavras
reservadas, identificadores, operadores, etc.
As regras sintticas vo descrever como os tokens podem ser combinados
para assim formarem as instrues validas: Exemplos; os comandos, as
expresses, as subrotinas, etc

Semntica: a semntica tem funo de descrever o significado de construes


sintticas vlidas.
No existe uma notao padro e equivalente a BNF para a descrio da
semntica de linguagem de programao.
Formalismo diferentes foram desenvolvidos para atender a objetivos diferentes.
Geralmente uma linguagem de programao descrita informalmente,
utilizando-se a linguagem natural como o ingls, portugus, etc.

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.

Tratamento de excees: sistemas de tratamento de excees permitem


construir programas que: possuam definies de como proceder em caso de
comportamento no usual.
Possibilitem tanto o diagnostico quanto o tratamento de erros em tempo de
execuo.

3 - Exemplo de trecho cdigo difcil.

Programao C# - Cdigo Projeto Vendas


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

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)
{

MessageBox.Show(Suporte Tcnico: 0800 123 4320\nE-mail:


suporte@zambsis.com.br);
}
private void bntConfirmar_Click(object sender, EventArgs e)
{
if (!rdbCartao.Cheked && !rdbVista.Cheked)
{
MessageBox.Show(Favor selecionar a forma de pagamento!);
}
}
}
}

Exemplo de trecho cdigo fcil


Programa em Java Cdigo Projeto vendas
Package tpdv;

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);
}
}

You might also like