Você está na página 1de 10

ATIVIDADES PRÁTICAS

SUPERVISIONADAS

Ciência da Computação
1ª. Série
Paradigmas de Linguagem de Programação

A Atividade Prática Supervisionada (ATPS) é um procedimento metodológico de


ensino-aprendizagem desenvolvido por meio de etapas, acompanhadas pelo
professor, e que tem por objetivos:
 Favorecer a autoaprendizagem do aluno.
 Estimular a corresponsabilidade do aluno pelo seu aprendizado.
 Promover o estudo, a convivência e o trabalho em grupo.
 Auxiliar no desenvolvimento das competências requeridas para o exercício
profissional.
 Promover a aplicação da teoria na solução de situações que simulam a
realidade.
 Oferecer diferenciados ambientes de aprendizagem

Para atingir estes objetivos, a ATPS propõe um desafio e indica os passos a


serem percorridos ao longo do semestre para a sua solução.

Aproveite esta oportunidade de estudar e aprender com desafios da vida


profissional.

AUTORIA:
Jeanne Dobgenski
Anhanguera Educacional
Ciência da Computação – 1ª Série – Paradigmas de Linguagem de Programação Pág. 2 de
10

COMPETÊNCIAS E HABILIDADES
Ao concluir as etapas propostas neste desafio, você terá desenvolvido as competências
e habilidades que constam, nas Diretrizes Curriculares Nacionais, descritas a seguir.

 Projetar e conduzir experimentos e interpretar resultados.


 Conceber, projetar e analisar sistemas, produtos e processos.
 Planejar, supervisionar, elaborar e coordenar projetos e serviços de Engenharia.

Participação

Esta atividade será, em parte, desenvolvida individualmente pelo aluno e, em parte,


pelo grupo. Para tanto, os alunos deverão:
• organizar-se, previamente, em equipes de número de participantes estabelecida
pelo professor;
• entregar seus nomes, RAs e e-mails ao professor da disciplina e
• observar, no decorrer das etapas, as indicações: Individual e Equipe.

DESAFIO
A PwC, PricewaterhouseCoopers, 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 contrata 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á feita pela análise de desempenho dos
profissionais em questões relativas aos paradigmas de linguagem de programação. Isso
ocorrerá porque uma das tarefas na 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 processo 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.

Objetivo do Desafio
1. Compreender que para propósitos distintos há linguagens de programação distintas.
2. Apresentar, por meio de relatórios, as diferentes aplicações de linguagens de
programação, suas características e estruturas. Os relatórios devem seguir as
especificações:
• Relatório 1 – Critérios de avaliação das linguagens de programação
• Relatório 2 – Estudo comparativo de linguagens de programação
• Relatório 3 – Tipos de dados
• Relatório 4 – Expressões aritméticas e lógicas

Jeanne Dobgenski
Ciência da Computação – 1ª Série – Paradigmas de Linguagem de Programação Pág. 3 de
10

Livro Texto da disciplina

A produção desta ATPS é fundamentada no livro-texto da disciplina, que deverá ser


utilizado para solução do desafio:
SEBESTA, Robert W.. Conceitos de Linguagem de Programação. 9ª ed. São Paulo: Bookman,
2011.

ETAPA 1 (tempo de realização: 5 horas)

 Aula-tema: Introdução aos principais critérios de avaliação das linguagens de


programação: legibilidade. Critérios de avaliação das linguagens de programação:
capacidade de escrita. Critérios de avaliação das linguagens de programação:
confiabilidade.
Essa atividade é importante para conhecer como as linguagens de programação
podem ser diferentes em aspectos como leitura, escrita e, também, na confiança em seus
resultados.
Para realizá-la, devem ser seguidos os passos descritos.

PASSOS

Passo 1 (Individual)
1. Ler o capítulo do livro texto ou complementar que trate sobre legibilidade, capacidade de
escrita e confiabilidade das linguagens de programação.
2. Ler a apresentação disponível em
<ftp://ftp.unilins.edu.br/balbino/ParadigmasLP/Aula%2001%20-%20Introducao.pdf>,
também disponível em
<https://drive.google.com/file/d/0ByrqRhRetWzEMmtnVU92el9xVlU/edit?usp=shari
ng>. Acessos em 06 fev. 2014.
3. Ler a apresentação disponível em <http://cavmelo.files.wordpress.com/2010/03/pp-
aula2-paradigmasdeprogramacao.pdf>, também disponível em
<https://drive.google.com/file/d/0ByrqRhRetWzEZkdJWHFZX3BHVkk/edit?usp=sha
ring>. Acessos em 06 fev. 2014.

Passo 2 (Equipe)
A primeira tarefa que a PwC solicitou às equipes participantes do processo de seleção,
foi que respondessem as questões apresentadas a seguir.
1. Defina o que é uma linguagem de programação sob a conotação sintática e também
semântica.
2. Descreva o que influi e quais fatores que melhoram os seguintes critérios de
avaliação de linguagens de programação: legibilidade, capacidade de escrita e
confiabilidade.
3. Apresente um exemplo de trecho código fácil e difícil de ler, indique de quais
linguagens de programação eles se referem. Explique o porquê da diferença.

Jeanne Dobgenski
Ciência da Computação – 1ª Série – Paradigmas de Linguagem de Programação Pág. 4 de
10

Passo 3 (Equipe)
Lembre-se que você e sua equipe estão participando de um processo de seleção,
portanto todos os detalhes serão avaliados. Desenvolvam e entreguem ao professor
responsável pela disciplina o Relatório 1 – Critérios de avaliação das linguagens de
programação que deverá conter:
• contextualização sobre o tema estudado no Passo 1 – nesse quesito será
avaliado o poder de síntese da equipe e também de abordar as questões
fundamentais e que são realmente importantes,
• as respostas das questões apresentadas no Passo 2.
• deverá ser redigido de acordo com as instruções do item Padronização.

ETAPA 2 (tempo de realização: 5 horas)

 Aula-tema: Evolução das principais linguagens de programação: visão geral de


Fortran e Lisp. E Evolução das principais linguagens de programação: visão geral de
COBOL, Smalltalk.
Essa atividade é importante para conhecer as evoluções das características originais
das linguagens de programação e suas aplicações.
Para realizá-la, devem ser seguidos os passos descritos.

PASSOS

Passo 1 (Individual)
1. Ler o capítulo do livro texto ou complementar que trate sobre a evolução das principais
linguagens de programação.
2. Ler o conjunto de slides disponível em
<http://homepages.dcc.ufmg.br/~fernando/classes/dcc024/ementa/readingMat/histor
yPL.pdf>, também em
<https://drive.google.com/file/d/0ByrqRhRetWzEdGF0U2pmYnNTbWM/edit?usp=sh
aring>. Acessos em 06 fev. 2014.
3. Ler o artigo elaborado pelo professor Gudwin da FEEC/UNICAMP sobre as principais
linguagens de programação. Disponível em
<http://www3.dsi.uminho.pt/iiee/repos/ling_prog.pdf>, também em
<https://drive.google.com/file/d/0ByrqRhRetWzESmh6YkotaU5qUzg/edit?usp=sharin
g>. Acessos em 06 fev. 2014

Passo 2 (Equipe)
O processo seletivo da PwC continua e solicita aos participantes que analisem o código
do programa apresentado na Figura 1 e respondam as questões propostas.

Jeanne Dobgenski
Ciência da Computação – 1ª Série – Paradigmas de Linguagem de Programação Pág. 5 de
10

Figura 1 – Código fonte.


Fonte: Extraído de Cristo (2003).

Considerando o código fonte apresentado na Figura 1, desenvolva as atividades a seguir.


1. Indique qual a linguagem de programação que o código foi escrito.
2. Enumere cada uma das 13 linhas de código apresentadas na coluna “Programa” e
explique sua função.
3. Relacione a execução do programa com os retornos apresentados em Arquivo “arqui.dat”
e Arquivo “arqui.out”. Explique a diferença que existe na manipulação desses arquivos
pelo programa.
4. Considerando a linguagem de programação utilizada para escrever esse programa
indique, com as devidas justificativas, qual a sua indicação de uso. Ou seja, para que
casos essa linguagem é mais utilizada?

Fonte para pesquisa:


• CRISTO, Helder Pereira. Programação em Linguagem Fortran. Belo Horizonte. 2003.
Disponível em
<http://www.inf.ufes.br/~thomas/fortran/tutorials/helder/fortran.pdf>, também
em
<https://drive.google.com/file/d/0ByrqRhRetWzEOG1zb1dGSnlSRkE/edit?usp=sh
aring>. Acessos em 06 fev. 2014.

Passo 3 (Equipe)
Em outra atividade a PwC quer analisar o grau de conhecimento, dos profissionais em
avaliação, sobre as linguagens de programação e suas aplicações. Para isso, pede que os
profissionais analisem os programas apresentados na Figura 2 para desenvolver as
atividades propostas.

Programa 1 Programa 2 Programa 3 Programa 4 Programa 5


000010 IDENTIFICATION DIVISION. PROGRAM HELLO (print "Olá, write('Olá, Transcript show:
000020 PROGRAM-ID. HELLO. WRITE(*,10) Mundo!\n") Mundo!'). 'Olá, Mundo!'.
000030 ENVIRONMENT DIVISION.
10 FORMAT('Olá,
000040 DATA DIVISION.
000050 PROCEDURE DIVISION. Mundo!')
000060 DISPLAY "Olá, Mundo!". STOP
000070 END PROGRAM HELLO. END

Jeanne Dobgenski
Ciência da Computação – 1ª Série – Paradigmas de Linguagem de Programação Pág. 6 de
10

Figura 2 – Programa “Olá, Mundo!” em diversas linguagens.


Fonte: Extraído de Wikipédia.

Considerando os códigos fontes apresentados na Figura 2, responda o que foi solicitado.


1. Indique qual a linguagem de programação para cada um dos cinco programas
apresentados.
2. Relacione cada uma das cinco linguagens de programação e suas aplicações mais
adequadas.

Fonte para pesquisa:


• Wikipédia. Programa Olá Mundo. Disponível em
<http://pt.wikipedia.org/wiki/Programa_Ol%C3%A1_Mundo>. Acesso em 06 fev.
2014.
• Evolução das linguagens de programação. Disponível em
<http://www.dsc.ufcg.edu.br/~peter/cursos/plp/material/p2-Historico.pdf>,
também em
<https://drive.google.com/file/d/0ByrqRhRetWzEUm0yblJUWGJOOVk/edit?usp=
sharing>. Acessos em 07 fev. 2014.

Passo 4 (Equipe)
Desenvolvam e entreguem ao professor responsável pela disciplina o Relatório 2 –
Estudo comparativo de linguagens de programação que deverá conter:
• contextualização sobre o tema estudado no Passo 1 – nesse quesito será
avaliado o poder de síntese da equipe e também de abordar as questões
fundamentais e que são realmente importantes,
• as respostas das questões apresentadas nos Passos 2 e 3.
• deverá ser redigido de acordo com as instruções do item Padronização.
.

ETAPA 3 (tempo de realização: 5 horas)

 Aula-tema: Introdução a tipos de dados. Tipos primitivos: inteiro, float, decimal,


booleano, caracter, string. Exemplos e exercícios de definição de tipos. Introdução a
expressões e instruções de atribuição. Expressões aritméticas (+,-,*, /). Contador
eacumulador. Expressões lógicas (e, ou, não) e booleanas (V ou F). Exemplos.
Essa atividade é importante para entender o que é um dado e como ele é manipulado
num programa computacional.
Para realizá-la, devem ser seguidos os passos descritos.

PASSOS

Passo 1 (Individual)
1. Ler o capítulo do livro texto ou complementar que trate sobre tipo de dados e expressões
aritméticas.

Jeanne Dobgenski
Ciência da Computação – 1ª Série – Paradigmas de Linguagem de Programação Pág. 7 de
10

2. Ler o conjunto de slides disponível em


<http://thiagorique.files.wordpress.com/2012/08/tipos-de-dados.ppt>, também em
<https://drive.google.com/file/d/0ByrqRhRetWzEZldnZjNJSjhMaVk/edit?usp=sharin
g>. Acessos em 06 fev. 2014.
3. Ler o conjunto de slides disponível em
<https://www.google.com.br/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&
ved=0CDYQFjAC&url=http%3A%2F%2Fwww2.dc.ufscar.br%2F~renato_violin%2Farqui
vos%2FParPro-
Imp.pptx&ei=4cj0UubFKsndkQez7YDADg&usg=AFQjCNFUUD6gLDgyjgKXfITjh30ltY9
yXg&bvm=bv.60444564,bs.1,d.eW0>, também em
<https://drive.google.com/file/d/0ByrqRhRetWzEQXlOOWlKM281R0k/edit?usp=shar
ing>. Acessos em 07 fev. 2014

Passo 2 (Equipe)
Nessa atividade a PwC quer verificar a consistência do conhecimento com relação ao uso de
dados num programa. Portanto, analise o algoritmo apresentado na Figura 3 – que está em
pseudo-código.

Algoritmo 1 – Programa para Calcular Média Final - constante


// Declaração dos dados

valor real
M_1B // média do 1º bimestre
M_2B // média do 2º bimestre
MF // média final

valor inteiro
P_1B // peso do 1º bimestre
P_2B // peso do 2º bimestre

// Instruções do Programa: Entrada → Processamento → Saída

M_1B  7.0 // Obter a média do 1º bimestre


M_2B  4.0 // Obter a média do 2º bimestre
P_1B  4 // Obter o peso do 1º bimestre
P_2B  6 // Obter o peso do 2º bimestre
MF  ( (M_1B * P_1B) + (M_2B * P_2B) ) / (P_1B + P_2B) // Efetuar o cálculo da
//média final ponderada
MF = 5.2 // Apresentar o resultado

//Observações:
// O símbolo “//” foi usado para indicar um comentário no programa. Não serão
// considerados os caracteres que estiverem após esse símbolo na linha em que ele
// aparecer.

// “” símbolo de atribuição. Por exemplo, foi atribuído o valor real 7.0 a M_1B.
// “*” símbolo usado para indicar multiplicação.
// “/” símbolo usado para indicar divisão.
// Parênteses foram usado para indicar ordem de precedência nas operações
// aritméticas.

Figura 3 – Programa que calcula a média final.


Fonte: desenvolvido pela autora.

Explique as seguintes situações.

Jeanne Dobgenski
Ciência da Computação – 1ª Série – Paradigmas de Linguagem de Programação Pág. 8 de
10

1. Qual seria a diferença no resultado final do programa se as médias fossem definidas


como tipo de dados inteiros? Apresente um exemplo que justifique sua resposta.
2. É possível definir que os pesos sejam definidos como constantes pelo desenvolvedor.
Mostre como isso é feito em duas linguagens de programação a sua escolha.
3. Observe a linha de código que apresenta a expressão aritmética que efetua o cálculo da
média ponderada. Mostre numericamente qual a ordem em que os cálculos são
efetuados. Se essa expressão for alterada, existe alguma possibilidade do cálculo ser
efetuado de forma equivocada pelo programa? Justifique considerando as diferenças
entre as linguagens de programação.

Fonte para pesquisa:


• Paradigmas de linguagens de programação. Tipos de dados. Disponível em
<http://www.edilms.eti.br/uploads/file/pp/PP-aula-05-TiposdeDados.pdf>,
também em
<https://drive.google.com/file/d/0ByrqRhRetWzEYm1UNkNvcXFkTXM/edit?usp
=sharing>. Acessos em 07 fev. 2014.

Passo 3 (Equipe)
Desenvolvam e entreguem ao professor responsável pela disciplina o Relatório 3 –
Tipos de dados que deverá conter:
• contextualização sobre o tema estudado no Passo 1 – nesse quesito será
avaliado o poder de síntese da equipe e também de abordar as questões
fundamentais e que são realmente importantes,
• as respostas das questões apresentadas no Passo 2.
• deverá ser redigido de acordo com as instruções do item Padronização.

ETAPA 4 (tempo de realização: 5 horas)

 Aula-tema: Introdução a expressões e instruções de atribuição. Expressões


aritméticas (+,-,*, /). Contador e acumulador. Expressões lógicas (e, ou, não) e
booleanas (V ou F). Exemplos.
Essa atividade é importante para compreender as implicações que os operadores
matemáticos, lógicos e relacionais possuem na construção de expressões.
Para realizá-la, devem ser seguidos os passos descritos.

PASSOS

Passo 1 (Individual)
1. Ler o capítulo do livro texto ou complementar que trate sobre expressões aritméticas e
lógicas.
2. Ler sobre expressões aritméticas no link disponível em
<http://www.cristiancechinel.pro.br/my_files/algorithms/bookhtml/node38.html>.
Acesso em 07 fev. 2014.

Jeanne Dobgenski
Ciência da Computação – 1ª Série – Paradigmas de Linguagem de Programação Pág. 9 de
10

3. Ler sobre expressões lógicas (operadores relacionais e lógicos). Disponível em


<http://www.cristiancechinel.pro.br/my_files/algorithms/bookhtml/node43.html.
Acesso em 07 fev. 2014

Passo 2 (Equipe)
O propósito da seguinte atividade proposta no processo seletivo da PwC é verificar o
entendimento dos profissionais sobre a aplicação da linguagem de programação adequada à
situação apresentada. Considere o algoritmo apresentado na Figura 4 e responda as questões
a seguir.

Algoritmo 2 – Programa para Calcular a área de um círculo.


// Declaração dos dados

valor real
area
raio

// Instruções do Programa: Entrada → Processamento → Saída

INICIO
Leia(raio)
area  3,1415 * raio*raio // ou area  3,1415 * raio^2
Escreva (area)
FIMALGORITMO

Figura 4 – Programa que calcula a área de um círculo.


Fonte: desenvolvido pela autora.

1. Existem linguagens de programação que são adequadas aos cálculos científicos.


Apresente pelo menos dois exemplos que poderiam ser aplicados para codificar o
algoritmo mostrado na Figura 4 e justifique a escolha.
2. Explique sobre a definição dos tipos de dados e indique se está correta ou não.
3. O número PI está representado por 3,1415 no algoritmo. Comente se há alguma
linguagem de programação que já tenha esse valor pré-definido e que impacto possui
na questão de precisão dos resultados.

Passo 3 (Equipe)
Nessa atividade o propósito é verificar o entendimento de expressões lógicas e o uso correto
dos operadores relacionais e lógicos. Analise o algoritmo apresentado na Figura 5 e responda
as questões a seguir.

ALGORITMO 3 ALGORITMO 3
… X, Y, Z real
se condição Leia(X,Y)
então seqüencia de comandos se ((X > Y) e (Z <> 0)
senão seqüencia de comandos então Z  X – Y
fim se senão Z  Y – X
… escreva(Z)
FIMALGORITMO FIMALGORITMO

Figura 5 – Programa que efetua subtrações de acordo com condições estabelecidas.


Fonte: desenvolvido pela autora.

Jeanne Dobgenski
Ciência da Computação – 1ª Série – Paradigmas de Linguagem de Programação Pág. 10 de
10

1. O que ocorreria se o conectivo lógico “e” fosse alterado para “ou”. Mostre exemplos
para todas as situações possíveis de resultados.
2. No pseudo-código apresentado o símbolo “<>” significa diferente. Esse operador é
sempre representado por esse símbolo nas linguagens de programação? Comente sua
resposta de forma que fique integrada à questão do paradigma das linguagens.

Passo 4 (Equipe)
Desenvolvam e entreguem ao professor responsável pela disciplina o Relatório 4 –
Expressões aritméticas e lógicas que deverá conter:
• contextualização sobre o tema estudado no Passo 1 – nesse quesito será
avaliado o poder de síntese da equipe e também de abordar as questões
fundamentais e que são realmente importantes,
• as respostas das questões apresentadas nos Passos 2 e 3.
• deverá ser redigido de acordo com as instruções do item Padronização.

Padronização

O material escrito solicitado nesta atividade deve ser produzido de acordo com as
normas da ABNT, com o seguinte padrão (exceto para produções finais não textuais):
• em papel branco, formato A4;
• com margens esquerda e superior de 3cm, direita e inferior de 2cm;
• fonte Times New Roman tamanho 12, cor preta;
• espaçamento de 1,5 entre linhas;
• se houver citações com mais de três linhas, devem ser em fonte tamanho 10, com
um recuo de 4cm da margem esquerda e espaçamento simples entre linhas;
• com capa, contendo:
• nome de sua Unidade de Ensino, Curso e Disciplina;
• nome e RA de cada participante;
• título da atividade;
• nome do professor da disciplina;
• cidade e data da entrega, apresentação ou publicação.

Para consulta completa das normas ABNT, acesse a Normalização de Trabalhos Acadêmicos
Anhanguera. Disponível em:

<http://issuu.com/normalizacao/docs/normaliza__o_para_trabalhos_acad_micos?e=8070144/2211159
>. Acesso em: 29 jan. 2014.

Jeanne Dobgenski

Você também pode gostar