3. Animação com a metodologia clássica de programação.
|
|
- João Gabriel Rosa Gomes
- 7 Há anos
- Visualizações:
Transcrição
1 Considerações do autor. Criei este tutorial no intuito de preencher uma lacuna existente sobre a estrutura dos jogos na linguagem C, a qual também se aplica noutras linguagens, como o Pascal e o Basic. A compreensão deste material é de importância fundamental para o desenvolvimento de jogos animados, uma vez que a estrutura lógica será a mesma. Espero que seja útil para que você desenvolva o seu próprio jogo e com isso, tenha uma boa experiência com a poderosa linguagem C. 1. Introdução.!"# $%&'(%%)* +,-./ ,415 Cristian Machado Goulart, 14 de Maio de Acadêmico do curso de Sistemas de Informação - FACCAT Então você quer criar um jogo na linguagem C? Muito bem, este documento abordará desde a lógica de programação até exemplos com código fonte funcional. Apesar de que algumas pessoas pensem que os programadores de jogos para computador não dêem a mesma seriedade quanto no desenvolvimento de um software aplicativo, neste artigo você perceberá a real complexidade do desenvolvimento de um jogo simples. Por que criar um jogo de computador? Pela fascinante possibilidade de dar vida e inteligência aos personagens que você criou, ainda adquirir um significativo conhecimento na linguagem C e ser muito mais competitivo no mercado de trabalho. 2. Lógica de funcionamento de um jogo. A estrutura de um jogo difere do clássico método de implementar um aplicativo, uma vez que no ambiente de jogo diversas tarefas ocorrem simultaneamente (ex.: atirar e se mover), enquanto que o aplicativo sempre aguarda a entrada de dados do usuário (ex.: digite seu nome). Geralmente um jogo não precisa da interatividade constante do jogador para funcionar (outros objetos podem se movimentar para animar o cenário), enquanto que um aplicativo depende diretamente do que o usuário faz no programa. Assim podemos dizer que os jogos têm processamento de instruções quase paralelo (ex.: movimentar a nave do jogador e a nave inimiga). Por isso, as rotinas de programação (ou funções) não podem monopolizar o processamento da CPU e sim, utiliza-la por curtos períodos de tempo (ou ciclos de máquina). Desta forma a CPU dará a mesma atenção à cada uma das rotinas de forma que nenhum processo seja concluído antes do outro (destruir a nave antes do tiro completar a trajetória). As funções devem ser estruturadas para consumir apenas um ciclo de máquina e logo liberar a CPU para que outra rotina (ou função) possa ocupa-la pelo mesmo período. Como não é possível processar todos comandos de uma rotina em apenas um ciclo, são necessárias variáveis auxiliares que informem o ponto de continuação quando a rotina for chamada novamente. As variáveis auxiliares devem ser declaradas como estáticas para que o seu valor não seja perdido ao sair da rotina (ex.: static int i;) 3. Animação com a metodologia clássica de programação. Suponha que você queira construir um jogo no qual o jogador ainda não tenha interatividade: os personagens se movem por conta própria. Vamos escolher uma animação bem simples: Uma nave parada no centro superior da tela deve disparar um tiro até a parte inferior. (obs.: copie este trecho a partir do capítulo anexos e compile-o). /* Programa de exemplo 1 - Turbo C versao 1.0 */ /* Desc.: Mover o tiro de uma nave */ int i; /* limpa tela */ /* desl. cursor*/ gotoxy(40,1); /* posiciona coordenadasx,y */ printf("<ë>"); /* desenha nave na tela */ for (i=2;i<24;i++){ gotoxy(41,i); /* posiciona tiro */ /* limpa rastro */ gotoxy(41,i+1); /* posiciona */ /* desenha tiro nave */ delay(100); /* aguarda miliseg. */ Observe que a execução do tiro da nave funciona, mas requer toda atenção da CPU, ou seja, nenhuma outra instrução será atendida até que o laço for{ seja concluído. Isto significa que sempre que alguma nave atirar, o alvo não conseguirá escapar, pois a CPU não dará atenção à essa tarefa até concluir o movimento do tiro. A solução aparente seria criar todas animações dentro deste laço for{, mas isso impediria que o laço mais externo fosse executado até a conclusão do interno, o que travaria as outras animações. É neste instante que devemos optar pelo processamento quase paralelo de instruções, que implica na implementação de funções que ocupem a CPU por pouco tempo. Para isso, não devemos utilizar instruções de laço.
2 4. Animação com a metodologia de programação de jogos de videogame. A função abaixo é utilizada na implementação de jogos para videogame: animacao(){ static int naofaznada; if (naofaznada<4){ else naofaznada=0; aqui deve ser colocada a animacao A função animação() tem por objetivo, executar um quadro da animação do personagem e em seguida, liberar a CPU. Inicialmente é declarada a variável nãofaznada, que armazenará quantos ciclos de máquina deverão ser aguardados até permitir a execução um quadro da animação. Em seguida é verificado se a função já aguardou o tempo necessário para ser executada com a seguinte condição: Se a variável nãofaznada for menor do que o tempo necessário para executar uma animação, então fica mais um ciclo sem fazer nada e sai da função para que outra função possa usar a CPU. Caso variável nãofaznada seja igual ao tempo de espera, então a ela é zerada e um quadro da animação é processado. Logo em seguida a CPU é liberada. Além deste tipo de função consumir apenas um ciclo de máquina, a variável nãofaznada determina a velocidade da animação sem interferir no desempenho das demais animações. Agora a animação do exemplo 1 será implementada seguindo a estrutura de jogos, execute o Programa de exemplo 2 localizado nas páginas anexas. A trecho destacado em negrito corresponde a animação desta função: Enquanto o tiro não chegar na parte inferior da tela (linha 24), ocorre um incremento na PosiçãoTiro. Se o tiro chegou na parte inferior, a variável é reiniciada em 2, pois a nave já ocupa a posição 1. Experimente velocidades diferentes para a instrução naofaznada<6. Ex.: naofaznada<10 A instrução Kbhit (Keyboard Hit) informa se alguma tecla foi pressionada, o que nos permite criar condições de acordo com a interatividade do jogador. 5. Associando animações com o teclado. Cada dispositivo do computador é identificado por um número de interrupção (definido na BIOS). O teclado é encontrado no endereço 0x60. O Programa de exemplo 3 da secção de anexos identifica o valor de cada tecla do teclado para que possa ser associado com alguma função do jogo. A instrução switch(getch()) destina-se a esvaziar o buffer de memória de 16 Bytes do teclado e evitar os bips. Esta instrução foi contribuída por Leonardo Sápiras (sapiras@faccat.br) em 2006/1. Um exemplo onde a nave dispara o tiro sempre que a barra de [ESPAÇO] for pressionada é encontrado no Programa de exemplo 4 na seção anexos. Os trechos de código destacados representam as partes importantes desta implementação: Note que a variável tecla foi declarada fora da função main(), isto permite que todas as funções acessem a leitura do teclado. A variável tiro=1 é ativada quando o jogador atira (tecla=57) e então a função é executada. Quando o tiro percorre toda tela, a animação está concluída e a própria função se desliga (tiro=0). Caso o jogador não tenha atirado, a função é abandonada imediatamente (e libera a CPU). 6. Movimentando o personagem. Vamos agora da liberdade ao jogador: Ele poderá guiar a nave utilizando as teclas (código 75) e (código 77). Como estamos criando uma nova animação, significa que agora a CPU deverá atender ao movimento do tiro e ao movimento da nave, quando for eventualmente solicitado. De inicio vamos criar uma estrutura global para a nave (declarada fora da função main). Assim o código será mais legível e permitirá que uma função saiba o que as outras estão fazendo. O exemplo é encontrado no Programa de exemplo Detecção de colisão e placar. A idéia do jogo está quase pronta, mas ainda é necessário identificar se o jogador acertou o alvo ou se foi atingido. Já que ainda não existe um inimigo, vamos criar um objeto estático na tela chamado estrela, que também será uma função, assim termos a terceira animação. Para detectar a colisão, será necessário comparar as coordenadas X,Y do tiro com a posição X,Y da estrela. Se forem iguais, o jogador ganha 1 ponto. O código está na sessão de anexos, como programa exemplo Finalizando... Você deve ter percebido que o jogo pode ser aperfeiçoado, mas foi propositalmente deixado assim para que você incremente o código e torne o jogo mais interessante, por exemplo: ter vidas, energia, salvar o placar em disco, ter uma nave inimiga, aumentar o nível de dificuldade, ter um cenário de fundo estrelado, etc. Críticas, sugestões e dúvidas são sempre bemvindas! E Obrigado por ler o meu artigo!
3 Programas anexos. /* Programa de exemplo 1 - Turbo C versao 1.0 */ /* Desc.: Mover o tiro de uma nave */ int i; /* limpa tela */ /* desl. cursor*/ gotoxy(40,1); /* posiciona coordenadasx,y */ printf("<ë>"); /* desenha nave na tela */ for (i=2;i<24;i++){ gotoxy(41,i); /* posiciona tiro */ /* limpa rastro */ gotoxy(41,i+1); /* posiciona */ /* desenha tiro nave */ delay(100); /* aguarda miliseg. */ /* Programa de exemplo 2 */ /* Desc.: Mover tiro com uma funcao */ static int PosicaoTiro=2; if (naofaznada<6){ else naofaznada=0; if (PosicaoTiro<24){ PosicaoTiro++; gotoxy(41,posicaotiro); gotoxy(41,posicaotiro+1); else PosicaoTiro=2; gotoxy(40,1); printf("<ë>"); while (!kbhit()); /* Fim do programa de exemplo 1 */ /* Fim do programa de exemplo 2 */
4 /* Programa de exemplo 3 */ /* Desc.: Leitura das teclas no teclado */ #include<dos.h> int tecla; printf("pressione uma tecla.esc= sair."); tecla=inportb(0x60); /* le o teclado */ switch(getch()); gotoxy(10,3); /* posiciona em X,Y */ printf("%d", tecla); /* exibe o codigo */ delay(500); /* aguarda meio segundo */ gotoxy(10,3); printf(" ", tecla); while (tecla!=129); /* ESC=sair */ /* Fim do programa de exemplo 3 */ /* Programa de exemplo 4 */ /* Desc.: atirar pressionando a barra de ESPACO*/ int tecla=0; static int PosicaoTiro=2; static int tiro=0; if (tecla==57) tiro=1; if(tiro==0) if (naofaznada<6){ else naofaznada=0; if (PosicaoTiro>2) { PosicaoTiro--; gotoxy(41,posicaotiro); gotoxy(41,posicaotiro-1); else{ tiro=0; PosicaoTiro=24; /* insira aqui o comando para */ /* limpar o rastro do tiro */ gotoxy(40,24); printf("<ê>"); tecla=inportb(0x60); while (tecla!=129); /* Fim do programa de exemplo 4 */
5 /* Programa de exemplo 5 */ /* Desc.: atira e move a nave */ int tecla=0; struct Nave{ int posx; int tirox; int tiroy; int pontos; jogador; movejogador(){ gotoxy(jogador.posx,24); printf(" <Ê> "); if ((tecla==75)&&(jogador.posx>2)) jogador.posx--; if (tecla==77) jogador.posx++; static int tiro=0; if (tecla==57) { tiro=1; jogador.tirox=jogador.posx+2; if(tiro==0) if (naofaznada<6){ else naofaznada=0; if (jogador.tiroy>2) { jogador.tiroy--; gotoxy(jogador.tirox,jogador.tiroy); gotoxy(jogador.tirox,jogador.tiroy-1); else{tiro=0; jogador.tiroy=24; /* insira aqui o comando para */ /* limpar o rastro do tiro */ jogador.tirox=41; jogador.posx=39; tecla=inportb(0x60); if (kbhit()) switch(getch()); movejogador(); while (tecla!=129); /* Fim do programa de exemplo 5 */
6 /* Programa de exemplo 6 */ /* Desc.: jogo completo */ int tecla=0; struct Nave{ int posx; int tirox; int tiroy; int pontos; jogador; estrela(void){ static int quadrodaestrela=0; if (naofaznada<8){ else naofaznada=0; if (quadrodaestrela==0){ gotoxy(41,1); printf("*"); quadrodaestrela=1; else{ gotoxy(41,1); printf("ú"); quadrodaestrela=0; if ((jogador.tirox==41)&&(jogador.tiroy==2)){ jogador.pontos++; jogador.tiroy=1; gotoxy(1,1); printf(" Pontos: %d", jogador.pontos); movejogador(){ gotoxy(jogador.posx,24); printf(" <Ê> "); if ((tecla==75)&&(jogador.posx>1)) jogador.posx--; if (tecla==77) jogador.posx++; static int tiro=0; if (tecla==57) { tiro=1; jogador.tirox=jogador.posx+2; if(tiro==0) if (naofaznada<4){ else naofaznada=0; if (jogador.tiroy>2) { jogador.tiroy--; gotoxy(jogador.tirox,jogador.tiroy);
7 gotoxy(jogador.tirox,jogador.tiroy-1); else{ tiro=0; jogador.tiroy=24; /* insira aqui o comando para */ /* limpar o rastro do tiro */ jogador.tirox=41; jogador.posx=39; tecla=inportb(0x60); if (kbhit()) switch(getch()); movejogador(); estrela(); while (tecla!=129); /* Fim do programa de exemplo 6 */
Algoritmos e Estruturas de dados
Algoritmos e Estruturas de dados Listas Encadeadas Prof. Dr. Fábio Rodrigues de la Rocha (Listas Encadeadas) 1 / 21 Definição: Anteriormente estudamos listas encadeadas que foram implementadas como vetores
Leia maisPCS-2529 Introdução aos Processadores. Prof. Dr. Paulo Sérgio Cugnasca
PCS-2529 Introdução aos Processadores Prof. Dr. Paulo Sérgio Cugnasca 1 2 Existem 4 esquemas diferentes de E/S possíveis, cada um se aplicando em uma determinada situação. E/S Programada. E/S Acionada
Leia maisEstruturas 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 maisEstrutura 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 maisCOMANDOS DE DECISÕES. O COMANDO if. O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução;
COMANDOS DE DECISÕES O COMANDO if O comando if instrui o computador a tomar uma decisão simples. Forma Geral: if (expressão de teste) instrução; Por exemplo: /* testif.c*/ /* mostra o uso do comando if*/
Leia maisLaboratório 3 Comandos de repetição while, do-while e for
Laboratório 3 Comandos de repetição while, do-while e for Computação I (MAB-120) Prof. Silvana Rossetto 1 DCC/IM/UFRJ 29 de março de 2019 O objetivo desta aula de laboratório é praticar o uso dos comandos
Leia maisProgramação I A Linguagem C. Prof. Carlos Alberto
Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada
Leia maisTecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)
Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Conceitos de Hardware e Software Referências: Arquitetura de Sistemas Operacionais. F. B. Machado, L. P. Maia. Editora
Leia maisComando Switch. Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante.
Comando Switch Embora a escada if else-if possa executar testes de várias maneiras, ela não é de maneira nenhuma elegante. O código pode ficar difícil de ser seguido e confundir até mesmo o seu autor no
Leia maisAlgoritmos 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 maisNível da Arquitetura do Conjunto das Instruções
Fluxo Seqüencial de Controle e Desvios (1) Nível da Arquitetura do Conjunto das Instruções (Aula 13) Fluxo de Controle Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 2007/2 Fluxo
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: ponteiros e alocação dinâmica Prof. Renato Pimentel 1 Ponteiros 2 Prof. Renato Pimentel 1 Ponteiros: introdução Toda a informação
Leia maisLinguagem 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 maisInformática I. Aula /09/2006 1
Informática I Aula 3 http://www.ic.uff.br/~bianca/informatica1/ 06/09/2006 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação de Dados
Leia maisSistemas Operacionais. BSI / UAB 2013 Hélio Crestana Guardia
Sistemas Operacionais BSI / UAB 2013 Hélio Crestana Guardia Visão do SO SO: camada de software, executado diretamente sobre o hardware (físico ou virtual) Permite que hardware seja usado de forma eficiente
Leia mais10 Comandos de repetição
10 Comandos de repetição 10.1 Definição Um comando de repetição é um tipo instrução que permite para executar outra instrução (ou um conjunto de instruções) mais de uma vez. O número de execuções (repetições)
Leia maisAlgoritmos e Técnicas de Programação. Professora Luciana Faria
Algoritmos e Técnicas de Programação Professora Luciana Faria luciana.faria@ifs.ifsuldeminas.edu.br Conceitos Básicos Computadores??? Máquina composta de elemento físicos do tipo eletrônico É uma máquina
Leia maisPROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95
PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:
Leia maisMaterial criado e organizado por: Suéllen Rodolfo Martinelli. Disponibilizado em:
Material criado e organizado por: Suéllen Rodolfo Martinelli Disponibilizado em: www.scratchbrasil.net.br Um jogo muito simples e viciante que foi lançado no ano de 2014 para celulares, é o jogo Flappy
Leia maisIntrodução a Sistemas Operacionais. Adão de Melo Neto
Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como
Leia maisSO: Introdução e Estrutura. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io)
SO: Introdução e Estrutura Sistemas Operacionais 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 O que é um Sistema Operacional? 2 Simplificando Uma interface entre o usuário e o hardware 3 Detalhando
Leia maisLinguagem 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 maisArquitetura 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 maisArquitetura e Organização de Computadores
Arquitetura e Organização de Computadores Unidade Central de Processamento (CPU) Givanaldo Rocha de Souza http://docente.ifrn.edu.br/givanaldorocha givanaldo.rocha@ifrn.edu.br Baseado nos slides do capítulo
Leia maisEstrutura de Sistemas Operacionais. Capítulo 1: Introdução
Estrutura de Sistemas Operacionais 1.1 Silberschatz, Galvin and Gagne 2005 Capítulo 1: Introdução O que faz um sistema operacional? Revisão da organização de um computador Revisão de alguns conceitos de
Leia maisUFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos
UFRJ IM - DCC Sistemas Operacionais I Unidade IV Gerência de Recursos Entrada e Saída 02/12/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Gerência de Entrada e Saída Fundamentos Evolução Estrutura
Leia maisLinguagens de Programação
Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação Linguagens de Programação Professor Responsável: Luiz Affonso Henderson Guedes de Oliveira Prof.
Leia maisProf. Sandro Wambier
Prof. Sandro Wambier São elementos da Arquitetura de um computador: conjunto de instruções de um processador, os modos de endereçamentos, o tipo e tamanho dos dados manipulados pelo processador, ex.: Intel
Leia maisIntrodução a Computação
O que é um computador? Um computador é uma coleção de componentes que realizam operações lógicas e aritméticas sobre um grande volume de dados. (F. K. Miyazawa) Um computador é composto por: Introdução
Leia maisAmbiente de programação
EXPLORANDO O O que é o SCRATCH? O software Scratch é um ambiente para a criação de jogos, histórias e animações, usando raciocínio lógico. A partir desta ferramenta é possível exercitar conceitos de lógica
Leia maisIntrodução à Programação
Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.
Leia maisComandos de entrada. e saída. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada. Comandos de entrada.
e saída Biblioteca stdio.h Comandos Função scanf() Função gets() Função getchar() Material cedido pelo prof. Daniel Callegari scanf() Rotina de entrada que lê todos os tipos de dados. Protótipo: int scanf(const
Leia maisAula 4 Introdução ao C
Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções
Leia mais05/11/2018. Linguagem de Programação e Estruturada
LPE 04 : Estrutura de Repeticao - alinhado.pptx Linguagem de Programação e Estruturada LPE 03 - Estrutura de Repetição Alinhado Prof. Msc Wanderley Gonçalves Freitas Wanderley.unip@gmail.com www.professor.wanderley.nom.br
Leia maisIntroduçã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 maisPermite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade.
222222222222222222222222222 8 - FUNÇÕES 81 - Características básicas É um trecho independente de código, com objetivos bem definidos Programas em C, geralmente consistem em várias pequenas funções, ao
Leia maisSistema Operacional. Etapa
Etapa 1-2017 HARDWARE PARTE FÍSICA DA MÁQUINA HARDWARE HARDWARE HARDWARE SOFTWARE PARTE LÓGICA DA MÁQUINA SOFTWARE INTERMEDIÁRIO ENTRE O HARDWARE E O SOFTWARE PRINCIPAL PROGRAMA DO COMPUTADOR Um sistema
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: tipos de dados definidos pelo programador: struct union enum typedef Prof. Renato Pimentel 1 Introdução Tipos de variáveis vistos
Leia maisTeste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo
Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Casos de Teste e Cenários de Teste Técnicas de Teste Técnica de Teste Estrutural 2 Casos
Leia maisCapítulo 6: Arquivos
Capítulo 6: Arquivos Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Funções de entrada e saída em arquivos Nos capítulos anteriores, desenvolvemos programas que capturam seus dados de
Leia maisEderson Luiz da Silva Ciência da Computação. Algoritmos e Programação
Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Programação em C Características Criado na década de 70; Possui muitas regras em sintaxe e semântica; Utilizado para programação de
Leia maisSistemas Operacionais Processos. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Processos Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) Copyright Carlos Ferraz Processo Conceito: Um programa em execução 1. Ao digitar hello, os caracteres
Leia maisAula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU
Aula 13 Oficina de Programação Modularização Profa. Elaine Faria UFU - 2017 O que é modularização? No século XIX, Henry Ford, para baratear e massificar a montagem de carros, criou uma base modular. Esta
Leia maisSistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios
1ª Questão : Com base na figura ao lado, extraída do livro SISTEMAS OPERACIONAIS MODERNOS, de Andrew S. Tanenbaum, assinale cada uma das afirmações abaixo como (C)erta ou (E)rrada. No caso da afirmativa
Leia maisProgramação de Computadores II. Cap. 4 Funções
Programação de Computadores II Cap. 4 Funções Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
Leia maisLINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Leia maisProcessos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend
Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos
Leia maisSistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S
Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S Explicitar aos alunos os modelos de entrada e saída em um computador e quais barramentos se aplicam a cada componente: memória,
Leia maisProgramação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR
Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR Introdução Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível (escrito em uma linguagem de
Leia maisRio de Janeiro, 15 de fevereiro de 2016.
Rio de Janeiro, 15 de fevereiro de 2016. Disciplina: LP1 - Linguagem de Programação I Prof. Menezes Turma: 1213A Horário: 7:00 às 12:20 hs. Intervalo: 9:30 às 9:50 ou 10:20 às 10:40 Considerações gerais.
Leia mais18/10/2010. Unidade de Controle Controle. UC Microprogramada
Arquitetura de Computadores Unidade de Controle Controle Microprogramado Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO UC Microprogramada
Leia maisWorking 04 : Conceitos Básicos III
Universidade Federal do Espirito Santo Centro Tecnologico Working 04 : Conceitos Básicos III Objetivos: Dominar a construção de estruturas de repetição em C; Aperfeiçoar-se na resolução de problemas; Prazo
Leia maisCap. 3 Entrada e Saída e Controle de Fluxo
Programação de Computadores II Cap. 3 Entrada e Saída e Controle de Fluxo Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada
Leia maisLINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO EM C#
LINGUAGEM DE PROGRAMAÇÃO ESTRUTURADA CAPÍTULO 5 ESTRUTURAS DE REPETIÇÃO EM C# As estruturas de repetição são muito úteis e empregadas quando se deseja executar uma, ou um bloco, de instruções diversas
Leia maisUnidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano
Linguagem de Programação 1 Unidade 3: Estruturas de Controle Parte 2 - Lógica, SWITCH, FOR, WHILE e DO WHILE Prof. Daniel Caetano Objetivo: Apresentar a composição lógica em estruturas de decisão e as
Leia mais1. MATERIAIS NECESSÁRIOS
Labirinto Quantidade de jogadores recomendado: 2 1. MATERIAIS NECESSÁRIOS a) Um baralho FlexiCard: Serão utilizadas as cartas abaixo para esta atividade. A função de cada carta será explicada posteriormente.
Leia maisENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO
ENGENHARIA DE PRODUÇÃO ICC 1 TÉCNICAS DE PROGRAMAÇÃO 1. INTRODUÇÃO O que é um programa? Programa constitui uma seqüência lógica de passos para solução de um problema. Um programa pode ser codificado em
Leia maisTrabalho Linguagem e Programação de Compiladores
Trabalho Linguagem e Programação de Compiladores Responda as questões. Os exercícios deverão ser desenvolvidos utilizando as estruturas apresentadas em aula e adequadas para cada problema. Forma de entrega:
Leia maisANÁLISE DE ALGORITMOS: PARTE 1. Prof. André Backes. Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa
ANÁLISE DE ALGORITMOS: PARTE 1 Prof. André Backes Algoritmos 2 Como resolver um problema no computador? Precisamos descrevê-lo de uma forma clara e precisa Precisamos escrever o seu algoritmo Um algoritmo
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Aula 2 Prof. Daniel Cavalcanti Jeronymo Conceito de algoritmo. Raciocínio lógico na construção de algoritmos. Estrutura de algoritmos. Universidade Tecnológica Federal
Leia maisProgramação Estruturada Aula - Estruturas de Repetição
Programação Estruturada Aula - Estruturas de Repetição Prof. Flávio Barros flavioifma@gmail.com www.flaviobarros.com.br 2 TESTE NO INÍCIO: WHILE Fundamentos TESTE NO INÍCIO: WHILE Estes comandos permitem
Leia maisEstruturas de Repetição
Prof.: Edwar Saliba Júnior Fevereiro 2012 1 Nomenclaturas: Loopings, Laços ou Malhas de Repetição; Possibilidades de Parada: Quantidade de repetições previamente definida (melhoria na legibilidade e qualidade
Leia maisSâmia Rodrigues Gorayeb. Arquitetura de Computadores Linguagem de Máquina
Sâmia Rodrigues Gorayeb Arquitetura de Computadores Linguagem de Máquina Arquitetura de Computadores Agenda: Linguagem de máquina 1. Introdução 2. Característica 3. Programas Compilados 4. Programas Interpretados
Leia maisDesenvolvimento de Aplicações Desktop
Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar
Leia maisINSTRUÇÕES DE REPETIÇÃO
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 6 INSTRUÇÕES DE REPETIÇÃO As instruções de repetição permitem fazer com que a execução de uma
Leia maisFundamentos de Arquiteturas de Computadores Turma :A1 Lista 3 Profa.: Simone Martins
UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Fundamentos de Arquiteturas de Computadores Turma :A Lista 3 Profa.: Simone Martins. A figura abaixo mostra
Leia maisINFORMÁTICA: Informação automática
INTRODUÇÃO INFORMÁTICA: Informação automática Definição: é a ciência que estuda o tratamento automático e racional da informação (encarregada pelo estudo e desenvolvimento de máquinas e métodos para processar
Leia maisLinguagem de Programação
Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) Programas Programas são seqüências de instruções
Leia maisLinguagem Java. Introdução. Rosemary Silveira Filgueiras Melo
Linguagem Java Introdução Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Tópicos abordados Histórico da Linguagem Caracterização da Linguagem Criação de Programa Java inicial Entrada e Saída
Leia maisLógica de Programação e Algoritmos com exemplos na linguagem JAVA
Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 5 Programação Estruturada: Funções Conteúdo: 5.1 Programação estruturada ou modular... 66 5.2 Funções... 67 5.3 Passagem de parâmetros...
Leia maisI1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.
Capítulo 4 TESTES, ESCOLHAS E MALHAS DE REPETIÇÃO 1. INTRODUÇÃO Em muitos exemplos e exercícios realizados nos capítulos anteriores, não foram raras as vezes em que fizemos uso de elementos disponíveis
Leia maisLINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Leia maisMICROSOFT WINDOWS 7 WINDOWS 7 WINDOWS 7
MICROSOFT WINDOWS 7 ÍNDICE CAPÍTULO 1 A HISTÓRIA DO COMPUTADOR...7 O COMPUTADOR...8 CAPÍTULO 2 O WINDOWS...12 UTILIZANDO O MOUSE E O TECLADO...15 CAPÍTULO 3 ÁREA DE TRABALHO DO WINDOWS...20 BARRA DE TAREFAS...21
Leia maisProgramação. Module Introduction. Cap. 1 Fundamentos de Computadores
Engenharia Informática (5374) - 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) - 1º ano, 1º semestre Bioengenharia (9099) 2º ano, 1º semestre Ciências Biomédicas (10135) 2º ano, 1º semestre
Leia maisInformática Básica e Aplicativos de Escritório
Informática Básica e Aplicativos de Escritório Computadores: Ferramentas para a Era da Informação Professor: Charles Leite Forjando uma Sociedade Baseada em Computadores Bases tradicionais da economia:
Leia mais5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.
3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos
Leia maisIntrodução à Programação de Computadores Parte I
Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado
Leia maisFerramentas Programação. UDESC - Prof. Juliano Maia 1
Ferramentas Programação UDESC - Prof. Juliano Maia 1 Índice Seção 1 Linguagens de Programação Seção 2 Interpretador Seção 3 Compilador / Linkeditor Seção 4 Ambientes de Desenvolvimento UDESC - Prof. Juliano
Leia maisIntrodução à Informática. Aprenda o essencial da informática para sobreviver no mundo digital.
Introdução à Informática Aprenda o essencial da informática para sobreviver no mundo digital. A máquina por dentro e por fora O Computador Funcionamento Básico Componentes Externos Componentes Internos
Leia maisFundamentos de Programação1
Fundamentos de Programação1 Linguagem C Introdução e elementos principais Aula N. 01 Prof. SIMÃO Jean Marcelo SIMÃO 1 Exemplo 2 % código em Octave/Matlab clc; A = 5; A = 4 ; if ( A > B ) printf ( A é maior
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 - A Prof. SIMÃO Jean Marcelo SIMÃO Computador Noção elementar de um computador. - Dipositivo para processar informação. Processador Sistema Operacional (SO) Aplicativos
Leia maisProgramação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente
Leia maisTÉCNICAS DE PROGRAMAÇÃO II TRABALHO 2
TÉCNICAS DE PROGRAMAÇÃO II TRABALHO 2 Descrição: O objetivo do trabalho 2 é desenvolver um jogo estilo shoot 'em up em Java, onde o jogador possa controlar uma espaçonave e destruir as espaçonaves inimigas
Leia maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 14: Entrada e Saída: Dispositivos e Tipos de Acesso Diego Passos Dispositivos de E/S Operação de E/S É qualquer operação que mova dados do contexto do processador
Leia maisLeitura Segura de Strings
Leitura Segura de Strings As funções da biblioteca padrão de C que podem ser usadas para leitura de strings não são suficientemente adequadas para esta finalidade básica. Nesta seção, serão descritos alguns
Leia maisQuestão 1 Analise o trecho do código abaixo, escrito na linguagem C#:
Programação para Games I Questão 1 Analise o trecho do código abaixo, escrito na linguagem C#: String[] vetor= { E, A, Z, D, W }; for(int i=4; i
Leia maisTeste de Software. Técnica de Teste Estrutural. Rosemary Silveira Filgueiras Melo
Teste de Software Técnica de Teste Estrutural Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Técnica de Teste Estrutural Critérios de Teste 2 Casos de Teste Diante da impossibilidade
Leia maisIntrodução a Programação. Arquivos
Introdução a Programação Arquivos Tópicos da Aula Hoje aprenderemos a persistir dados Conceito de arquivos Importância de persistência Modos de acesso de arquivos em C Operações em arquivos Funções de
Leia maisAula 25: E/S: Controladoras, Mapeamentos e Técnicas
Aula 25: E/S: Controladoras, Mapeamentos e Técnicas Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) E/S: Controladores, Mapeamentos e Técnicas
Leia maisMétodos Computacionais. Vetores e Matrizes Dinâmicas
Métodos Computacionais Vetores e Matrizes Dinâmicas Vetores Um programa para o cálculo da média Média m n i= = 1 n x i Variância v n i= = 1 ( x i n m) 2 A forma mais simples de estruturar um conjunto de
Leia maisDesenvolvendo Jogos 2D-Android
DISPOSITIVOS MÓVEIS II Etep Desenvolvendo Jogos 2D-Android Prof. Rogério B. de Andrade Coordenador do Curso de Programação em Jogos Digitais Desenvolvimento de Jogos Utilizando Android Inicialmente o primeiro
Leia mais3. 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. Linguagem de programação C 3.1. Conceitos
Leia maisIntroduçã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 maisProgramação Estruturada
Programação Estruturada Organização de um ambiente computacional Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC
Leia maisCapítulo 2 Operadores. A função scanf()
Capítulo 2 Operadores A função scanf() A função scanf() é outra das funções de E/S implementadas em todos os compiladores e nos permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf(
Leia maisAula 6 Oficina de Programação Estruturas Condicionais no C. Profa. Elaine Faria UFU
Aula 6 Oficina de Programação Estruturas Condicionais no C Profa. Elaine Faria UFU - 2017 Estrutura Condicional Simples Algoritmo se () entao instrução fimse A instrução só será executada se
Leia mais15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo
Professor Ariel da Silva Dias Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; Caracterizada por três conceitos Variáveis; Atribuições; Sequência;
Leia mais