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 , também disponível em . Acessos em 06 fev. 2014. 3. Ler a apresentação disponível em , também disponível em . 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 , também em . 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 , também em . 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 , também em . 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 000010 IDENTIFICATION DIVISION . 000020 PROGRAM-ID. HELLO. 000030 ENVIRONMENT DIVISION. 000040 DATA DIVISION. 000050 PROCEDURE DIVISION. 000060 DISPLAY "Olá, Mundo!" . 000070 END PROGRAM HELLO.
Jeanne Dobgenski
Programa 2 PROGRAM HELLO WRITE(*,10) 10 FORMAT('Olá, Mundo!') STOP END
Programa 3 (print "Olá, Mundo! \n")
Programa 4 write('Olá, Mundo!').
Programa 5 Transcript show: 'Olá, Mundo!'.
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 . Acesso em 06 fev. 2014. Evolução das linguagens de programação. Disponível em , também em . 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 , também em . Acessos em 06 fev. 2014. 3. Ler o conjunto de slides disponível em , também em . 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_2B MF
// média do 1º bimestre // média do 2º bimestre // média final
valor inteiro P_1B P_2B
// peso do 1º bimestre // 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) //média final ponderada MF = 5.2 // Apresentar o resultado
// Efetuar o cálculo da
//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 , também em . 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 . 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
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 INICIO Leia(raio) area 3,1415 * raio*raio // ou Escreva (area) FIMALGORITMO
Processamento
→
area
→
Saída
3,1415 * raio^2
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 … se condição então seqüencia de comandos senão seqüencia de comandos
fim se
… FIMALGORITMO
ALGORITMO 3 X, Y, Z real Leia(X,Y) se ((X > Y) e (Z <> 0) então Z X – Y senão Z Y – X escreva(Z) 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:
. Acesso em: 29 jan. 2014.
Jeanne Dobgenski