You are on page 1of 11

ATIVIDADES PRTICAS SUPERVISIONADAS

2 Srie Programao Estruturada I

Cincia da Computao

A atividade prtica supervisionada (ATPS) um procedimento metodolgico de ensino-aprendizagem desenvolvido por meio de um conjunto de etapas programadas e supervisionadas e que tem por objetivos: Favorecer a aprendizagem. Estimular a corresponsabilidade do aluno pelo aprendizado eficiente e eficaz. Promover o estudo, a convivncia e o trabalho em grupo. Desenvolver os estudos independentes, sistemticos e o autoaprendizado. Oferecer diferentes ambientes de aprendizagem. Auxiliar no desenvolvimento das competncias requeridas pelas Diretrizes Curriculares Nacionais dos Cursos de Graduao. Promover a aplicao da teoria e conceitos para a soluo de problemas prticos relativos profisso. Direcionar o estudante para a busca do raciocnio crtico e a emancipao intelectual. Para atingir estes objetivos a ATPS prope um desafio e indica os passos a serem percorridos ao longo do semestre para a sua soluo. A sua participao nesta proposta essencial para que adquira as competncias e habilidades requeridas na sua atuao profissional. Aproveite esta oportunidade de estudar e aprender com desafios da vida profissional.

AUTORIA: Ivair Teixeira


Faculadede Anhanguera de Valinhos

Rodrigo Amaral Rocha


Faculdade Anhanguera de Valinhos

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 2 de 11

COMPETNCIAS E HABILIDADES
Ao concluir as etapas propostas neste desafio, voc ter desenvolvido as competncias e habilidades que constam, nas Diretrizes Curriculares Nacionais, descritas a seguir. Conhecer os aspectos tericos, cientficos e tecnolgicos relacionados computao. Operar equipamentos computacionais e sistemas de software. Analisar, documentar e solucionar problemas e necessidades passveis de soluo via computao. Desenvolver pesquisa cientfica e tecnolgica.

Produo Acadmica

Relatrio 1 Planejamento Inicial. Contendo um esboo do programa em portugus estruturado, com uma descrio das aes e variveis necessrias ao aplicativo bsico. Relatrio 2 Comando system(). Listagem com as opes da funo system( ) que podem ser utilizadas no aplicativo de forma criar uma interface mais agradvel. Relatrio 3 Aplicativo bsico. Contendo o cdigo fonte e telas do aplicativo bsico, que utiliza os comandos de atribuio, leitura, escrita e a estrutura de seleo, para realizar as funcionalidades propostas nas etapas 1 e 2. Relatrio 4 Algoritmos Avanados. Contendo a descrio das tcnicas utilizadas para realizar as opes: Fatorial, Eponenciao e Raiz quadrada. Relatrio 5 Aplicativo Final. Contendo o cdigo fonte e telas do aplicativo avanado, que utiliza as estruturas de iterao e as estruturas de dados compostas para complementar o aplicativo com as funcionalidades propostas nas etapas 3 e 4.

Participao
Para a elaborao desta atividade, os alunos devero previamente organizar-se em equipes de 4 a 5 participantes e entregar seus nomes, RAs e e-mails ao professor da disciplina. Essas equipes sero mantidas durante todas as etapas.

Padronizao
O material escrito solicitado nesta atividade deve ser produzido de acordo com as normas da ABNT1, com o seguinte padro: 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; espaamento de 1,5 entre linhas; se houver citaes com mais de trs linhas, devem ser em fonte tamanho 10, com um recuo de 4cm da margem esquerda e espaamento simples entre linhas; com capa, contendo: nome de sua Unidade de Ensino, Curso e Disciplina; nome e RA de cada participante; ttulo da atividade; nome do professor da disciplina; cidade e data da entrega, apresentao ou publicao.

Consultar o Manual para Elaborao de Trabalhos Acadmicos. Unianhanguera. <http://www.unianhanguera.edu.br/anhanguera/bibliotecas/normas_bibliograficas/index.html>.

Disponvel

em:

Ivair Teixeira, Rodrigo Amaral Rocha

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 3 de 11

DESAFIO
A matemtica e a informtica so reas que esto fortemente relacionadas e apresenta constante evoluo, muitas vezes, decorrente da influncia que existe entre elas. De um lado, o avano da computao foi alavancado pela crescente necessidade de programas voltados a resoluo de problemas matemticos. De outro, a alta capacidade de clculo dos computadores permite explorar aplicaes da matemtica que seriam inviveis se realizadas por operaes puramente manuais. O desafio proposto consiste na elaborao de um aplicativo, em linguagem de programao C, que apresenta uma calculadora que oferea operaes bsicas nas etapas 1 e 2 e mais avanadas nas etapas 3 e 4 da ATPS. A elaborao do aplicativo pode ser segmentada para ser planejada, codificada e testada por etapas, de forma incremental e evolutiva. A tela inicial do aplicativo deve exibir ao usurio um menu com as operaes e receber do usurio a opo desejada. Na sequncia so solicitados os parmetros para aquela operao, por exemplo, se o usurio escolheu a opo de soma, dever haver a entrada dos dois nmeros, para concluir o clculo e apresentar o resultado obtido. Aps isso o programa fica em pausa com a apresentao da mensagem: Pressione qualquer tecla para continuar . No final de cada operao o aplicativo deve limpar a tela e retornar ao menu principal.

Objetivo do Desafio
Implementar uma calculadora via programao em Linguagem C . Dever ser explorado o uso dos comandos e estruturas abordados na disciplina de programao estruturada na elaborao de um projeto prtico que integre esses comandos de forma simples, porm funcional. Como resultado espera-se um conjunto de relatrios com o cdigo fonte que apresente uma interface simples ao usurio com as funes de uma calculadora.

ETAPA 1 (tempo para realizao: 5 horas)


Aula-tema: Linguagem de programao (C) e transcrio de algoritmos. Tipos de dados: escalares. Esta atividade importante para que voc entenda o processo de declarao e definio de variveis, os tipos de dados e seus relacionamentos. Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Equipe) Fazer as atividades apresentadas a seguir. 1. Fazer a leitura do Captulo 1 Introduo, do livro texto MIZRAHI, Victorine Viviane. Treinamento em Linguagem C. PLT n 706. 1 ed. So Paulo: Pearson, 2007. p. 10 a 17, com foco nas variveis e seus tipos. 2. Elaborar um esboo do programa, listando cada ao a ser executada e analisando criteriosamente quais os dados envolvidos, bem como os tipos de variveis que melhor se adquam para armazen-los. As funcionalidades da 1 etapa so:

Ivair Teixeira, Rodrigo Amaral Rocha

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 4 de 11

(+) Soma (-) Subtrao (*) Multiplicao (/) Diviso (E) Exponenciao (R) Raiz Quadrada (P) Porcentagem

Na Tabela 1 so apresentados os itens que devem ser analisados referentes ao aplicativo bsico.
Tabela 1 Aes da primeira etapa. Itens 1 - Menu Principal. 2 Operao de Soma. 3 Operao de Subtrao. 4 Operao de Multiplicao. 5 Operao de Diviso. 6 - Operao de Exponenciao. 7 - Operao de Raiz Quadrada. 8 - Operao de Porcentagem.

A descrio em portugus estruturado a seguir, apresenta o esboo do menu e da ao de soma. Item 1: Menu principal. Varivel: op do tipo caractere. Aes: 1. Apresentar na tela as opes do aplicativo bsico. (Soma, Subtrao, Multiplicao, Diviso, Exponenciao, Raiz Quadrada, Porcentagem e Sair). 2. Receber a opo e armazenar (op). Item 2: Operao de soma. Variveis: val1, val2 e res do tipo inteiro. Aes: 1. Solicitar e armazenar o primeiro valor (val1). 2. Solicitar e armazenar o segundo valor (val2). 3. Realizar o clculo e armazenar o resultado (res). 4. Apresentar o resultado na tela (res). Passo 2 (Equipe) Fazer as atividades apresentadas a seguir. 1. Pesquisar no site sugerido a seguir, sobre a funo system(). Este comando permite acessar funcionalidades oferecidas pelo MSDOS por prompt de comando e melhorar significativamente a operabilidade do aplicativo, torna-o mais amigvel e atraente para o usurio. 2. Elaborar uma listagem com o nome e a descrio de quatro funcionalidades interessantes para serem utilizadas no programa. A funo system() est descrita na biblioteca stdio.h, que deve ser includa no incio do programa. Um material de aula sobre esta funo est disponvel no site sugerido a seguir.

Ivair Teixeira, Rodrigo Amaral Rocha

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 5 de 11

Site sugerido para pesquisa

SYSTEM. Comando System.doc. Disponvel em: <https://docs.google.com/file/d/0B114oKTDsLjnQWQwYnhtWjFTLTA/edit?usp=s haring>. Acesso em: 04 abr. 2013.

Passo 3 (Equipe) Fazer as atividades apresentadas a seguir. 1. Redigir o Relatrio 1 Planejamento Inicial. Contendo um esboo do programa em portugus estruturado, com uma descrio das aes e variveis necessrias ao aplicativo bsico. 2. Redigir o Relatrio 2 Comando system(). Contendo a listagem com as opes da funo system() que podem ser utilizadas no aplicativo de forma tornar a operao mais agradvel.

ETAPA 2 (tempo para realizao: 5 horas)


Aula-tema: Linguagem de programao (C) e transcrio de algoritmos. Atribuio, leitura e escrita. Estrutura de controle: seleo. Esta atividade importante para praticar a utilizao dos comandos de entrada e sada, ou seja, os comandos responsveis pela elaborao da interface com o usurio. Estas funes esto descritas nas bibliotecas stdio.h e stdlib.h. As estruturas de seleo permitem realizar aes diferentes, em resposta a interao do usurio na interface. Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Equipe) Fazer as atividades apresentadas a seguir. 1. Fazer a leitura do Captulo 1 Introduo, do livro texto MIZRAHI, Victorine Viviane. Treinamento em Linguagem C. PLT n 706. 1 ed. So Paulo: Pearson, 2007. p. 7 a 10, com foco na estrutura de controle Seleo. 2. Elaborar o cdigo em Linguagem C, que apresente a tela inicial do aplicativo bsico, conforme a Figura 1 apresentada a seguir. Capturar a opo com apenas uma, para isso ler sobre a funo getche() nas pginas 30 a 32 do captulo 2 Operadores, do livro texto. Para testar, elaborar um cdigo que, capture a tecla referente a opo, limpe a tela e apresente a tecla pressionada.

Ivair Teixeira, Rodrigo Amaral Rocha

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 6 de 11

Figura 1 Tela inicial do aplicativo bsico.

O quadro ao redor da palavra calculadora pode ser obtido com a utilizao de caracteres grficos apresentados captulo 1 Introduo, do livro nas pginas 21 a 23. A formatao desta tela deve ser igual ao apresentado na Figura 1. Passo 2 (Equipe) Fazer as atividades apresentadas a seguir. 1. Fazer a leitura do Captulo 4 Comando de decises, do livro texto MIZRAHI, Victorine Viviane. Treinamento em Linguagem C. PLT n 706. 1 ed. So Paulo: Pearson, 2007. p. 93 a 97, com foco nas estruturas de seleo. 2. Desenvolver a estrutura de seleo que execute o algoritmo para resolver a operao desejada. Para obter os valores utilizados no clculo leia o captulo 2 do livro texto, sobre o comando scanf() nas pginas 28 a 30. Na Figura 2(A) e 2(B) e so apresentadas as telas de entrada de dados e na Figura 2(C) a tela de resultado da operao de multiplicao.

Figura 2 Telas da operao de multiplicao

O cdigo em Linguagem C, exibido na Figura 3, apresenta o algoritmo para executar a operao de soma e pode servir de modelo inicial para a elaborao e formatao dos algoritmos das demais operaes.

Ivair Teixeira, Rodrigo Amaral Rocha

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 7 de 11

Figura 3 Cdigo da Operao de Soma.

Um detalhe especfico da operao de diviso verificar se o segundo valor zero, pois caso seja realizada diviso por zero ocorre um erro e o programa ser interrompido. Esta tela apresentada na Figura 4(A). Caso seja escolhida uma opo invlida dever ser impressa na tela a frase: Opcao Invalida, conforme a Figura 4(B). Da mesma forma, caso seja escolhida a opo s ser apresentada a frase: programa finalizado como pode ser visto na Figura 4(C).

Figura 4 (A) Erro diviso por zero, (B) Opo Invlida e (C) Sair

Para as duas prximas opes, podem ser utilizadas as funes definidas na biblioteca math.h. As telas de entradas de dados e resultados para a operao de exponenciao apresentada na Figura 5(A), Raiz Quadrada na Figura 5(B) e Porcentagem Figura 5(C).

Figura 5 (A) Exponenciao, (B) Raiz Quadrada e (C) Porcentagem

Ivair Teixeira, Rodrigo Amaral Rocha

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 8 de 11

Aps cada sequncia de execuo o programa entra em pausa e deve ser finalizado ao pressionar qualquer tecla. Para reduzir a complexidade, no so necessrios testes que realizem a validao dos valores digitados pelo usurio, por exemplo, digitao de letras quando solicitado um valor numrico. No entanto a escolha da opo desejada no menu deve funcionar para caracteres maisculos ou minsculos. Passo 3 (Equipe) Redigir o Relatrio 3 Aplicativo Bsico. Contendo o cdigo fonte e telas do aplicativo bsico, que utiliza os comandos de atribuio, leitura, escrita e a estrutura de seleo, para realizar as funcionalidades propostas nas etapas 1 e 2. O cdigo deve estar corretamente endentado e organizado, com comentrios significativos que expliquem o funcionamento dos algoritmos.

ETAPA 3 (tempo para realizao: 5 horas)


Aula-tema: Estrutura de controle: iterao. Esta atividade importante para entender os laos de repetio, seu modo de funcionamento, suas caractersticas e sua aplicabilidade. Operaes repetitivas internas so altamente exploradas na programao e constituem a base para a resoluo de uma infinidade de problemas Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Equipe) Rever o material sobre as aplicaes da funo system(), disponibilizado no site a seguir, para ajustar a aparncia e opes disponibilizadas na tela para a interface do aplicativo avanado. Alterar o ttulo da janela, bem como as cores dos caracteres e fundo da tela. Site sugerido para pesquisa

SYSTEM. Comando System.doc. Disponvel em: <https://docs.google.com/file/d/0B114oKTDsLjnQWQwYnhtWjFTLTA/edit?usp=s haring>. Acesso em: 04 abr. 2013.

Nessa etapa o programa deve ser acrescido das operaes: (F) Fatorial, (B) Converso Binrio para Decimal e (D) Converso Decimal para Binrio. A nova aparncia do aplicativo pode ser observada na Figura 6 apresentada a seguir.

Ivair Teixeira, Rodrigo Amaral Rocha

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 9 de 11

Figura 6 Tela do aplicativo avanado

Passo 2 (Equipe) Fazer as atividades apresentadas a seguir. 1. Fazer a leitura do Captulo 3 Laos, do livro texto MIZRAHI, Victorine Viviane. Treinamento em Linguagem C. PLT n 706. 1 ed. So Paulo: Pearson, 2007. p. 69 a 71, com foco nas estruturas de iterao. 2. Elaborar o lao de repetio que limpa a tela e retorna a execuo para o menu principal do programa, aps cada sequencia de execuo, ou seja, o programa somente ser finalizado com a escolha da opo: (S) sair. Passo 3 (Equipe) Fazer as atividades apresentadas a seguir. 1. Elaborar o cdigo que resolva a opo Fatorial, com base nas estruturas de controle estudadas nas pginas 54 a 60 do captulo 3 Laos, do livro texto. Solicitar o valor, e imprimir o resultado no formato: O fatorial de val1 = res. 2. Atualizar os algoritmos das operaes de Exponenciao e Raiz Quadrada, caso as solues atuais tenha utilizado funes da biblioteca math.h. Nesta etapa no permitido o uso de funes desta biblioteca, portanto os algoritmos devem ser substitudos por algoritmos equivalentes que utilizem as estruturas de controle para obter o resultado. Passo 4 (Equipe) Redigir o Relatrio 4 Algoritmos Avanados. Contendo a descrio das tcnicas utilizadas para realizar as opes: Fatorial, Exponenciao e Raiz quadrada. O texto a seguir exemplifica o formato deste relatrio no que diz respeito operao de clculo de fatorial. Item: fatorial. Varivel: num, fat do tipo caractere. Descrio: A varivel fat inicializada como valor 1 e recebe-se do usurio o valor a ser calculado (num). Um lao for(), com decremento de 1, inicializa o seu contador (i) com o valor a ser calculado, que ser decrementado a cada iterao. Na primeira iterao a varivel fat acumula seu valor atual, que 1 multiplicado pela valor da varivel i. Nas demais

Ivair Teixeira, Rodrigo Amaral Rocha

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 10 de 11

iteraes, fat acumula o produto do seu valor atual com o valor de i decrementado, at que i seja igual a 1. Na Figura 7 apresentado um exemplo da simulao desta funo.

Figura 7 Tela do aplicativo avanado

ETAPA 4 (tempo para realizao: 5 horas)


Aula-tema: Vetores, matrizes e cadeia de caracteres. Esta atividade importante para que possa praticar a utilizao de estrutura de dados do tipo vetor. Os vetores unidimensionais ou multidimensionais so amplamente utilizados no armazenamento de dados e oferece uma estrutura organizada que pode ser explorada de forma rpida e eficiente por algoritmos de busca. Para realiz-la, devem ser seguidos os passos descritos.

PASSOS
Passo 1 (Equipe) Fazer as atividades apresentadas a seguir. 1. Fazer a leitura do Captulo 11 Memria e Impresso de Caracteres, do livro texto MIZRAHI, Victorine Viviane. Treinamento em Linguagem C. PLT n 706. 1 ed. So Paulo: Pearson, 2007. p. 129, com foco sistemas numricos. 2. Fazer a leitura do material de aula sobre funes matemticas disponibilizado no site a seguir. Passo 2 (Equipe) Desenvolver as funes de converso de base de Binrio para Decimal e Decimal para Binrio. Na Figura 8(A) apresentada a tela da converso de Binrio para Decimal e na Figura 8(B) a converso de Decimal para Binrio. Site sugerido para pesquisa FUNES. Funes matemticas. Disponvel em: <https://docs.google.com/file/d/0B114oKTDsLjnTTFQY0c1SWJvSGc/edit?usp=sha ring>. Acesso em: 04 abr. 2013.

Ivair Teixeira, Rodrigo Amaral Rocha

Cincia da Computao - 2 Srie - Programao Estruturada I

Pg. 11 de 11

Figura 8 (A) Converso Binrio para Decimal e (B) Converso Decimal para Binrio

Passo 3 (Equipe) Redigir o Relatrio 5 - Aplicativo Final. Contendo o cdigo fonte e telas do aplicativo avanado, que utiliza as estruturas de iterao e as estruturas de dados compostas para complementar o aplicativo com as funcionalidades propostas nas etapas 3 e 4.

Livro Texto da disciplina:


MIZRAHI, Victorine Viviane. Treinamento em Linguagem C: mdulos 1 e 2. PLT- 706. 1 ed. So Paulo: Pearson - Prentice Hall, 2007.

Ivair Teixeira, Rodrigo Amaral Rocha

You might also like