ATPS-Paradigmas

16
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

description

ATPS

Transcript of ATPS-Paradigmas

Page 1: 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

Page 2: ATPS-Paradigmas

Atividades Práticas Supervisionadas, sob a

orientação do Professor:

RESUMO

Page 3: ATPS-Paradigmas

SUMÁRIO

Page 4: ATPS-Paradigmas

INTRODUÇÃO

Page 5: ATPS-Paradigmas

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.

Page 6: ATPS-Paradigmas

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

Page 7: ATPS-Paradigmas

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

Page 8: ATPS-Paradigmas

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

Page 9: ATPS-Paradigmas

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)

{

Page 10: ATPS-Paradigmas

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

Page 11: ATPS-Paradigmas

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

Page 12: ATPS-Paradigmas

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.

Page 13: ATPS-Paradigmas

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.