Prévia do material em texto
PROGRAMAÇÃO DE SOFTWARE BÁSICO EM C - ARA0363
Semana Aula: 2
Datas, horários e gráficos
Tema
1. BIBLIOTECAS E APIS PARA LINGUAGEM C
Objetivos
Empregar bibliotecas de calendário e gráfica na exemplificação da modularização de
aplicações de software básico.
Tópicos
1.2 DATAS, HORÁRIOS E GRÁFICOS
Procedimentos de Ensino-Aprendizagem
Situação-Problema:
A modularização no desenvolvimento de programas é uma abordagem que permitiu a
simplificação na reutilização de código em linguagens como C. As bibliotecas são a
forma mais conhecida de distribuir estes códigos já criados por outros programadores,
sendo de fundamental importância no desenvolvimento de programas em C. As
bibliotecas da linguagem C incluem funções que acessam hora e data do sistema, bem
como elementos gráficos. Estas funções são um bom exemplo do uso de recursos para
software básico. Como usar essas bibliotecas e como criar as nossas próprias bibliotecas
na linguagem C?
Metodologia:
O uso e criação de bibliotecas na linguagem C irá acompanhar os alunos durante esta
disciplina. Neste sentido, deve ser enfatizado nesta aula o processo básico de criação de
bibliotecas no ambiente Dev C++ e o uso de bibliotecas para manipulação de data e hora
no sistema, bem como o uso de elementos gráficos, que darão aos alunos uma ideia
inicial de como acessar recursos do sistema com código já desenvolvido por terceiros.
Apresentar o vídeo [2], que apresenta a criação de bibliotecas no ambiente Dev C++. Em
seguida, realizar uma exposição sobre as bibliotecas básicas da linguagem C conforme
[1], capítulo 6, Seções 6.1, 6.2 e 6.3. Solicitar aos alunos que utilizem o Dev C++ para
acompanhar os exemplos apresentados, compilando e testando os programas que utilizam
as bibliotecas. Apresentar, em seguida, o vídeo [3], que demonstra o uso da biblioteca de
data e hora, time.h. Depois, realizar uma exposição sobre a biblioteca time.h, conforme
[1], capítulo 6, Seção 6.4. Os alunos podem utilizar o compilador
https://www.onlinegdb.com/ para realizar os programas nesta parte da aula. Em seguida,
apresentar o vídeo [4], que mostra a instalação da biblioteca graphics.h adaptada para o
Dev C++. Solicitar que os alunos instalem a biblioteca, conforme apresentado em [5].
Atividade Verificadora de Aprendizagem:
Solicitar que os alunos desenvolvam a atividade apresentada em [5] no Dev C++ para
treinar a utilização da biblioteca graphics.h. Como opção de atividade adicional, solicitar
que os alunos desenvolvam a atividade descrita em [6], que mostra a instalação e uso da
Biblioteca MiniWin para desenho e jogos.
Recursos Didáticos
Laboratório de Informática com computadores conectados à Internet; Computador do
professor com datashow, acesso à Internet e caixas de som; Datashow; Software Packet
Tracer; Quadro e marcador.
Leitura Específica
[1] MANZANO, José Augusto N. G. Linguagem C - Acompanhada de uma Xícara de
Café. 1a.. São Paulo: Érica, 2015.
Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9788536519364/
[2] Vídeo "Biblioteca com arquivo objeto" disponível em:
https://drive.google.com/file/d/1nz82KAz1xi4A3YE9lWhsEO1mV5OoC6Qx/view?usp=
sharing
[3] Vídeo "Biblioteca time.h"
https://drive.google.com/file/d/1c1BPHRsLd0I-
GvbHbu23fj6dzmFQ27HD/view?usp=sharing
[4] Vídeo "Biblioteca graphics.h no Dev C++" disponível em:
https://drive.google.com/file/d/1AkXt71ZxeFvum2WmCSx3C3kQPVB1vXsI/view?usp=
sharing
[5] Instalação da biblioteca graphics.h e atividade prática
https://drive.google.com/file/d/1V3_RAYXWv2TX16LCeKiuGq9f8MDUFYW4/view?u
sp=sharing
[6] Atividade com biblioteca MiniWin
https://drive.google.com/file/d/1QRrTJ4KcN70uOXOrGFhxsz8O4K2Z7YNE/view?usp=
sharing
Aprenda +
Vídeo: "Criar figuras geométricas com C++ = MiniWin e Dev C++", disponível em:
https://www.youtube.com/watch?v=2yagNLyWa-
M&list=PLKXBgaCMHMXTdxM6RfzM1LAZ_ytZe8ulu&index=1
Atividade Autônoma Aura:
1) Seu chefe te passou os dados da struct tm, que trabalha com data e hora dentro da
biblioteca time.h. Abaixo estão os dados:
struct tm {
int tm_sec; //representa os segundos de 0 a 59
int tm_min; //representa os minutos de 0 a 59
int tm_hour; //representa as horas de 0 a 24
int tm_mday: //dia do mês de 1 a 31
int tm_mon; //representa os meses do ano de 0 a 11
int tm_year; //representa o ano a partir de 1900
int tm_wday; //dia da semana de 0 (domingo) até 6 (sábado)
int tm_yday; // dia do ano de 1 a 365
int tm_isdst; //indica horário de verão se for diferente de zero
};
Qual será a saída do seguinte código C, se a data do sistema for 4 de dezembro de 2020?
#include '<' stdio.h '>'
#include '<' time.h '>'
int main()
{
struct tm *local;
time_t t;
t = time(NULL);
local = localtime(&t);
printf("%d", local -> tm_mon);
return 0;
}
a) 12
b) 11
c) 4
d) 20
e) 04/12/2020
2) Em um projeto gráfico que você está trabalhando, usando a biblioteca graphics.h,
alguém quis desenhar uma linha diagonal que sobe da esquerda para a direita da tela.
Vocês sabem, pelo manual, que a instrução line(x1,y1,x2,y2) desenha uma linha da
coordenada (x1,y1) até a coordenada (x2,y2). Usaram, então, a seguinte instrução:
line(0,0,200,200), sem sucesso. Por tentativa e erro, vocês conseguiram o que queriam
com a instrução line(0,200,200,0). Por que isso ocorreu?
a) É um erro da biblioteca.
b) Porque a origem é o canto superior esquerdo da tela.
c) Porque a origem é o canto superior direito da tela.
d) Porque a origem é o canto inferior direito da tela.
e) Porque a origem é o canto inferior esquerdo da tela.