Desenvolvimento de um sistema em linguagem C
Por: Juliana2017 • 19/6/2018 • 2.350 Palavras (10 Páginas) • 471 Visualizações
...
Um professor do ensino fundamental deseja utilizar esses recursos a fim de administrar notas de provas. Avaliando os pontos indicados pelo professor, a solução mais adequada será apresentada.
1.1 Objetivo
O objetivo do trabalho é apresentar as soluções encontradas para o gerenciamento de notas de um professor, utilizando as técnicas da linguagem C.
1.2 Cenário
Um professor do ensino fundamental necessita gerenciar as notas de seus alunos, e para isso solicitou o desenvolvimento de uma ferramenta que possa facilitar esse controle de notas.
A ferramenta deve conter:
- Cadastro dos alunos, com nome e número de matrícula;
- Cadastro de notas de 4 provas (P1, P2, P3 e P4);
- Cadastro da nota da prova substitutiva (que substitui a menor nota)
- Cálculo de médias, considerando que cada prova possui um peso diferente (P1 peso 1, P2 peso 2, P3 peso 3, P4 peso 4);
- Relatório de desempenho, mostrando o nome de cada aluno, suas notas, médias e a média da sala;
---------------------------------------------------------------
2 FUNDAMENTAÇÃO TEÓRICA
2.1 Tecnologia da Informação
Segundo LAUDON e LAUDON, 2004, sistema de informação é descrito como um grupo de elementos inter-relacionados, podendo ser softwares, equipamentos e outros, que são utilizados com o objetivo de coletar, armazenar e compartilhar a informação, a fim de suportar uma decisão e gerenciar uma organização.
Nos tempos atuais, não há motivo para não se adaptar em relação à tecnologia da informação, pois provêm muitos benefícios ao trabalho de um profissional.
2.2 Algoritmos
Segundo ASCENCIO, 1999, Algoritmo pode ser definido como uma sequência de passos necessários para a realização de uma determinada tarefa.
Existem várias situações cotidianas que podem ser demonstradas através de algoritmos. O exemplo a seguir mostra um algoritmo de uma receita de bolo:
- Colete os ingredientes do bolo
- Coloque os ingredientes em um liquidificador
- Bata os ingredientes até que esteja na consistência necessária
- Coloque a mistura em uma forma
- Aqueça um forno a 150°C
- Coloque a forma no forno
- Retire a forma do forno após 20 minutos
2.2.1 Tipos de algoritmos
Segundo ASCENCIO e CAMPOS, 2007, existem três tipos de algoritmos mais utilizados, que são definidos como descrição narrativa, pseudocódigo e fluxograma, que podem ser vistos a seguir:
2.2.1.1 Descrição narrativa
A utilização da descrição narrativa é viável em situações que necessitamos criar um algoritmo de um modo que o usuário final compreenda o tema mesmo sem ter conhecimento sobre algoritmos.
O exemplo da receita de bolo pode ser visto como uma descrição narrativa. Esse algoritmo é pouco utilizado atualmente, pois possui descrições imprecisas e não são totalmente confiáveis.
2.2.1.1 Fluxograma
Um fluxograma utiliza símbolos que seguem um padrão mundial, com formas que podem ser interpretadas por um usuário que tenha o conhecimento do significado dos símbolos. O fluxograma não é muito viável para algoritmos muito grandes.
2.2.1.1 Pseudocódigo
O pseudocódigo pode ser definido como uma forma genérica e simplificada para escrever um algoritmo, conforme exemplo a seguir, demonstrando um pseudocódigo para a multiplicação de 2 números.
Reais: a, b, c,
Escreva “o valor de a;”
Leia x;
Escreva “o valor de b;”
Leia b;
c = a * b;
Escreva “A multiplicação de, “a”, com, " b, " = "c”;
2.3 Linguagem C
A linguagem de programação C se trata de uma linguagem orientada ao objeto. Considerada uma precursora, principalmente por causa da C++, uma extensão de C, é uma técnica bem difundida, e inspirou diversas linguagens de programação semelhantes.
2.3 Engenharia de Software
Um ponto de extrema importância nos sistemas da informação é a engenharia de software. Segundo SOMMERVILLE, 2007, a engenharia de software tem foco em sistemas de software de qualidade elevada e custos apropriados.
2.3.1 Modelos de ciclo de vida
Um ciclo de vida ou modelo de processo define os passos para o desenvolvimento de um software. Para SOMMERVILLE, 2007, a criação dos modelos para processos de software ocorreu a fim de transformar a ação de desenvolvimento de software em algo mais organizado e menos caótico, como o uso de métodos.
A seguir, seguem dois tipos de modelos comuns de ciclo de vida.
2.3.1.1 Modelo sequencial linear
O modelo sequencial linear, também conhecido como cascata, é muito utilizado atualmente. Esse modelo segue uma linha sequencial com os passos a seguir:
- Engenharia de sistemas: Levantamento de requisitos dos usuários;
- Análise: Descreve o que será feito;
- Design: Define a arquitetura e a estrutura do software;
- Codificação: Utiliza uma linguagem de programação para atender os requisitos;
- Teste: Avalia se o que foi feito atende os requisitos;
- Manutenção: Efetua manutenções conforme a necessidade.
Esse modelo é viável para projetos de pequeno porte e
...