Anda di halaman 1dari 62

PROGRAMAO GRFICA 1

Prof. MSc. Karl Phillip Buhr


Curso: 620 - Engenharia da Computao
Componente Curricular: 20399
Crditos: 4
Fase: 1
Interfaces Grficas de Usurio
GUI Graphical User Interface
Histria & Evoluo das GUIs
Qt (Nokia)
Framework para aplicativos multi-plataforma
Atividades de laboratrio
Exerccios realizados durante a disciplina
C++ (Bjarne Stroustrup, 1983)
Linguagemde programao (compilada)
Conceitos - CLI
Command-line User Interface
Meio de interao com um programa de
computador aonde o usurio digita
comandos para um programa na forma de
linhas sucessivas de texto:
Conceitos - CLI
Command-line User Interface
Conceitos - CLI
Command-line User Interface
Conceitos - CLI
Command-line User Interface
Conceitos - GUI
GUI Graphical User Interface
Permite que usurios interajam com
dispositivos eletrnicos usando imagens ao
contrrio de interfaces baseadas em texto
Ex:
Conceitos - GUI
GUI Graphical User Interface
Permite que usurios interajam com
dispositivos eletrnicos usando imagens ao
contrrio de interfaces baseadas em texto
Ex: computadores, dispositivos portteis (MP3
players), vdeo games, equipamentos industriais,
dispositivos mveis, etc.
Conceitos - GUI
GUI Graphical User Interface
Conceitos - GUI
GUI Graphical User Interface
Conceitos - GUI
GUI Graphical User Interface
Conceitos - GUI
GUI Graphical User Interface
Conceitos - GUI
GUI Graphical User Interface
Conceitos - GUI
GUI Graphical User Interface
Conceitos - GUI
GUI Graphical User Interface
Fabricantes desenvolvem seus prprios
sistemas de janelas baseado em cdigo
independente, com elementos bsicos que
definem o WIMP:
Window, Icon, Menu, Pointing Device
Desvantagem:
Conceitos - GUI
GUI Graphical User Interface
Fabricantes desenvolvem seus prprios
sistemas de janelas baseado em cdigo
independente, com elementos bsicos que
definem o WIMP:
Window, Icon, Menu, Pointing Device
Desvantagem: necessrio dominar cada
uma destas tecnologias para deenvolver um
aplicativo para plataformas diferentes
Conceitos - Histria
GUI Graphical User Interface
Douglas C. Engelbart: engenheiro no
Standford Research Institute, que em1960
sonhou com uma interface grfica baseada
emmouse
Em1968 ele e um grupo de 17 pesquisadores
trabalharamcom ele, fizerama apresentao
de um vdeo de 90 minutos que serviu como
lanamento pblico do mouse do
computador:
http://sloan.stanford.edu/mousesite/1968Demo.html
Conceitos - Histria
GUI Graphical User Interface
Conceitos - Histria
GUI Graphical User Interface
Conceitos - Histria
GUI Graphical User Interface
Conceitos - Histria
GUI Graphical User Interface
Em1973, pesquisadores da Xerox (Palo Alto,
California) criarama mquina Alto que
deu origemao Xerox Star 8010 Document
Processor, lanado comercialmente em
1981 por US$ 40.000.
Conceitos - Histria
GUI Graphical User Interface
Xerox Alto
Conceitos - Histria
GUI Graphical User Interface
1981 Xerox Star O primeiro computador comercial com GUI
Conceitos - Histria
GUI Graphical User Interface
1981 IBM PC
Focado empadres abertos
SO da Microsoft
Outros fabricantes copiaramo design do
hardware e vendiamseus computadores com
cpias do MSDOS
Conceitos - Histria
GUI Graphical User Interface
Genrico IBM PC (compatvel)
Conceitos - Histria
GUI Graphical User Interface
IBM PC & Clones
Conceitos - Histria
GUI Graphical User Interface
IBM PC & Clones
Steve Jobs visitou a Xerox em1979 para ver o Alto
Ele percebeu que interfaces controlados por mouse
eramsuperiores a interfaces controladas por teclas
Comeou a trabalhar nisso imediatamente
Computador da Xerox:
Mouse no se movia na diagonal, as janelas no
podiamser sobrepostas, nemas caixas de dilogos
e o SO dependia de comandos do teclado
Conceitos - Histria
GUI Graphical User Interface
1983 Lisa Apple
Fracasso comercial:
focado na rea empresarial
e academia.
Conceitos - Histria
GUI Graphical User Interface
1984 Macintosh Apple
Conceitos - Histria
GUI Graphical User Interface
1984 Macintosh Apple (MacPaint)
Conceitos - Histria
GUI Graphical User Interface
1987 Windows 2.0 Microsoft
Conceitos - Histria
GUI Graphical User Interface
1987 Arthur OS GUI com barra de tarefas
Conceitos - Histria
GUI Graphical User Interface
1988 NeXT GUI (Janelas com aparncia 3D e cones)
Conceitos - Histria
GUI Graphical User Interface
1990 Windows 3.0 - Microsoft
Conceitos - Histria
GUI Graphical User Interface
1991 System 7 - Apple
Conceitos - Histria
GUI Graphical User Interface
1992 Windows 3.11 - Microsoft
Conceitos - Histria
GUI Graphical User Interface
1995 Windows 95 - Microsoft
Conceitos - Histria
GUI Graphical User Interface
1996 Mac System 7.5.3 - Apple
Conceitos - Histria
GUI Graphical User Interface
1997 Mac OS 8 - Apple
Conceitos - Histria
GUI Graphical User Interface
2001 iPod - Apple
Conceitos - Histria
GUI Graphical User Interface
2001 Windows XP- Microsoft
Conceitos - C++
1979 Bell Labs
C com classes. Em1983 renomeada para C++
Uma das mais populares atualmente
Conhecida por ser uma linguagemde nvel
intermedirio
Possui orientao a objetos
implementada emuma variedade enorme de
dispositivos e sistemas operacionais
Aplicaes: sistemas de software, aplicativos de
software, drivers, software embarcado,
servidores de alto desempenho, e video games
Conceitos - C++ vs Java
Hello World!
JAVA
import java.util.*;
public class AloMundo {
public static void main(String[] args) {
System.out.prinln(Hello World!);
}
}
#include <iostream>
int main(int argc, char* args[]) {
std::cout << Hello World! << std::endl;
return 0;
}
C++
Conceitos - Qt
Nokia
Framework para desenvolvimento de
aplicativos multi-plataforma com interface
grfica
Conceitos - Qt
Nokia (Autodesk Maya)
Conceitos - Qt
Nokia (VLC Media Player)
Conceitos - Qt
Nokia (Virtual Box)
Conceitos - Qt
Nokia (Skype)
Conceitos - Qt
Trabalho final
Plano de Ensino
Cdigo de Conduta Acadmico
O mrito acadmico avaliado com base na
produo independente de um acadmico. O aluno
que obtiver crdito pelo trabalho, palavras ou
ideias que no sejam produzidos por seu prprio
esforo considerado desonesto e viola o cdigo
de conduta acadmico. Tal desonestidade entra em
confronto com os padres de integridade
acadmicos da universidade. A violao do cdigo
de conduta pode resultar em penalidades que
variam de repreenses verbais e at suspenso, ou
expulso da universidade.
Filosofia com relao a colaborao
Alunos iniciantes aprendem mais quando
resolvem dificuldades sozinhos, com auxlio
adequado do professor
A nota final do semestre baseada em provas e
atividades individuais realizadas pelo aluno em
sala de aula
A colaborao nas atividades entre os prprios
alunos permitida somente com a permisso do
professor
Tolerncia zero por formas inaceitveis de
colaborao
ASSIDUIDADE: seo VIII Do Regime Excepcional
Art. 82. assegurado, mediante comprovao legal, o direito a
tratamento excepcional, com dispensa de frequncia regular s
atividades acadmicas:
aluna gestante;
Aos alunos portadores de afeces orgnicas, amparadas em
lei;
Ao aluno convocado para manobras militares;
Ao aluno que comprovar a participao em atividades
esportivas, cientficas e artsticas de carter oficial;
Luto por morte do cnjuge ou parente at terceiro grau;
Outras situaes que merecem tratamento excepcional,
mediante aprovao do Colegiado de Curso.
1. Nos casos previstos nos incisos III e IV, este benefcio deve ser
requerido com at 48 (quarenta e oito) horas de antecedncia.
2 Nos demais casos, este benefcio dever ser requerido at 10
(dez) dias teis subseqentes ao incio da ausncia s atividades
letivas.
3. O tratamento excepcional no exime o aluno da realizao das
avaliaes.
Ambiente &
Ferramentas
Introduo
#include <iostream> // necessrio para usar objeto cout
#define PI 3.14159265 // diretiva de pr-processador
// Exibe uma mensagemde boas-vindas
int main(int argc, char* args[])
{
std::cout << Hello World! << std::endl;
return 0;
}
/* C++
case-sensitive
*/
C++
C++
Compilar e Executar Hello World!
C++
O cdigo pr-processado antes de ser compilado:
C++
Diretivas de pr-processamento:
#define #ifndef
#elif #include
#else #line
#error #pragma
#if #undef
#ifdef
Tokens pr-definidos:
__cplusplus : definido se o programa foi escrito em C++
__STDC__ : definido se o programa foi escrito em C padro
__LINE__ : guarda o nmero da linha atual
__FILE__ : guarda o nome do arquivo atual
__DATE__ : guarda a data da compilao
__TIME__ : guarda a hora da compilao
Tipos de Dados Primitivos
#include <iostream>
using namespace std;
int main() {
cout << "sizeof(char) is " << sizeof(char) << " bytes " << endl;
cout << "sizeof(short) is " << sizeof(short) << " bytes " << endl;
cout << "sizeof(int) is " << sizeof(int) << " bytes " << endl;
cout << "sizeof(long) is " << sizeof(long) << " bytes " << endl;
cout << "sizeof(long long) is " << sizeof(long long) << " bytes " << endl;
cout << "sizeof(float) is " << sizeof(float) << " bytes " << endl;
cout << "sizeof(double) is " << sizeof(double) << " bytes " << endl;
cout << "sizeof(long double) is " << sizeof(long double) << " bytes " <<
endl;
cout << "sizeof(bool) is " << sizeof(bool) << " bytes " << endl;
return 0;
}
C++
BIBLIOGRAFIA
BOENTE, A. Aprendendo a Programar em Java 2 Orientado a Objetos. Sao Paulo: Brasport,
2003.
SANTEE, A. Programacao de Jogos com C++ e DirectX. Sao Paulo: Novatec, 2005. 399p.
JAMSA, K., KLANDER, L. Programando em C/C++. Makron Books, 1998. ISBN 1884133258
DEITEL, P. J., DEITEL, H. M. C++ Como Programar. Prentice Hall Brasil, 2006. ISBN
8576050560
JUNIOR, P. J. Introducao ao C++. Futura, 2003. ISBN 85-7413-172-5
HOLZNER, S. C++ Black Book. So Paulo: Makron Books, 2001.
Qt Reference Documentation: http://doc.qt.nokia.com/4.7/index.html

Anda mungkin juga menyukai