ATPS-Paradigmas
-
Upload
erica-bell -
Category
Documents
-
view
17 -
download
0
description
Transcript of ATPS-Paradigmas
Paradigmas de Linguagem de Programação
Atividades Práticas Supervisionadas de Paradigmas de Linguagem de
Programação
Professor:
Unidade II
Atividades Práticas Supervisionadas de Paradigmas de Linguagem de
Programação
Trabalho desenvolvido para a disciplina de
Teoria da contabilidade, apresentado à
Anhanguera Educacional como exigência
parcial á obtenção do grau de Bacharel em
Ciência da Computação, para a avaliação das
Atividades Práticas Supervisionadas, sob a
orientação do Professor:
RESUMO
SUMÁRIO
INTRODUÇÃO
1. DESAFIO
A PwC, PricerwaterhouseCooper, presta diversos serviços entre eles a
auditoria e o outsourcing, para o qual possui o seguinte conceito: “Há mudanças que
podemos fazer sozinhos; para as demais, necessitamos de profissionais especializados”.
Considere a seguinte situação hipotética: a PwC foi contratada para auditar os processos
de uma importante fábrica de software e no momento está com sua equipe de
profissionais de TI atuando em outros projetos importantes. Tendo em vista que a
empresa presta e conhece bem os benefícios do outsourcing, ela fará uma avaliação de
parceiros que possam atuar nesse projeto de auditoria.
A seleção da equipe ou empresa parceira será pela análise de desempenho dos
profissionais em questões relativas aos paradigmas de linguagem. Isso ocorrerá porque
umas das tarefas da auditoria será avaliar se as linguagens utilizadas para o
desenvolvimento dos diversos aplicativos estão adequadas as suas finalidades. Considere
que você e sua equipe estão participando desse projeto seletivo que compreenderá na
elaboração das atividades previstas nas etapas desse desafio que serão avaliadas pelo
professor da disciplina, compondo a nota final dessa atividade.
1.1 Etapa 1
Sintáticas: Uma linguagem de programação é uma notação utilizada pelo
programador para especificar ações a serem executadas por um computador.
Semântica: A semântica tem função de descrever o significado de construções
sintáticas válidas. Não existe uma notação padrão ou equivalente a BNF para descrição
da semântica de linguagem de programação.
Formalismo diferentes foram desenvolvidos para atender objeto diferente.
Geralmente uma linguagem de programação é descrita informalmente, utilizando-se a
linguagem natural como o inglês, português etc.
Legibilidade: O desenvolvimento e a depuração, manutenção de programas e
desenvolvimento de equipes de programação.
Fatores que melhoram a capacidade de escrita:
A abstração de dados;
Os comandos de controle;
A modularização de controle;
A documentação;
As convenções léxias, a sintaxe e a semântica;
Capacidade de escrita: Medida de facilidade para confeccionar programa com
destino a um domínio de problema que fora escolhido em sua maioria das características
que afetam a legibilidade e também a capacidade de escrita. Escrever um determinado
programa exige sempre uma releitura do que já foi escrito, tendo o domínio dos
problemas influenciará no julgamento da capacidade de escrita de uma linguagem por
exemplo: utilizar o COBOL para reprodução de relatórios comerciais XAPL é o ideal
para manipular matrizes.
Característica que contribuem para a capacidade de escrita:
Simplicidade e ortogonalidade;
Suporte para abstração;
Expressividade.
Confiabilidade: Um programa confiável que corresponde a todas as
necessidades desejadas e que se comporte com todas as especificações.
As principais características da confiabilidade são as seguintes:
Verificações de tipos: é muito importante na confiabilidade de um
programa, pois todos os programas têm que ser verificados, é só confiável
quando não é encontrado erros através da compilação ou durante a execução do
mesmo.
Manipulação de exceção: entendemos que é a capacidade de um
programa interceptar erros em tempo de execução.
Exemplo de uma linguagem de fácil entendimento
Script de um Projeto de calculadora simples feita em Visual Basic:
Dim operador As String
Dim num1 As Double
Dim num2 As Double
1 If TextBox1.Text = "" Then
2 MsgBox("Coloque algum numero")
3 Else
4 num1 = TextBox1.Text
5 operador = "+"
6 TextBox1.Text = ""
7 End If
1 If TextBox1.Text = "" Then
2 MsgBox("Coloque algum numero")
3 Else
4 num1 = TextBox1.Text
5 operador = "-"
6 TextBox1.Text = ""
7 End If
1 If TextBox1.Text = "" Then
2 MsgBox("Coloque algum numero")
3 Else
3 num1 = TextBox1.Text
4 operador = "/"
5 TextBox1.Text = ""
6 End If
1 If TextBox1.Text = "" Then
2 MsgBox("Coloque algum numero")
3 Else
4 num1 = TextBox1.Text
5 operador = "x"
6 TextBox1.Text = ""
7 End If
1 If TextBox1.Text = "" Then
2 MsgBox("Coloque algum numero")
3 Else
4 num2 = TextBox1.Text
5 If operador = "x" Then 'vezes
6 TextBox1.Text = num1 * num2
7 End If
8 If operador = "+" Then 'mais
9 TextBox1.Text = num1 + num2
10 End If
11 If operador = "-" Then 'menos
12 TextBox1.Text = num1 - num2
13 End If
14
15 If operador = "/" Then 'dividido
16 TextBox1.Text = num1 / num2
17 End If
18 End If
1 ElseIf operador = "x" Then
2 TextBox1.Text = num1 * num2
1 TextBox1.Text += "0"
1 TextBox1.Text += "1"
1 TextBox1.Text += "2"
1 TextBox1.Text += ","
Fonte: http://vbworld-brasil.blogspot.com.br/2014/03/como-fazer-uma-calculadora-simples-no_20.html
Exemplo de uma linguagem de difícil entendimento
Script de um Projeto de uma calculadora em Java Script:
var wynik=0, op=0, nowe=0, nowe2=0, done=1, oset=0, kropka, temp;
function reset(value)
{
document.form1.ekran.value = value;
wynik = 0,
op = 0,
nowe = 0,
nowe2 = 0;
done = 1;
oset = 0;
}
function wspolna(new_temp)
{
kropka = 1;
if(nowe || done) {
nowe = 0;
done = 0;
temp = new_temp;
}
{
if (temp.indexOf(".")!=-1) {
kropka=0;
}
}
}
function button(ktory,ktory2)
{
temp = document.form1.ekran.value;
if(ktory2=='.') {
wspolna('0');
if(kropka==1) {
temp += ktory2;
document.form1.ekran.value = temp;
oset = 0;
}
}
if(ktory>=0 && ktory<=9) {
wspolna('');
if(temp==0 && kropka==1) temp='';
temp += ktory;
document.form1.ekran.value = temp;
oset = 1;
}
if(ktory2=='-' || ktory2=='+' || ktory2=='/' || ktory2=='*') {
if(nowe) op = ktory2
else {
if(!nowe2) {
op = ktory2;
wynik = temp;
nowe2=1;
}
else {
wynik = eval(wynik + op + temp);
op = ktory2;
document.form1.ekran.value = wynik;
}
oset=0;
nowe = 1;
}
}
if(ktory2=='1/x' ) { wynik = eval(1 / temp) ; reset(wynik); }
if(ktory2=='sqrt') { wynik = Math.sqrt(temp); reset(wynik); }
if(ktory2=='exp' ) { wynik = Math.exp(temp) ; reset(wynik); }
if(ktory2=='+/-') document.form1.ekran.value = eval(-temp);
if(ktory2=='=' && oset && op!='0') reset(eval(wynik + op + temp));
if (ktory2=='C') reset(0);
if(document.form1.ekran.value[0] == '.')
document.form1.ekran.value = '0' + document.form1.ekran.value;
}
Fonte: https://www.codigofonte.net/scripts/javascript/calculadora/762_calculadora
As diferenças entre os dois exemplos acima são: é que o no código fonte da
calculadora em VB “visual basic” se usam variáveis dirigida a eventos, e possui também um
ambiente de desenvolvimento integrado totalmente gráfico, facilitando a construção da
interface das aplicações. E no código fonte da calculadora em “Java Script” o usuário não
tem a necessidade deste script passar pelo servidor, controlando o navegador e realizando
comunicação não sincronizada e alterando o conteúdo do documento exibido.
Relatório 1 – Critérios de avaliação das linguagens de programação
Os critérios de avalição de uma linguagem de programação são:
Legibilidade: facilidade de ler e escrever programas, exemplo: a linguagem C é uma
linguagem alta legibilidade, enquanto a Linguagem Assembly é de baixa legibilidade.
Alguns dos fatores que melhoram a legibilidade são: abstração de dados, comandos de
controle, modularização de programas, documentação, sintaxe e semântica.
Simplicidade: representação de cada conceito que seja simples aprender e dominar, ou
seja, uma linguagem em que o programador se adapte mais rapidamente, pois a linguagem
que tem uma simplicidade alta, tem uma grande simplicidade sintática e uma simplicidade
semântica.
Expressividade: representação simples e clara de dados de processamentos a ser
executado pelo programa, um bom exemplo são os tipos de dados PASCHAL que tem uma
representação simples de dados e procedimentos a serem executados.
Ortogonalidade: possibilidade de combinar sem restrições, os componentes básicos da
LP ou seja combinações de característica sem efeitos indesejáveis.
Portabilidade: capacidade de utilização em diferentes plataformas ou sistemas
operacionais.
Confiabilidade: mecanismos que facilitem a produção que atendem as especificações
ou seja tratamentos de erros em tempo de execução ou compilação.