Introdução à SDL2. por Bruno Bottino Ferreira Adriano Cruz

Tamanho: px
Começar a partir da página:

Download "Introdução à SDL2. por Bruno Bottino Ferreira Adriano Cruz"

Transcrição

1 Introdução à SDL2 por Bruno Bottino Ferreira Adriano Cruz

2 Agenda O que é? Por que? Instalando Conceitos Básicos Programando

3 O que é?

4 Lazyfoo site So you learned the basics of C++, but you're sick of making little text based programs. In order to use things like graphics, sound, keyboards, joysticks, etc you need an API (Application Programmer's Interface) that takes all those hardware features and turns it into something C++ can interact with. That's what SDL does. It takes the Windows/Linux/Mac/Android/iOS/etc tools and wraps them in a way that you can code something in SDL and compile it to whatever platform it supports. In order to use it, you need to install it.

5 Simple DirectMedia Layer é uma biblioteca de desenvolvimento multi-plataforma. Foi projetada para suportar acesso de baixo nível à audio, teclado, mouse, joystick e hardware gráfico via OpenGL e Direct3D. É usada por software de vídeo, emuladores e vários jogos populares incluindo da Valve e vários Humble Bundle.

6 Como foi desenvolvida? SDL oficialmente suporta Windows, Mac OS X, Linux, ios, and Android. Suporte para outras plataformas pode ser encontrada no código fonte. SDL foi escrita em C, trabalha nativamete com C++, e há ligações disponíveis para outras linguagens incluindo C# e Python. SDL 2.0 é distribuída sob a licença zlib. Esta licença permite que use SDL livremente em qualquer software.

7 Por que?

8 Por que SDL? Abstração do hardware Programador

9 Por que SDL? Portabilidade

10 Camadas SDL

11 O que é SDL? Simple Directmedia Layer Biblioteca multimídia voltada para jogos Vídeo Som Interface com o usuário (teclado, mouse, joystick) CD-Áudio Threading Controle de tempo

12 Exemplos

13 Requisitos Conhecimento de programação em C/C++ Ambiente de programação C/C++ Instalar a biblioteca no ambiente de programação Preferencialmente hardware de som, mouse, joystick e CD-ROM (para testes)

14 Instalando

15 Instalando Download -> SDL2 x.x (mais recente) Development Libraries (para sua plataforma) ou Source code (código-fonte) (deve ser compilado)

16 Instalando no MinGW Baixar o arquivo.tar.gz correspondente ao MinGW Copiar as pastas Include e Lib para a pasta do MinGW É interessante configurar o windows para que seja possível usar o comando gcc em qualquer diretório. Para compilar: gcc prog.c -o prog -IC:\mingw\include\SDL2 -LC:\mingw\lib -lmingw32 -lsdl2main -lsdl2

17 Subdivisões SDL é composta de várias subbibliotecas. SDL_image trata de imagens SDL_mixer trata de sons SDL_ttf gerencia fontes etc

18 MinGW SDL_image Baixar o arquivo SDL2_image-devel-X.X.X- XX.zip de correspondente ao MinGW windows32 Copiar as pastas Include e Lib para a pasta do MinGW Para compilar: gcc prog.c o prog.exe -Wall lmingw32 lsdlmain lsdl2 lsdl2_image

19 MinGW SDL_mixer Baixar o arquivo SDL_mixer-devel-X.X.X- XX.zip de correspondente ao MinGW windows32 Copiar as pastas Include e Lib para a pasta do MinGW Para compilar: gcc prog.c o prog.exe -Wall lmingw32 lsdlmain lsdl2 lsdl2_image lsdl2_mixer

20 MinGW SDL2_gfx No Ubuntu instalar a versão libsdlgfx1.x-dev Para compilar: gcc prog.c o prog.exe -Wall lmingw32 lsdlmain lsdl2 lsdl2_image lsdl2_mixer -lsdl2_gfx

21 Observações Cuidados no Windows A SDL redireciona stdout e stderr para os arquivos stdout.txt e stderr.txt Tentar ler de stdin geralmente causa problemas.

22 Conceitos Básicos

23 Observações Prog C

24 Conceitos básicos A função da API SDL de vídeo é simplesmente encontrar e configurar um dispositivo para você usar. Uma vez iniciado o display, criada a janela ou colocada a tela em um determinado modo, SDL deve sair do caminho. SDL fornece um conjunto mínimo de funções para mover blocos de pixels, gerenciar o teclado, mouse e só. SDL não é uma ferramenta de desenho. O que você faz depois que ocorre a inicialização é problema seu.

25 Conceitos básicos SDL trabalha baseado em eventos. Normalmente o programa não controla o seu fluxo. Ele fica em um laço esperando eventos acontecerem. O programa deve reagir a eventos. Um evento é uma mensagem enviada do sistema operacional ao seu programa. Tipos de eventos: tecla apertada, mouse andou, termina etc.

26 Conceitos básicos SDL especifica tipos quando tamanho dos tipos é importante Unsigned: Uint32, Uint16, Uint8 Signed: Sint32, Sint16, Sint8 Algumas vezes: Uint64, Sint64 (somente se SDL_HAS_64BIT_TYPE for definido) Também SDL_Bool (assume valores SDL_FALSE ou SDL_TRUE)

27 Programa básico em SDL Loop principal while(!stop) { while(sdl_pollevent(&event)) { switch (event.type){ case SDL_QUIT: stop = 1; break; case SDL_KEYDOWN: /*Trata */ /* case outros eventos */ } } }

28 Superfícies SDL usa estruturas chamadas superfícies (do tipo SDL_Surface) para representar dados gráficos. Uma superfície é somente um bloco de memória para armazenar uma região retangular de pixels. Cada superfície tem uma largura, altura e um formato específico para armazenar os pixels.

29 Conceitos básicos Uma superfície é uma matriz bidimensional de pontos, onde cada ponto representa uma cor composta por três componentes: R, G e B (vermelho, verde e azul). Um PixelFormat é uma estrutura que define o formato em que as cores dos pixels são armazenadas.

30 Superfícies SDL carrega arquivos de imagens diretamente nas estruturas de superficie. A tela (screen) também é uma superfície, embora especial. Superfícies podem ser copiadas para cima de outras em uma operação chamada blit (block image transfer).

31 Superfícies Blits são parte fundamental da programação de jogos. Com blits é possível fazer imagens a partir de outras imagens prédesenhadas. Desde que a tela é uma superfície como qualquer outra, imagens podem ser copiadas para a tela (screen) com uma única operação de blit. A função de blit é muito rápida.

32 Superfícies

33 Programando

34 Programa básico em SDL Incluir a biblioteca #include <SDL2/SDL.h> Declarar a função main como int main (int argc, char** argv) Declarar variáveis SDL_Surface* screen; SDL_Window* window; SDL_Event event; int stop = 0;

35 Programa básico em SDL Inicializar SDL_Init(flags); flags é um ou-binário dos valores: SDL_INIT_VIDEO SDL_INIT_AUDIO SDL_INIT_JOYSTICK SDL_INIT_CDROM SDL_INIT_TIMER SDL_INIT_EVERYTHING SDL_Init(SDL_INIT_VIDEO SDL_INIT_AUDIO);

36 Programa básico em SDL Criar a janela screen = SDL_CreateWindow(const char* title, int x, int y, int w, int h, int flags); flags é um ou de SDL_WindowFlags (p. ex) SDL_WINDOW_FULLSCREEN SDL_WINDOW_SHOWN SDL_WINDOW_HIDDEN SDL_WINDOW_MINIMIZED SDL_WINDOW_INPUT_FOCUS SDL_WINDOW_MOUSE_FOCUS

37 Programa básico em SDL Loop principal while(!stop) { while(sdl_pollevent(&event)) { if(event.type == SDL_QUIT) { stop = 1; } } SDL_UpdateWindowSurface(window); }

38 Programa básico em SDL Para encerrar, escolher /* colocar no final */ SDL_Quit(); return 0; /* ou colocar no inicio, garante que SDL_Quit será executado */ atexit(sdl_quit);

39 Programa básico em SDL #include <SDL2/SDL.h> #include <stdio.h> int main( int argc, char* args[ ] ) { SDL_Window* window = NULL;//The window we'll be rendering to SDL_Surface* screensurface = NULL; //The surface contained // by the window if( SDL_Init( SDL_INIT_VIDEO ) < 0 ) { printf( "SDL could not initialize! SDL_Error: %s\n", SDL_GetError() ); } else { window = SDL_CreateWindow( "SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN ); if( window == NULL ) { printf( "Window couldnt be created! Error: %s\n", SDL_GetError() ); }

40 Programa básico em SDL } else { screensurface = SDL_GetWindowSurface( window ); //Fill the surface white SDL_FillRect( screensurface, NULL, SDL_MapRGB( screensurface->format, 0xFF, 0xFF, 0xFF ) ); SDL_UpdateWindowSurface( window ); SDL_Delay( 2000 ); //Wait two seconds } } SDL_DestroyWindow( window ); //Destroy window SDL_Quit(); //Quit SDL subsystems return 0;

41 Funções gráficas /* Alguns exemplos */ /* programa grafico.c */ linergba(screen, 20, 10, 70, 90, 255, 0, 0, 255); boxrgba(screen, 210, 76, 325, 300, 255, 0, 0, 150); short x[6] = { 350, 275, 300, 325, 350, 400 }; short y[6] = { 325, 325, 390, 390, 375, 300 }; polygonrgba(screen, x, y, 6, 255, 255, 255, 155);

42 Programa básico em SDL

43 Superfícies Uma superfície com o PixelFormat da tela my_surf = SDL_CreateRGBSurface(flags, width, height, screen->format->bitsperpixel, screen->format->rmask, screen->format->gmask, screen->format->bmask, screen->format->amask);

44 Superfícies e Arquivos Criando uma superfície a partir de um arquivo BMP my_surf = SDL_LoadBMP( file.bmp );

45 Superfícies e Arquivos Criando uma superfície a partir de um arquivo BMP, PNM, XPM, LBM, PCX, GIF, JPEG, PNG, TGA, TIFF (usando a biblioteca SDL2_image) #include <SDL2_image.h> mage/

46 Superfícies e Arquivos SDL_Surface* gpngsurface, optsurface; int imgflags = IMG_INIT_PNG; if (!(IMG_Init(imgFlags) & imgflags)) { printf( Error: %s\n, IMG_GetError()); } gpngsurface = IMG_Load(./loaded.png ); if (gpngsurface == NULL) { printf( Error: %s\n, IMG_GetError()); } else { optsurface = SDL_ConvertSurface(gPNGSurface, GscreenSurface->format, 0); if (optsurface == NULL) {

47 Blits Um blit é uma cópia de parte da imagem de uma superfície para outra src é a superfície de origem dst é a superfície de destino srcrect é a área de origem dstrect é a área de destino Se srcrect ou dstrect forem NULL, significa toda a área da superfície SDL_BlitSurface(src, srcrect, dst, dstrect); Arquivo: ex1.c

48 Superfícies srcrect={x,y,w,h}; dstrect={0,0,w,h}; (0,0) (x,y) h h w src w Arquivo: ex1.c dst

49 Atualizando a tela Para atualizar parte da tela int SDL_UpdateWindowSurfaceRects( SDL_Window* window, const SDL_Rect* rects, int numrects) Para atualizar toda a tela SDL_UpdateWindowSurface(SDL_Window* window);

50 Color-Key As vezes é necessário tornar uma cor transparente (color-key). Original Com color-key

51 Color-key Tornar uma cor transparente SDL_SetColorKey(surface, SDL_SRCCOLORKEY, SDL_MapRGB(surface->format, r, g, b)); Desligar a cor transparente SDL_SetColorKey(surface, 0, 0);

52 Transparência-alpha Em outras situações toda uma imagem precisa se tornar transparente. Neste caso podemos ter imagens a frente de outras. Exemplo: um fantasma andando por um ambiente.

53 Transparência Dar um valor de transparência geral SDL_SetAlpha(surface,SDL_SRCALPHA, val); val: 0 (transparente) a 255 (opaco) Desligar a transparência geral SDL_SetAlpha(surface, 0, 0); Arquivos: ex2xx.c

54 Cursor do Mouse Mostrar/esconder o cursor SDL_ShowCursor(int toggle); SDL_ENABLE mostra o cursor SDL_DISABLE esconde o cursor SDL_QUERY retorna o estado atual Mover o cursor SDL_WarpMouseGlobal(int x, int y); SDL WarpMouseInWindow(SDL_Window *window, int x, int y);

55 Eventos Tipos de eventos SDL_ACTIVEEVENT SDL_KEYDOWN / SDL_KEYUP SDL_MOUSEMOTIONEVENT SDL_MOUSEBUTTONDOWN / SDL_MOUSEBUTTONUP SDL_JOYAXISMOTION SDL_JOYBALLMOTION SDL_JOYHATMOTION SDL_JOYBUTTONDOWN / SDL_JOYBUTTONUP SDL_QUIT SDL_SYSWMEVENT SDL_VIDEORESIZE SDL_VIDEOEXPOSE SDL_USEREVENT

56 Eventos Lendo eventos SDL_Event event; while(sdl_pollevent(&event)) { switch(event.type) { case tipo1: /*... */ break; case tipo2: /*... */ break; /*... */ case tipon: /*... */ break; } }

57 Eventos do Teclado Teclado Dados do evento: event.key type: SDL_b, SDL_z, SDL_KEYDOWN ou SDL_KEYUP state: SDL_PRESSED ou SDL_RELEASED Dados da tecla: event.key.keysym sym: constante em SDLKey unicode: caracter (formato Unicode/ASCII) mod: modificadores (ou-binário de constantes em SDLMod) Arquivo: 04_keysAdriano_SDL.c

58 Eventos do Mouse Movimentação do mouse TIPO: if (event.type==sdl_mousemotion) Dados do evento em event.motion event.motion.x, event.motion.y são as novas coordenadas do mouse event.motion.xrel,event.motion.yrel é o deslocamento relativo a última posição event.motion.state pode ser igual a SDL_PRESSED, SDL_RELEASED

59 Eventos do Mouse Clique do mouse TIPO: if (event.type == SDL_MOUSEBUTTONDOWN) Dados do evento em event.button event.button.button pode ser igual a: SDL_BUTTON_LEFT SDL_BUTTON_MIDDLE SDL_BUTTON_RIGHT event.button.state pode ser igual a: SDL_PRESSED SDL_RELEASED Arquivo: ex4.c

60 Eventos Outros eventos Joysticks Redimensionamento da janela Encerramento Eventos gerados pelo usuário

61 CD-Áudio Número de drives de CD n_drives = SDL_CDNumDrives(); Abrir um drive para acesso SDL_CD* cdrom = SDL_CDOpen(n); Tocar uma trilha SDL_CDPlayTracks(cdrom, track, 0, 1, 0); Trilhas começam em zero Fechar um drive para acesso SDL_CDClose(cdrom); Arquivo: ex5.c

62 Som Utilizando a biblioteca SDL_mixer Inicializando SDL_Init(... SDL_INIT_AUDIO); Mix_OpenAudio(freq, format, channels, bufsize); freq: frequência de amostragem (ex Hz) format: formato de saída (ex. 16bits) channels: 1 (mono) ou 2 (estéreo) bufsize: tamanho do buffer (ex. 4096) Tipicamente Mix_OpenAudio(MIX_DEFAULT_FREQUENCY, MIX_DEFAULT_FORMAT, 2,4096);

63 Som Carregando um som Mix_Chunk* sound = Mix_LoadWAV("kaboom.wav"); Ajustando o volume de um som Mix_VolumeChunk(sound, volume); 0 <= volume <= MIX_MAX_VOLUME Liberando a memória Mix_FreeChunk(sound);

64 Som Alocando canais de saída Mix_AllocateChannels(n_channels); Tocando um som em um canal Mix_PlayChannel(channel, sound, loops); channel: número do canal channel = -1: primeiro disponível loops: número de repetições loops = 0: tocar uma vez loops = -1: tocar para sempre

65 Som Carregando uma música Mix_Music* music = Mix_LoadMUS( boogie.mp3 ); WAVE, MOD, MIDI, OGG, MP3 Tocando uma música Mix_PlayMusic(music, loops); loops: número de repetições loops = 0: tocar uma vez loops = -1: tocar para sempre Ajustando o volume da música Mix_VolumeMusic(sound, volume); 0 <= volume <= MIX_MAX_VOLUME

66 Som Encerrando Mix_CloseAudio(); Outras funções Fade in/out Panning Distância Posição (som 2D) Arquivo: ex6.c

67 Tempo Contagem de tempo time = SDL_GetTicks(); Retorna o número de ms desde a inicialização Criando um temporizador id = SDL_AddTimer(interval, func, param); Chama a função func a cada interval ms passando os parâmetros interval e param Uint32 func(uint32 interval, void *param); Cancelando um temporizador SDL_RemoveTimer(id); Arquivo: ex7.c

68 Encerrando Assuntos não abordados Joysticks Threads Onde conseguir ajuda group=gmane.comp.lib.sdl s

69 O Fim

Introdução à SDL. por Bruno Bottino Ferreira Adriano Cruz

Introdução à SDL. por Bruno Bottino Ferreira Adriano Cruz Introdução à SDL por Bruno Bottino Ferreira tinnus@gmail.com Adriano Cruz adriano@nce.ufrj.br Agenda Por que? Instalando Conceitos Básicos Programando Por que? Por que SDL? Abstração do hardware Programador

Leia mais

Prof. MSc. João Ricardo Bittencourt

Prof. MSc. João Ricardo Bittencourt Introdução à SDL Prof. MSc. João Ricardo Bittencourt UNISINOS Sumário 1. Outros formatos de imagens (PNG,JPEG,...) 2. Texto (Fontes TTF) 3. Eventos 4. Sincronismo 5. SDL & OpenGL 6. Som 7. Rede Outros

Leia mais

SDL e SMPEG. Multimídia multiplataforma MPEG. SDL MPEG Player Library. Neste artigo você irá aprender um pouco sobre as bibliotecas SDL e

SDL e SMPEG. Multimídia multiplataforma MPEG. SDL MPEG Player Library. Neste artigo você irá aprender um pouco sobre as bibliotecas SDL e Multimídia multiplataforma SDL e SMPEG Neste artigo você irá aprender um pouco sobre as bibliotecas SDL e SMPEG e sobre o formato MPEG de compactação de vídeo e áudio. Além disso, você irá interagir com

Leia mais

Programação Gráfica Parte 2 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano

Programação Gráfica Parte 2 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano Programação Gráfica Parte 2 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano Paulo V. W. Radtke pvwradtke@gmail.com http://www.ppgia.pucpr.br/~radtke/jogos/ AVISO IMPORTANTE!! Esta versão é dedicada exclusivamente

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

Diversão com Software Livre

Diversão com Software Livre Diversão com Software Livre Jogos e ferramentas para desenvolvê-los Leandro Motta Barros lmb@stackedboxes.org Dia da Liberdade de Software 2009 02009-09-19 Agenda Introdução Jogos Ferramentas Notas finais

Leia mais

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias 1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo

Leia mais

Outline. 33. Manipulação de arquivos DIM

Outline. 33. Manipulação de arquivos DIM Outline 33. Manipulação de arquivos DIM031 015.1 Leitura e escrita 3 s DIM031 33. Manipulação de arquivos 015.1 1 / 4 DIM031 33. Manipulação de arquivos 015.1 / 4 Arquivo = entidade de armazenamento de

Leia mais

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Profa Rosana Braga 1º semestre de 2010 1 Arquivo-FONTE /*******************************/ /* Primeiro exemplo arq exemplo1.c

Leia mais

Introdução ao OpenCV

Introdução ao OpenCV Instituto Federal Sul-rio-grandense Campus Pelotas Engenharia Elétrica Processamento de Imagens Digitais Introdução ao OpenCV (Parte I) Glaucius Décio Duarte Atualizado em: 20 ago. 2018 OpenCV (Open Source

Leia mais

Desenho de uma matriz de retângulos Serve de base para o exercício das cores

Desenho de uma matriz de retângulos Serve de base para o exercício das cores Desenho de uma matriz de retângulos Serve de base para o exercício das cores Leandro Tonietto Processamento Gráfico - Unisinos ltonietto@unisinos.br http://professor.unisinos.br/ltonietto 19-Mar-2014 Leandro

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada 1º Programa: olamundo.c #include // biblioteca padrão de E/S /* Programa Olá Mundo */ int main(void) { printf( Olá mundo\n ); //exibe Olá mundo

Leia mais

No Windows há basicamente dois tipos de programas de usuário:

No Windows há basicamente dois tipos de programas de usuário: Introdução O que vem a ser um programa em C? Você talvez já tenha ouvido falar que um compilador é um programa ou ferramenta que transforma um programa fonte escrito em uma linguagem de programação de

Leia mais

Instalação JDK 10/03/2017

Instalação JDK 10/03/2017 1 Instalação JDK 10/03/2017 Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação, responsável por traduzir o que sua aplicação

Leia mais

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 2. Introdução a OpenGL

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 2. Introdução a OpenGL Computação Gráfica Engenharia de Computação CEFET/RJ campus Petrópolis Prof. Luis Retondaro Aula 2 Introdução a OpenGL OpenGL básico OpenGL (Open Graphical Library) Uma API para geração de gráficos 3D

Leia mais

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2015 - BSI Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:

Leia mais

SO Conceitos Básicos. Gerência. Objetivos do SO 07/05/2011. Qual sistema operacional escolher? Qual sistema operacional escolher?

SO Conceitos Básicos. Gerência. Objetivos do SO 07/05/2011. Qual sistema operacional escolher? Qual sistema operacional escolher? INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DA PARAÍBA CAMPUS CAMPINA GRANDE 1 2 SO Conceitos Básicos UNIDADE I INTRODUÇÃO À INFORMÁTICA: SISTEMA OPERACIONAL USO E OPERAÇÃO Em torno do computador

Leia mais

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

USP - ICMC - SSC SSC o. Semestre BSI. Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

USP - ICMC - SSC SSC o. Semestre BSI. Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2015 - BSI Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:

Leia mais

Conhecendo a Linguagem de Programação C

Conhecendo a Linguagem de Programação C Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler

Leia mais

Estruturas de Repetição

Estruturas de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas de Repetição Aula Tópico 4 (while, for) 1 Problema 10 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em C. Dados dois números

Leia mais

PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR PIC - PROGRAMAÇÃO LINGUAGEM C AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR acjunior@facthus.edu.br UBERABA MG 1º SEMESTRE 2009 FLUXOGRAMAS FLUXOGRAMAS Fluxograma para somar dois números e guardar em uma terceira

Leia mais

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG Instalação JDK Joyce França Professora de Ciência da Computação - IFNMG Máquina Virtual Java utiliza-se do conceito de máquina virtual, onde existe uma camada extra entre o sistema operacional e a aplicação,

Leia mais

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação

Entender o problema Encontrar um algoritmo para resolvê-lo. Implementar o algoritmo numa linguagem de programação Entender o problema Encontrar um algoritmo para resolvê-lo Implementar o algoritmo numa linguagem de programação Permitem implementar um algoritmo Expressar o algoritmo numa forma que o computador entenda

Leia mais

A Linguagem C. A forma de um programa em C

A Linguagem C. A forma de um programa em C A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de

Leia mais

OpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 03 ago. 2017)

OpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 03 ago. 2017) Computação Gráfica - Aula 2 (atualizada em 03 ago. 2017) glaucius@pelotas.ifsul.edu.br OpenGL O que é OpenGL? OpenGL é uma biblioteca de rotinas gráficas de modelagem, manipulação de objetos e exibição

Leia mais

Sumário. Ficheiros. Ficheiros

Sumário. Ficheiros. Ficheiros Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções

Leia mais

Revisão C++ - Parte 1

Revisão C++ - Parte 1 Revisão C++ - Parte 1 Prof. Gustavo Leitão Campus Natal Central Disciplina Programação para Ambiente de Redes 5/3/2010 Objetivo da Aula 5/3/2010 5/3/2010 OBJETIVO DA AULA Revisar os principais comandos

Leia mais

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros

Leia mais

Passo-a-passo para desenvolver um Programa usando a Linguagem Python

Passo-a-passo para desenvolver um Programa usando a Linguagem Python Cursos: Engenharia de Produção / Tecnólogo em Gestão da Qualidade Disciplina: Informática Professora: Flávia Pereira de Carvalho Passo-a-passo para desenvolver um Programa usando a Linguagem Python 1)

Leia mais

OpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 15/08/2018)

OpenGL. Licenciatura em Computação Computação Gráfica - Aula 2 (atualizada em 15/08/2018) Computação Gráfica - Aula 2 (atualizada em 15/08/2018) glaucius@pelotas.ifsul.edu.br OpenGL O que é OpenGL? OpenGL é uma biblioteca de rotinas gráficas de modelagem, manipulação de objetos e exibição tridimensional

Leia mais

Linguagem de Programação C. Prof. Fabrício Olivetti de França

Linguagem de Programação C. Prof. Fabrício Olivetti de França Linguagem de Programação C Prof. Fabrício Olivetti de França Linguagem C 2 Linguagem C Imperativo e estruturado Pequeno conjunto de palavras-chaves, operadores, etc. Tipagem estática, porém fraca Permite

Leia mais

Linguagem C Ficheiros Compilação Separada

Linguagem C Ficheiros Compilação Separada Linguagem C Ficheiros Compilação Separada typedef definição de tipos Apontadores para estruturas Ficheiros na bibiloteca standard do C Compilação Separada Definição de novos tipos em C É possível definir

Leia mais

Trabalho GA - Editor de Cenário Isométrico

Trabalho GA - Editor de Cenário Isométrico Objetivo A tarefa consiste em criar um editor gráfico de cenários para jogos 2D com visão isométrica. O editor deve permitir que o usuário possa criar, abrir e editar mapas (tilemaps) com tileset de visão

Leia mais

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos:

CAP. IX - MANIPULAÇÃO DE ARQUIVOS Generalidades sobre Arquivos. 9.2 Abertura e Fechamento de Arquivos. Operações com arquivos: CAP. IX - MANIPULAÇÃO DE ARQUIVOS 9.1 Generalidades sobre arquivos 9.2 Abertura e fechamento de arquivos 9.3 Arquivos textos e arquivos binários 9.4 Leitura e escrita em arquivos binários 9.5 Procura direta

Leia mais

Programação Gráfica Parte 1 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano

Programação Gráfica Parte 1 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano Programação Gráfica Parte 1 Versão em C 2006 PUCPR Tutoria de Jogos 1º Ano Paulo V. W. Radtke pvwradtke@gmail.com http://www.ppgia.pucpr.br/~radtke/jogos/ AVISO IMPORTANTE!! Esta versão é dedicada exclusivamente

Leia mais

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2015 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Introdução à Informática. Professor: Francisco Ary

Introdução à Informática. Professor: Francisco Ary Professor: Francisco Ary O que vimos na ultima aula: O que é Software? parte lógica de um sistema computacional; sequência de instruções interpretada e executada por um computador(processador); Principais

Leia mais

Tópicos em C. Eliade F. Lima

Tópicos em C. Eliade F. Lima Tópicos em C Eliade F. Lima maio/2010 Criada em 1972, por Dennis Ritchie, nos laboratórios Bell, para ser usada no sistema operacional UNIX. Linguagem de propósito geral, sendo adequada à programação estruturada.

Leia mais

Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira

Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Linguagem C Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João

Leia mais

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome

Leia mais

Introdução à Informática. Professor: Francisco Ary

Introdução à Informática. Professor: Francisco Ary Professor: Francisco Ary O que vimos na ultima aula: O que é Software? parte lógica de um sistema computacional; sequência de instruções interpretada e executada por um computador(processador); Principais

Leia mais

Existe uma quantidade de informação que pode ser armazenada para resolver o problema.

Existe uma quantidade de informação que pode ser armazenada para resolver o problema. Arquivos Introdução As estruturas vistas anteriormente armazenam as informações na memória principal do computador. Nem sempre é conveniente. Problemas: A informação é perdida; As estruturas de dados são

Leia mais

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo

Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Lógica e Linguagem de Programação Convertendo um algoritmo em pseudocódigo para a linguagem C Professor: Danilo Giacobo Este documento explica como transformar um algoritmo escrito na forma pseudocódigo

Leia mais

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador; 1 Microprocessador Um microprocessador é um circuito eletrônico capaz de realizar diversas tarefas conforme os comandos específicos. Para isso ele deve ler esses comandos da memória de programa (ROM) e

Leia mais

Introdução à Programação Aula 16. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 16. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 16 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA C É COMPILADO? 2 Compilação de um Programa A compilação

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Introdução à Programação

Introdução à Programação Programação de Computadores Introdução à Programação Prof. Helton Fábio de Matos hfmatos@dcc.ufmg.br Agenda Algoritmo & Programa Variáveis Declaração de tipos Comando de entrada ou de leitura Comando de

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br

Leia mais

INTRODUÇÃO À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2018) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2011 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] icmc. usp. br, gmail. com Página Pessoal: http://www.icmc.usp.br/~fosorio/

Leia mais

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos

Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I. Aula 13 Arquivos Departamento de Sistemas de Computação Universidade de São Paulo Introdução a Ciência de Computação I Aula 13 Arquivos Responsável Seiji Isotani, Rafaela V. Rocha sisotani@icmc.usp.br rafaela.vilela@gmail.com

Leia mais

Laboratório de Programação com Games. Conteúdo: Professor: - Conceitos de programação com Python. Instituto de Computação - UFF

Laboratório de Programação com Games. Conteúdo: Professor: - Conceitos de programação com Python. Instituto de Computação - UFF Laboratório de Programação com Games Professor: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: - Conceitos de programação com Python 1 Roteiro O que é a biblioteca PPlay Instalação da biblioteca PPlay

Leia mais

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber 3/10/ :43 AM Curso de C Introdução 1 Introdução Roteiro: Recordando Algoritmos Linguagem de Programação O computador Instruções de Máquina Níveis de Abstração Compilação 2 Algoritmos Recordando: Algoritmo: conjunto

Leia mais

Cerne. Conhecimento para o Desenvolvimento (21) (11) MSN:

Cerne. Conhecimento para o Desenvolvimento (21) (11) MSN: Conhecimento para o Desenvolvimento Cerne Tecnologia e Treinamento Apostila Visual C++ Express Aplicado à Eletrônica (21) 4063-9798 (11) 4063-1877 E-mail: cerne@cerne-tec.com.br MSN: cerne-tec@hotmail.com

Leia mais

Modulo 4: while do while (limites de variáveis)

Modulo 4: while do while (limites de variáveis) PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 4: while do while (limites de variáveis) Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Até aqui apreendemos as estruturas: If e If...else Switch

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Funções

Algoritmos e Estruturas de Dados I (DCC/003) Funções Algoritmos e Estruturas de Dados I (DCC/003) Funções Funções Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada, e definem um valor de saída

Leia mais

INTRODUÇÃO À LINGUAGEM C

INTRODUÇÃO À LINGUAGEM C INTRODUÇÃO À LINGUAGEM C Prof. Bruno Feijó, Dept. de Informática, PUC-Rio (2017) C foi criado no início da década de 70, quando os programas mais eficientes eram escritos em linguagem Assembly, bem próxima

Leia mais

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010 Sistemas Gráficos INF1339 Computação Gráfica Tridimensional Waldemar Celes celes@inf.puc-rio.br sala 505 RDC Tecgraf, DI/PUC-Rio 2 de Agosto de 2010 W. Celes Sistemas Gráficos 1 Visualização 3D Objetivo

Leia mais

Sobre o Visual C++ 2010

Sobre o Visual C++ 2010 O Visual Studio é um pacote de programas da Microsoft para desenvolvimento de software, suportando diversas linguagens como C#, C++, C, Java, Visual Basic, etc. Nesta série de tutoriais vou focar apenas

Leia mais

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem

Leia mais

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída

Leia mais

Material sobre Funções AEDS 1

Material sobre Funções AEDS 1 Material sobre Funções AEDS 1 1 Funções - revisão Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada e definem um valor de saída 2 Funções -

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 07 Utilizando Imagens na PlayLib Prof. Augusto Baffa < abaffa@inf.puc-rio.br> Biblioteca Gráfica - PlayLib Conjunto de funções para criação e manipulação de formas

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Podemos extrair áudio através de microfones, vídeos, compact disc (CD), digital vídeo disc (DVD) entre outras.

Podemos extrair áudio através de microfones, vídeos, compact disc (CD), digital vídeo disc (DVD) entre outras. Aula 08 Áudio Arquivos sonoros Em computação arquivo de som ou arquivo sonoro é um formato de arquivo que permite armazenamento de áudio digital. Em geral este arquivo armazena amostras de som em intervalos

Leia mais

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos

Leia mais

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS Disciplina de Nivelamento - 2000/1: ALGORITMOS & ESTRUTURAS DE DADOS Professor Responsável: Prof. Fernando Santos

Leia mais

Introdução à Linguagem C. K&R: Capitulo 1. Introdução IAED, 2014/2015 2

Introdução à Linguagem C. K&R: Capitulo 1. Introdução IAED, 2014/2015 2 Introdução Introdução à Linguagem C K&R: Capitulo 1 Desenvolvida em 1972 por Dennis Ritchie, nos Bell Labs, para utilização no sistema operativo UNIX O standard ANSI C (ISO/IEC 9899:1990) foi adoptado

Leia mais

JAVA. Professor: Bruno Toledo

JAVA. Professor: Bruno Toledo JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada

Leia mais

Introdução à linguagem C++

Introdução à linguagem C++ Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas

Leia mais

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 04. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 04 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação QUAL LINGUAGEM IREMOS ESTUDAR? 2 Introdução à Programação Linguagens

Leia mais

Estrutura e Funcionamento dos Computadores (Conceitos Básicos)

Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Estrutura e Funcionamento dos Computadores (Conceitos Básicos) Sistema Computacional Peopleware (usuário) Software (programas) Hardware (máquina) Hardware Corresponde à parte material, aos componentes

Leia mais

Ambiente de desenvolvimento

Ambiente de desenvolvimento Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa

Leia mais

Linguagem C (repetição)

Linguagem C (repetição) Linguagem C (repetição) André Tavares da Silva andre.silva@udesc.br Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,

Leia mais

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton nilton@comp.uems.br Introdução A linguagem C foi inventada por Dennis Ritchie e

Leia mais

Engenharia Elétrica Computação Gráfica - Aula 2 (atualizada em 22/04/2018)

Engenharia Elétrica Computação Gráfica - Aula 2 (atualizada em 22/04/2018) Computação Gráfica - Aula 2 (atualizada em 22/04/2018) glaucius@pelotas.ifsul.edu.br OpenGL O que é OpenGL? OpenGL é uma biblioteca de rotinas gráficas de modelagem, manipulação de objetos e exibição tridimensional

Leia mais

Conceitos Básicos Linguagem C

Conceitos Básicos Linguagem C Conceitos Básicos Linguagem C PROF. MAURÍCIO A DIAS MACDIASPAE@GMAIL.COM 2 Método Método básico para construção de algoritmos 1. Compreender completamente o problema a ser resolvido, se possível dividindo

Leia mais

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral

Programação I PRG Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral Programação I PRG29002 Engenharia de Telecomunicações 2ª Fase Professor: Cleber Jorge Amaral 2016-2 Níveis de linguagens Introdução ao C Um programa em C é composto por um conjunto de Funções. A função

Leia mais

Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012

Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012 Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012 1. Implemente os programas cujos fluxogramas foram definidos na aula de problemas da semana passada: Exercício 7- Calculo

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.4. Estruturas de Controle 3.4.1. Comandos

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Entrada e saída: escrevendo na tela Veja uma comparação entre um programa Portugol e seu equivalente em C: Inicio Inteiro

Leia mais

Revisão Linguagem C Parte 1

Revisão Linguagem C Parte 1 Revisão Linguagem C Parte 1 Comentários: Os comentários aparecem em verde e podem iniciados com /* e encerrados com */ quando utilizase várias linhas ou coloca-se // quando forem colocados em apenas uma

Leia mais

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ] USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /

Leia mais

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ]

USP - ICMC - SSC SSC o. Semestre Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Automação ] USP - ICMC - SSC SSC 0300-2o. Semestre 2013 Disciplina de [ Eng. Elétrica / Automação ] Prof. Dr. Fernando Santos Osório / PAE: Rafael Klaser (LRM / ICMC) LRM - Laboratório de Robótica Móvel do ICMC /

Leia mais

Usando Display Gráfico com C18 e C30

Usando Display Gráfico com C18 e C30 Usando Display Gráfico com C18 e C30 Elaborado por: Revisado por: Tiago Coelho Magalhães Marcelo M. M. do Couto José Domingos Adriano Todos os documentos aqui referidos neste material encontram-se na pasta

Leia mais

Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C

Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C Linguagem C Algoritmos e Lógica de Programação Reinaldo Gomes reinaldo@cefet-al.br Introdução Pré-processador Variáveis Operadores Introdução: Histórico Linguagem criada por Dennis Ritchie em 1972 Em 1973

Leia mais

Linguagem de Programação C

Linguagem de Programação C Algoritmos e Lógica de Programação Linguagem C Reinaldo Gomes reinaldo@cefet-al.br Introdução Pé Pré-processador Variáveis Operadores Introdução: Histórico Linguagem criada por Dennis Ritchie em 1972 Em

Leia mais

Laboratório de Introdução à Ciência da Computação I

Laboratório de Introdução à Ciência da Computação I Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professores: Vanderlei Bonato (responsável) - vbonato@icmc.usp.br Roberto de M. F. Filho (aluno PAE) - rmdff@icmc.usp.br>

Leia mais