Académique Documents
Professionnel Documents
Culture Documents
SUPERVISIONADAS
Ciência da Computação
1ª. Série
Programação Estruturada I
AUTORIA:
Jaqueline Brigladori Pugliesi
Faculdade
aculdade Anhangeura de Valinhos
Jeanne Dobgenski
AESA
Marcelo Augusto Cicogna
Faculdade Anhangeura de Valinhos
Ciência da Computação – 1ª. Série – Programação Estruturada I Pág. 2 de 10
COMPETÊNCIAS E HABILIDADES
PRIMEIRO DESAFIO
Para os alunos que iniciam uma jornada por meio dos assuntos de Algoritmos e Programação
Estruturada, acaba-se constatando que o domínio das ferramentas de desenvolvimento faz
bastante diferença na elaboração e realização do trabalho de programação, bem como na
qualidade final dos resultados obtidos.
Tem-se início, é claro, com o compilador. Ou melhor, tem-se início com um ambiente de
desenvolvimento de código. O termo em inglês é Integrated Development Enviroment, que pode
ser traduzido para Ambiente Integrado de Desenvolvimento. Os termos Ambiente e Integrado
fazem referência a um conjunto de ferramentas que auxiliam o programador nas tarefas mais
comuns do desenvolvimento de programas para computador.
Num segundo momento, sugere-se explorar uma ferramenta que permita ao aluno entender
e controlar a evolução de seu código.
Equipe
As etapas descritas a seguir devem ser realizadas em grupos de até quatro alunos. Logo,
entreguem ao professor seus nomes e RAs, lembrando que deverão permanecer juntos na
execução de todas as tarefas. Em caso de necessidade de alteração o professor deverá ser
consultado.
ETAPA № 1
PASSOS
Passo 1
Acessem o site da IDE Code::Blocks disponível em http://www.codeblocks.org (Acessado
em 10/10/2010). O site está em Inglês, mas é possível descobrir os principais recursos deste
ambiente integrado de desenvolvimento de código em Linguagens C e C++.
Na Figura 1, apresenta-se uma visão geral do Code::Blocks.
numa IDE que pode utilizar vários tipos de Compiladores? Associe sua resposta
com a resposta do item b.
e) Por fim, faça uma análise das vantagens de se obter esse tipo de conhecimento em
complemento aos conteúdos das disciplinas de Algoritmos e de Programação
Estruturada. Você acredita que um desenvolvedor que domine um grande
conjunto de ferramentas, ainda durante a sua graduação, possuirá um bom
diferencial de mercado?
Passo 2
Dê início ao uso do Code::Blocks. Para isto, vamos criar um programa bem simples. Este
passo será dividido em tarefas, conforme a seguinte lista:
a) Utilize o menu “File > New > Empty file” para criar um arquivo em branco.
b) Por meio do menu “File > Save”, salve o arquivo como “HelloWord.c” em alguma
pasta vazia de seu computador.
c) No arquivo recém criado, escreva o código da Listagem 1. Enquanto você digita o
código, preste atenção nas cores e realces que são apresentados automaticamente.
Quando terminar, salve seu trabalho com o menu “File > Save”.
d) Para compilar seu programa, escolha o menu “Build > Build” ou tecle Ctrl-F9
simultaneamente. Se o programa foi digitado corretamente, você verá um
resultado de compilação semelhante ao apresentado na Figura 2.
e) Para executar o seu programa recém criado, utilize o menu “Build > Run”.
#include <stdio.h>
int main()
{
printf("Hello World!");
return (0);
}
Passo 3
Investigarem as opções de depuração do código fonte. Para isto, pode-se utilizar os exemplos
de programa apresentados na Etapa 2. Entretanto, os alunos são fortemente convidados a
implementar o algoritmo que desenvolveram na Etapa 1 do primeiro Desafio proposto na
Disciplina de Construção de Algoritmos.
Passo 4
Entreguem um mini-relatório contendo as respostas e observações realizadas a partir das
questões do Passo 1.
ETAPA № 2
PASSOS
Passo 1
Acessem o site do programa WinMerge disponível em <http://winmerge.org>. O site está em
Inglês, mas é possível descobrir os principais recursos deste aplicativo.
O programa WinMerge oferece recursos que auxiliam os desenvolvedores no controle
de versões do código fonte. Na Figura 3, apresenta-se uma visão geral do WinMerge na
comparação de dois arquivos de código desenvolvido em Linguagem C.
Passo 2
Leiam o texto e faça as atividades a seguir:
Como dito anteriormente, o WinMerge oferece recursos para o programador comparar
e mesclar versões diferentes de um documento em formato Somente Texto (ASCII). No caso
específico, o documento será um arquivo de código fonte escrito em Linguagem C.
int main()
{
int num1, num2, soma;
return (0);
}
int main()
{
//Decração de variáveis.
int num1, num2, soma;
//Apresentação do programa para o usuário.
printf("Exemplo de Programa Escrito em Linguagem C\n\n");
//Leitura de dados de entrada.
//... primeiro valor.
printf("Digite um número inteiro:");
scanf("%d", &num1);
//... segundo valor.
printf("Digite um número inteiro:");
scanf("%d", &num1);
//Cálculo ou determinação dos resultados.
soma = num1 + num2;
//Apresentação dos resultados ao usuário.
printf("A soma dos dois números fornecidos é igual a %d", soma);
return (0);
}
Passo 3
De posse dos arquivos WM-Exemplo-v1.c e WM-Exemplo-v2.c, utilize o WinMerge para
comparar os conteúdos destes programas. Você obterá algo semelhante ao apresentado na
Figura 3.
Tente abrir os dois arquivos utilizando o menu “Arquivo > Abrir”. Outra forma de
fazer isso, é selecionar os dois arquivos no Windows Explorer e com o menu que é acionado
com o botão direito, escolher a opção WinMerge.
Explore as formas que WinMerge possui para demonstrar as diferenças dos dois
arquivos. Por exemplo, como você explicaria a existência de linhas de cor cinza na
apresentação do arquivo WM-Exemplo-v1.c. Que vantagens você vê no desenho apresentado
no quadro “Painel de Localização”?
Faça outras alterações que desejar no código como, por exemplo, alterar o texto dos
comandos printf(). Dica: realize as alterações dentro da própria interface do WinMerge e,
então, tecle F5 para o programa atualizar a comparação dos arquivos.
Passo 4
Cada grupo deverá entregar de um mini-relatório contendo as respostas e observações
realizadas.
SEGUNDO DESAFIO
Problema
Para realizar esse projeto o diretor da agência solicitou à empresa responsável pela página de
internet que providenciasse o aplicativo, tendo especificado as seguintes características:
1. suportar as moedas disponíveis nos conversores usuais, como o da página do UOL
Economia: http://economia.uol.com.br/cotacoes (Acessado em 10/10/2010);
2. permitir conversão da moeda x para y como de y para x, a escolha do usuário;
3. guardar as cotações diárias por mês;
4. fazer médias as médias mensais das cotações das moedas;
5. indicar o menor e o maior valor da moeda no mês.
Para resolver esse desafio considere que você e seus colegas (até 4 indivíduos) fazem parte da
equipe que desenvolverá o aplicativo descrito e que o professor da disciplina é o gerente
desse projeto. Logo, entreguem ao professor seus nomes e RAs, lembrando que deverão
ETAPA № 1
Esta atividade é importante para que você desenvolva sua habilidade em trabalhar
com vetores como estrutura de dados, implementando-os corretamente.
Para realizá-la é importante seguir os passos descritos.
PASSOS
Passo 1
Por precaução o gerente do projeto pediu que a equipe realizasse a implementação de uma
instância menor do problema, de forma a testar e validar a solução para então aplicá-la ao
problema completo.
Por isso a equipe deverá usar para testes o Real e o Euro. As cotações diárias,
referentes a um mês, deverão ser armazenadas num vetor.
Considerem o período de um mês (30 dias) para calcular a média, o menor e maior
valor da cotação da moeda.
O código deve conter comentários que detalhem as variáveis usadas, os testes e loops
realizados pelo algoritmo.
Passo 2
Para mostrar que o algoritmo desenvolvido, no Passo 1 dessa Etapa, funciona corretamente, a
equipe deverá apresentar testes numéricos (pelo menos três testes oriundos de base de dados
distintas) que validem a solução proposta.
Passo 3
Documente essa etapa de estudos apresentando quais foram os resultados alcançados em
cada Passo. Por isso, elaborem um relatório, a ser entregue ao gerente do projeto - professor
da disciplina, contendo capa, sumário, descrição do algoritmo – explicando a lógica utilizada,
apresentação dos testes e referências bibliográficas. Em anexo coloquem a listagem do código
fonte.
Usem as normas da ABNT para a apresentação adequada do relatório, que não poderá
exceder 6 páginas, incluindo as figuras se houver.
ETAPA № 2
Esta atividade é importante para que você exercite o uso de matrizes, implementando-
as em C e verifique o uso de estrutura de dados distintas.
Para realizá-la é importante seguir os passos descritos.
PASSOS
Passo 1
O algoritmo implementado na Etapa 1 do segundo Desafio deverá ser ampliado de forma a
apresentar a média, o menor e maior valor das cotações de todas as moedas que o aplicativo
suportar.
Definam uma matriz como estrutura para guardar as informações das cotações diárias
de cada moeda, sendo que as linhas deverão corresponder à moeda e as colunas aos dias do
mês. Para identificação de cada moeda, usem um vetor, sendo que a posição do vetor em que
uma moeda está alocada corresponda à linha da matriz que contém suas cotações diárias.
Dica: analisem o código fonte da página do conversor do UOL Economia em:
http://economia.uol.com.br/cotacoes (Acessado em 10/10/2010). Peguem as 66 moedas que
esse conversor utiliza para o programa em desenvolvimento.
Passo 2
Outra solicitação feita pelo diretor da agência é que o aplicativo mostre a média, maior e
menor valor da cotação de uma moeda dentro de períodos pré-definidos.
Na Tabela 1 constam os períodos que deverão ser adicionados ao algoritmo e as
informações que deverão ser apresentadas.
É importante que o algoritmo permita que o usuário escolha o período que quer
verificar a média, menor e maior cotação da moeda. Mas, além disso, deverá permitir a
escolha de todas as estatísticas.
A equipe deverá apresentar o pseudocódigo do algoritmo que foi alterado para
atender o solicitado nesse Passo.
Passo 3
A equipe resolveu impressionar o gerente de projetos. Para isso, resolveram apresentar os
dados, que são solicitados na Tabela 1 do Passo anterior, em forma de gráfico. Mas o grupo
está dividido: alguns acham mais simples usar as saídas do programa e jogar no Excel para
plotar o gráfico; outros querem implementar o gráfico dentro do próprio sistema e usando C.
Você e seus colegas de equipe deverão escolher a forma que acharem mais adequada e
que, de preferência, contribua mais efetivamente para a formação de todos.
Passo 4
Conforme foi efetuado ao final de cada Etapa dos desafios, a equipe deverá documentar os
estudos desenvolvidos.
Portanto, elaborem o relatório final que será entregue ao gerente do projeto, contendo
capa, sumário, descrição do que foi realizado em cada Passo, os testes que mostrem o
funcionamento do programa e as referências bibliográficas. Em anexo coloquem a listagem
do código fonte.
Usem as normas da ABNT para a apresentação adequada do relatório, que não poderá
exceder 6 páginas, incluindo as figuras que possam existir.