gdb - Introdução Adriano Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ
|
|
- Orlando Melgaço Marinho
- 6 Há anos
- Visualizações:
Transcrição
1 gdb - Introdução Adriano Cruz adriano@nce.ufrj.br 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1
2 Resumo Seção Introdução Depurando gdb 2
3 Bibliografia 1 3
4 Objetivos gdb O objetivo deste capítulo é apresentar estratégias e ferramentas para depuração de programas. 4
5 Testar e Depurar? Testar: Como devo proceder para testar um programa? Depurar: Como devo proceder para depurar um programa? 5
6 Resumo Seção Introdução Depurando gdb 6
7 Depurando! Maioria dos bugs podem ser reproduzidos. Bugs são diferenças entre o que era esperado e o resultado da execução. Nem todos os bugs aparecem durante uma execução. Todo programa tem sempre um bug a mais. 7
8 Dicas Entenda as mensagens de erro. Pense antes de escrever. Afobados comem cru. Procure os bugs familiares. Vá por partes. Use a tática do Jack o estripador. Adicione testes internos no seu programa. Escreva mensagens de teste. Use um depurador (gdb). Procure nas modificações mais recentes. 8
9 Entenda as mensagens de erro 1 #i n c l u d e <s t d i o o. h> i n t main ( i n t argc, char argv ) { 3 / Imprime Alo mundo e r e t o r n a 0 5 p r i n t f (" Alo mundo\n ") ; r e t u r n 0 ; 7 } gcc -o Alooo Alooo.c -Wall -ansi -pedantic Alooo.c:7:20: fatal error: stdioo.h: No such file or directory compilation terminated. Quem indicou o erro? 9
10 Entenda as mensagens de erro 1 # include <stdio.h> int main( int argc, char ** argv) { 3 /* Imprime Alo mundo e retorna 0 5 printf ("Alo mundo \n"); return 0; 7 } gcc -o Alooo Alooo.c -Wall -ansi -pedantic Alooo.c: In function?main?: Alooo.c:9:5: error: unterminated comment /* Imprime Alo mundo e retorna 0 ^ Alooo.c:8:1: error: expected declaration or statement at end of input int main(int argc, char **argv) { ^ Alooo.c:8:1: warning: control reaches end of non-void function [-Wreturn-type] int main(int argc, char **argv) { ^ 10
11 Entenda as mensagens de erro 1 # include <stdio.h> # include <stdio.h> 3 int main( int argc, char ** argv) { /* Imprime Alo mundo e retorna 0 */ 5 prinf ("Alo mundo \n"); 7 return 0; } gcc -o Alooo Alooo.c -Wall -ansi -pedantic Alooo.c: In function?main?: Alooo.c:11:5: warning: implicit declaration of function?prinf? [-Wimplicit-function-declaration] prinf("alo mundo\n"); ^ /tmp/cc3ovtuw.o: In function main : Alooo.c:(.text+0x1a): undefined reference to prinf collect2: error: ld returned 1 exit status 11
12 Pense antes Faça uma modificação de cada vez. Desenhe figuras representando as estruturas de dados. Pare para descansar Sonhe com o bug. Começe antes para ter tempo de fazer isto. Explique o código para: Sua vó Qualquer um que aparecer. Um cabo de vassoura. Um zumbi. 12
13 Procure bugs familiares switch (i) { case 0:... break; case 1:... case 2: } if (0 <= x <= 0) {... } if (i = 10) {... } int a; scanf("%d", a); int i = 10; int j = 40; printf("%d", i / j * j); 13
14 Procure bugs familiares OBOB (Off By One Bug). Laços que executam uma vez a mais (ou a menos). Copy and Paste bugs. Verifique reuso de variáveis. 14
15 Vá por partes - Dados de entrada Programa falha em um conjunto de dados. Reduzindo: Procure a menor quantidade de dados que causa o erro desaparecer. Vá reduzindo a quantidade de dados de uma maneira que facilita achar o causador do erro. Aumentando: Aumente a quantidade de dados até o erro aparecer. 15
16 Vá por partes - Código Procure o menor pedaço de código que causa o erro. Remova código. Adicione código. 16
17 Escreva na saída Pobre: Imprima valores de variáveis importantes. printf("%d", variavel); sdtout é bufferizado. programa pode quebrar antes da saída aparecer Talvez melhor: printf("%d\n", variavel); Usar \n limpa o buffer de sdtout, mas não se sdtout for redirecionado para um arquivo. Melhor: printf("%d\n", variavel); fflush(stdout); Chamar fflush limpa o buffer. 17
18 Use um depurador Próxima seção 18
19 Procure nas modificações recentes Depure agora, não mais tarde! Díficil Escreva o programa todo. Teste o programa todo. Mais fácil Escreva um pouco. Teste um pouco. Escreva mais um pouco. Teste um pouco
20 Procure nas modificações recentes Mantenha versões antigas! Díficil Mude o código. Observe um bug. Tente lembrar o que mudo desde a última versão que funcione. Mais fácil Guarde versão que funciona. Mude o código. Observe um bug. Compare a versão atual com a última que funcionou. 20
21 Mantendo versão anterior Manualmente crie uma cópia do projeto. Use RCS. Use git (bastante popular atualmente). 21
22 Resumo Seção Introdução Depurando gdb 22
23 O que é? GNU debugger - gdb Um depurador para diversas linguagens, incluindo C e C++. Um depurador permite que inspecionemos o que o programa está fazendo durante a sua execução. Erros, tais como, segmentation faults, podem ser mais fáceis de serem corrigidos com a ajuda do gdb. 23
24 O que é? Normally, you would compile a program like: gcc [flags] <source files> -o <output file> Por exemplo: gcc -Wall -ansi -pedantic prog1.c -o prog1 Para usar o gdb precisamos adicionar a opção -g. gcc [other flags] -g <source files> -o <output file> Por exemplo: gcc -Wall -ansi -pedantic -g prog1.c -o prog1 24
25 Como usar? Para rodar usar gdb ou gdb prog1 Irá aparecer um indicador (prompt) que como este: (gdb) Se foi usada a primeira opção então é necessário agora dar o nome do programa: (gdb) file prog1 25
26 O shell gdb tem um shell interativo. O shell pode lembrar-se de comandos anteriores (teclas de setas), automaticamente completar comandos com a tecla TAB etc Dica Se precisar de informações acerca de um comando usar o comando help com ou sem um argumento. (gdb) help [command] (gdb) help next 26
27 Executando o programa Para rodar o programa use: (gdb) run Se o programa não tem nenhum erro ele irá executar normalmente. Se o programa tem problemas o gdb irá imprimir informações sobre o erro, como por exemplo: a linha onde o erro ocorreu, e os parâmetros para a função que causou o erro: Program received signal SIGSEGV, Segmentation fault. 0x dc in soma (v=0x7ffff7fa2010, n=50000) at seg.c:6 6 for (i = 0; i < 2*n; i++) s += *(v+i); 27
28 O programa culpado #include <stdio.h> #include <stdlib.h> int soma( int *v, int n) { int i, s = 0; for ( i = 0; i < 2* n; i ++) s += *( v+i); return s; } int main ( void) { int n, i, s; int *v; } scanf ("%d", &n); v = (int *) malloc (n * sizeof (int )); for ( i = 0; i < n; i ++) v[i] = i +1; s = soma(v, n); printf ("%d\n", s); return 0; 28
29 Não funciona! E se o programa rodou, mas não está funcionando? 29
30 Não funciona! E se o programa rodou, mas não está funcionando? Idéia Básica Precisamos de um modo de rodar o programa passo a passo, observar variáveis, rodar até um determinado ponto etc 29
31 Breakpoints Breakpoints podem ser usados para parar o programa em um ponto determinado. Pontos podem ser números de linha, nomes de funções etc. A forma mais simples é o comando break. Por exemplo, (gdb) break prog.c:6 Este comando define um ponto de parada na linha 6 do arquivo prog.c Se o programa passar por este ponto ele irá parar e esperar por outro comando. Dica Podem ser definidos tantos pontos de parada quanto forem necessários. 30
32 Mais breakpoints É possível usar o nome da função para definir o ponto de parada. Se o seu programa possui uma função int soma(int v, int n) é possível usar o seguinte comando: (gdb) break soma Este comando define um ponto de parada no início da função soma.c Se o programa passar por este ponto ele irá parar e esperar por outro comando. Dica Podem ser definidos tantos pontos de parada quanto forem necessários. 31
33 E agora? Uma vez definido um breakpoint é possível usar o comando run O programa irá reiniciar e parar no breakpoint se ele passar por lá. Também é possível continuar até o próximo breakpoint usando o comando continue Outra alternativa é executar o programa instrução a instrução usando o comando step 32
34 Mais passo a passo Parecido com step, há o comando next Este comando também anda passo a passo, com a diferença que ele não entra na função. Ele a trata como uma única instrução. Dica Digitando step ou next várias vezes pode ser cansativo. Se você digitar ENTER, gdb irá repetir o último comando digitado. 33
35 E as variáveis? Até agora somente vimos como parar um programa. E se for necessário ver valores de variáveis? O comando print imprime o valor da variável especificada. (gdb) print my var (gdb) print/x my var O comando print/x imprime o valor da variável especificada em hexa. 34
36 Pontos de observação Breakpoints interrompem o programa em uma linha ou função específica. watchpoints atuam em variáveis. Eles param o programa sempre que uma variável é modificada. Por exemplo, o comando: (gdb) watch var Após este comando, sempre que o valor da variável var é modificado, o programa irá imprimir o valor velho e o novo. Dica gdb define qual é a variável a ser observada pelo seu escopo, relativamente a posição onde você está na hora da observação. 35
37 Outros comandos backtrace - produz um trace da pilha das chamadas de função que levaram a um segmentation fault. where - o mesmo que backtrace; funciona mesmo quando ainda estamos no meio do programa. finish - roda até que a função atual termine. delete - apaga o ponto de parada especificado. info breakpoints - mostra informações sobre os breakpoints. Dica Olhar nas seções 5 e 9 do manual especificado no início para outros comandos úteis. 36
38 The End 37
SISTEMAS OPERATIVOS I
Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática SISTEMAS OPERATIVOS I Textos de Apoio às Aulas Práticas Pré-processador, compilador e debugger 2004 Jorge Pinto Leite Sugestões
Leia maisProgramação 2009/2010 MEEC
Programação 2009/2010 MEEC Laboratório 1 Semana de 28 de Setembro de 2009 SCDEEC Leia com atenção as regras de funcionamento da Sala de Computadores do DEEC (http://scdeec.ist.utl.pt/ e http://scdeec.ist.utl.pt/regras_utilizacao).
Leia maisUNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais
UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais
Leia maisSimulado de Linguagem de Programação Java
Simulado de Linguagem de Programação Java 1. Descreva o processo de criação de programas em Java, desde a criação do código-fonte até a obtenção do resultado esperado, por meio de sua execução. Cite as
Leia maisLEI Sistemas de Computação 2011/12. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença
LEI Sistemas de Computação 2011/12 Níveis de Abstração TPC4 e Guião laboratorial Luís Paulo Santos e Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------
Leia maisManual de Programação TED1000 versão TC100 Ethernet
Manual de Programação TED1000 versão TC100 Ethernet Indice: Configurações iniciais...2 Configuração de IP...2 Teclas especiais...2 Cabo de rede...2 Programação...3 Abrindo a comunicação (abreip)...3 Enviando
Leia maisSobre 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 maisLEI Sistemas de Computação 2014/15. Níveis de Abstração. TPC4 e Guião laboratorial. Luís Paulo Santos e Alberto José Proença
LEI Sistemas de Computação 2014/15 Níveis de Abstração TPC4 e Guião laboratorial Luís Paulo Santos e Alberto José Proença ------------------------------------------------------------------------------------------------------------------------------------------------
Leia maisINTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO
INTRODUÇÃO À LINGUAGEM PASCAL CESAR BEZERRA TEIXEIRA,MSC PREFÁCIO A linguagem C foi desenvolvida no início da década de 70 por dois pesquisadores do Bell Laboratories, Brian Kernihgan e Dennis Ritchie,
Leia maisUFSM Introdução ao Dev-C++ Profa. Patrícia Pitthan. Introdução ao Dev-C++
Introdução ao Dev-C++ O Dev-C++ oferece um ambiente que integra um editor de textos a um compilador para linguagem C. O compilador usado pelo Dev-C++ é o gcc (Gnu C Compiler). 1) Primeiro programa Para
Leia maisCurso de Linguagem C
Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...
Leia maisFerramentas para FSI
Ferramentas para FSI Este documento dá algumas pistas acerca de programação básica em linguagem C sob Sistema Operativo (S.O.) Linux. O Sistema Operativo Linux tem sofrido recentes melhoramentos importantes.
Leia maisAula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação
Aula Extra Depurador Code::Blocks Monitoria de Introdução à Programação Depurador - Definição Um depurador (em inglês: debugger) é um programa de computador usado para testar outros programas e fazer sua
Leia maisExercício de Revisão Linguagem C
Exercício de Revisão Linguagem C * Baseado no material do curso: PET Engenharia de Computação - UFES Responda às questões a seguir, selecionando a alternativa mais apropriada dentre aquelas existentes.
Leia mais1ª versão. #include <stdio.h> #include <string.h> #include <stdlib.h> #define maxdiscos 1000
#include #include #include #define maxdiscos 1000 typedef struct { char nomeautor[80]; char nomedisco[100]; int numdiscosvendidos; DISCO; 1ª versão int main() { DISCO listadiscos[maxdiscos];
Leia maisCurso de C: uma breve introdução
V Semana de Engenharia Elétrica - UFBA Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da: Creative Commons License:
Leia maisPIP/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 maisProgramação Estruturada I
Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 thiago.tavares@ifsuldeminas.edu.br 2 mateus.santos@ifsuldeminas.edu.br Última Atualização:
Leia maisVetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos
Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.
Leia maisTipos de Dados, Tipos Abstratos de Dados Estruturas de Dados
Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados Tipo de dados, tipo abstrato de dados, estruturas de dados Termos parecidos, mas com significados diferentes Tipo de dado Em linguagens de programação
Leia maisAula Dirigida de Introdução ao Dev-C++
Aula Dirigida de Introdução ao Dev-C++ 1 Introdução Departamento de Ciência da Computação IME/USP J.C. de Pina, J. Soares e C.H. Morimoto O que vem a ser um programa em C? Você talvez já tenha ouvido falar
Leia maisGestão de Sistemas Operacionais I
Gestão de Sistemas Operacionais I Professor: Wellington Fábio de Oliveira Martins MSDOS Comandos mais utilizados Para usar o MS-DOS no Windows 98 va no menu iniciar -> executar -> digita: command No Windows
Leia mais1) Utilize o link abaixo para iniciar automaticamente o processo para baixar o arquivo de instalação do Code::Blocks:
Manual do Code::Blocks para o Windows XP, Vista e 7 Instalação: 1) Utilize o link abaixo para iniciar automaticamente o processo para baixar o arquivo de instalação do Code::Blocks: http://prdownload.berlios.de/codeblocks/codeblocks-12.11mingw-setup.exe
Leia maisESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2005/2006. 0.5 Valores
ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA INTRODUÇÃO À PROGRAMAÇÃO (ENG. INFORMÁTICA) COMPUTADORES E PROGRAMAÇÃO I (ENG. ELECTROTÉCNICA) 2005/2006 TRABALHO PRÁTICO Nº
Leia maisAlgoritmo para converter uma temperatura em Fahrenheit para Celsius
Algoritmo e Programação Algoritmo para converter uma temperatura em Fahrenheit para Celsius Conversão: Celsius -> Fahrenheit F = C 1,8 + 32 Fahrenheit -> Celsius C = ( F 32) / 1,8 1 Formas de representar
Leia mais2 Um Primeiro Programa em C
2 Um Primeiro Programa em C Ronaldo F. Hashimoto, Carlos H. Morimoto e José A. R. Soares OobjetivodessaaulaéintroduzirvocêàlinguagemCemambienteLinux,primeiramentemostrandoasua estrutura, e a seguir com
Leia maisOProtocolo RPC é um dos protocolos de aplicação mais utilizados, pois permite
Laboratório de Redes. Remote Procedure Call - RPC Pedroso 9 de março de 2006 1 Introdução 2 Conceitos básicos OProtocolo RPC é um dos protocolos de aplicação mais utilizados, pois permite que sejam criadas
Leia maisProgramação 2009/2010 MEEC MEAer
Programação 2009/2010 MEEC MEAer Guia para criação de um projecto no KDevelop O ambiente de desenvolvimento de software (IDE) a usar durante a unidade curricular de Programação é o KDevelop, que se executa
Leia maisFundamentos de Programação
TeSP Redes e Sistemas Informáticos Luís Correia Até agora aprendemos que podemos armazenar vários elementos, mas esses elementos têm que ser todos do mesmo tipo Exemplos: int v[20]; float matriz[5][10];
Leia maisLinguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.
Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração
Leia maisEstruturas de Repetição
Estruturas de Repetição Introdução No capítulo anterior verificamos que a execução seqüencial dos comandos da função main nos limita a programação de algoritmos muito simples. Passamos, então, a dedicar
Leia maisProgramaçã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 maisIntrodução a POO. Introdução a Linguagem C++ e POO
Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes
Leia maisEdwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C
Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Belo Horizonte 2010 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4 3.1 Strings
Leia maisDepartamento de Informática - PUC-Rio INF 1005 Programação I P1 22/09/2010 Nota
P1 22/09/2010 Matrícula: Turma: Questão 1) (3,5 pontos) O Índice de Desenvolvimento Humano (IDH) é uma medida do bemestar de uma população. Engloba três dimensões: educação (E), longevidade (L) e a riqueza
Leia maisPara entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:
Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos
Leia maisUNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA
Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais
Leia maisLinguagem C. Diagnóstico e correcção de problemas. Arquitectura física. José Pedro Oliveira (jpo@di.uminho.pt) Linguagem de programação
Conteúdo Diagnóstico e correcção de problemas (jpo@di.uminho.pt) Grupo de Sistemas Distribuídos Departamento de Informática Escola de Engenharia Universidade do Minho 1 Arquitectura física Linguagem de
Leia maisConteúdo programático
Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha
Leia maisCurso de C. Procedimentos e Funções. 6/4/200901/04/09 09:42 Copyright@Arnaldo V Moura, Daniel F Ferber 1
Curso de C Procedimentos e Funções 6/4/200901/04/09 09:42 Copyright@Arnaldo V Moura, Daniel F Ferber 1 Funções Roteiro: Funções Declaração e chamada Funções importantes Exemplos de funções Variáveis Globais,
Leia maisCRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access
CRIAÇÃO DE TABELAS NO ACCESS Criação de Tabelas no Access Sumário Conceitos / Autores chave... 3 1. Introdução... 4 2. Criação de um Banco de Dados... 4 3. Criação de Tabelas... 6 4. Vinculação de tabelas...
Leia maisResumo da Introdução de Prática de Programação com C. A Linguagem C
Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional
Leia maisINF 1005 Programação I
INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:
Leia maisEdwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++
Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Belo Horizonte 2009 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4
Leia maisUNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO
Curso: Engenharia de Computação e Ciência da Computação Data: 10/09/2013 Disciplina: Programação Estruturada Valor: 3,0 pontos Professor: Henrique Monteiro Cristovão Nota: Aluno: Prova resolvida 4ª Prova
Leia maisExercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento
1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário
Leia maisEstrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org
Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,
Leia maisAula 11: Desvios e Laços
Aula 11: Desvios e Laços Nesta aula explicaremos alguns comandos que podem alterar o fluxo dos seus programas em JavaScript. Você aprenderá a estrutura dos comandos de desvios e laços. Entenderá como funcionam
Leia maisJosé Romildo Malaquias 2011-1
Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três
Leia maisSistemas Operacionais INF 09344 Prof. José Gonçalves
Sistemas Operacionais INF 09344 Prof. José Gonçalves 1 o Trabalho de Programação Período: 2014/1 Data de Entrega: 2/6/2014 Parte I. Usando Fork e Wait Você deve criar um programa C partei.c. Durante a
Leia maisManipulação de Arquivos
Manipulação de Arquivos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Tipo
Leia maisIntrodução ao. Script. Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys
Introdução ao Script Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys O que é Bash Script? O que é Bash + Script? O que é Bash? O que é Bash? Ele é um
Leia maisPROGRAMAÇÃO DE COMPUTADORES
PROGRAMAÇÃO DE COMPUTADORES COMANDOS E FORMATOS DE ENTRADA E SAÍDA 1 COMANDOS E FORMATOS DE ENTRADA E SAÍDA Os comandos de entrada e saída, na sua forma mais simplificada, possuem a seguinte estrutura:
Leia mais1. PROLOGO ==========
1997 - Hackers Iniciantes em Linguagem C 1997 - RoyalBug - thedarkage@mail.geocities.com thedarkage2@mail.geocities.com 1997 - The Black Church MANUAL C 01 ================ 1997 - http://www.pcs.usp.br/~peasilva/
Leia maisAlocação dinâmica de memória
Alocação dinâmica de memória Jander Moreira 1 Primeiras palavras Na solução de problemas por meio algoritmos ou programas, é comum surgir a necessidade de manter todo o conjunto de dados a ser processado
Leia maisSistemas Operacionais e Introdução à Programação. Programação com linguagem C
Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Variáveis na linguagem C: tipo char O tipo char representa um caractere ASCII (ocupa só 1 byte) int main(int argc, char **
Leia maisArquivos. Estruturas de Dados II Vanessa Braganholo
Arquivos Estruturas de Dados II Vanessa Braganholo Entidades } Aplicações precisam armazenar dados sobre as mais diversas entidades, que podem ser concretas ou abstratas } Funcionário de uma empresa (concreto)
Leia maisDesenvolvimento de programas em UNIX
4 Desenvolvimento de programas em UNIX Sumário: Fases de desenvolvimento de programas Compiladores Ficheiros em código objecto (.o) Visualização de símbolos dum ficheiro objecto (nm) Unificadores (linkers)
Leia maisDisciplina: INF1005 - Programação I. 1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010
1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010 1. Execute o MS-Visual Studio 2010. Experimente o caminho: Start All Programs Microsoft Visual Studio 2010 Microsoft Visual Studio
Leia maisEstruturas de entrada e saída
capa Estruturas de entrada e saída - A linguagem C utiliza de algumas funções para tratamento de entrada e saída de dados. - A maioria dessas funções estão presentes na biblioteca . - As funções
Leia maisPROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor
Leia maisMódulo de Aprendizagem I
Módulo de Aprendizagem I Digitalizar fotografias para a base de dados do SiFEUP Notas: No decorrer deste módulo de aprendizagem, pressupõe-se que o utilizador já tem o scanner devidamente instalado no
Leia maisOperaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Operações com Strings Introdução a Ponteiros e Funções Profa Rosana Braga 1 Strings Strings são seqüências de caracteres
Leia maisBC-0505 Processamento da Informação
BC-0505 Processamento da Informação 0.Declarar Variáveis/ Atributos (Armazenar Dados) 1.Entrada de Dados (Obter dados = Leitura) double raio = 0; double area = 0; double PI = 3.14159; 2.Processamento (=
Leia maisINTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita
Leia maisTUTORIAL WINDOWS 7. Curso Técnico em Informática. Aluno: Ricardo B. Magalhães Período: Noturno Profª: Patrícia Pagliuca
GOVERNO DO ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA SECITEC ESCOLA TÉCNICA ESTADUAL DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA UNIDADE DE LUCAS DO RIO VERDE Curso Técnico em Informática
Leia maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
Leia maisIntrodução à Programação
Aula Teórica/Pratica 5: ciclos e funções Getchar e putchar Escrever e ler caracteres A função getchar da biblioteca stdio.h permite de receber exatamente um (1) carácter da o "teclado"ou stdin Definição:
Leia maisCapítulo 2: Introdução à Linguagem C
Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso
Leia maisIntrodução à Linguagem C
Prof a.dr a.thatyana de Faria Piola Seraphim (ECO) Prof.Dr.Enzo Seraphim (ECO) Universidade Federal de Itajubá thatyana@unifei.edu.br seraphim@unifei.edu.br Introdução - História A linguagem de programação
Leia maisUm processo sob UNIX ocupa uma área de memória formada basicamente por 3 partes:
Processos O UNIX é um sistema operacional multitarefa (suporta multiprogramação). Isso significa que ele é capaz de gerenciar a execução simultânea de vários programas. O termo processo é usado para caracterizar
Leia maissystem("pause"); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa
Atividade Prática no Ambiente Dev C++ Para as nossas atividades práticas vamos utilizar o ambiente de desenvolvimento da Linguagem C, Dev C++, ele é bastante fácil de utilizar e com muitos recursos. Segue
Leia maisComunicação entre pai e filho
Comunicação entre pai e filho Ao chamar um fork(), processos pai e filho deixam de compartilhar memória Como fazer então para que o resultado de um processo possa ser recebido pelo outro? Exemplos: Processo
Leia maisProgramação de Sistemas
Programação de Sistemas Exercício : Museus Programação de Sistemas Museu: 1/11 Problema (1) A Fundação Calouste Gulbenkian vai organizar uma exposição temporária com quadros de Vincent van Gogh e Gustav
Leia maisFirewalls de Aplicação WEB, Idiomas e Expressões Regulares. Condições de Bypass
Firewalls de Aplicação WEB, Idiomas e Expressões Regulares Condições de Bypass Glaudson Ocampos 18 de Novembro de 2009 SUMÁRIO 1 - INTRODUÇÃO... 03 2 - DESCRIÇÃO DO PROBLEMA...
Leia maisComandos de Desvio 1
Programação de Computadores I UFOP DECOM 2014 1 Aula prática 3 Comandos de Desvio 1 Sumário Resumo Nesta aula você irá resolver problemas que requerem uma decisão com base em um teste, ou condição. Para
Leia maisIntrodução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza
Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo
Leia maisAlgoritmos e Programação Estruturada
Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.
Leia maisIntrodução à Programação em Linguagem C
Material Complementar EA869 (Prof. Von Zuben DCA/FEEC/Unicamp) 1 1. Enfoque Introdução à Programação em Linguagem C Será tratada aqui a linguagem C tradicional, sendo que existem outras variantes tais
Leia mais17 - Funções e Procedimentos em C Programação Modular
17 - Funções e Procedimentos em C Programação Modular Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 17
Leia maisEspecificar. Simplificando o extraordinário. Como jogar
PENSE ANTES DE IMPRIMIR Especificar Como jogar O jogo Especificar ajuda os alunos a formular e fazer perguntas sobre diversos assuntos. Também promove o pensamento analítico dos alunos da pré-escola. O
Leia maisLinguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação
Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada
Leia maisConceitos básicos da linguagem C
Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por
Leia maisIntrodução a Administração de Sistemas GNU/Linux
Curso de extensão da Faculdade Ruy Barbosa Introdução a Administração de Sistemas GNU/Linux Dedicasse especial a Rogério Bastos e ao GRACO (Gestores da Rede Acadêmica de Computação) do DCC UFBA Paul Regnier
Leia maisLINGUAGEM C UMA INTRODUÇÃO
LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional
Leia maisProgramação de Computadores I. Conhecendo a IDE Code::Blocks
Code::Blocks Conhecendo a IDE Programação de Computadores I Professor: Edwar Saliba Júnior Conhecendo a IDE Code::Blocks Apresentação: 1) Abra a IDE (Integrated Development Environment), ou seja, o Ambiente
Leia maisItalo Valcy <italo@dcc.ufba.br>
Programação C Módulo 01 Introdução à linguagem C Italo Valcy www.ieee.org/ufba Italo Valcy Programação em C Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente,
Leia maisAula Prática 1: Introdução ao Ambiente de Programação Dev-C++
Aula Prática 1: Introdução ao Ambiente de Programação Dev-C++ 1. Introdução Em nossa primeira aula prática de programação em linguagem C iremos escrever e testar programas de computador básicos. Mas antes,
Leia maisModule Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada
5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação 9099 : Bioengenharia 10135 : Ciências Biomédicas Cap. 4 Algoritmos e Estruturada Module Introduction Algoritmos e Estruturada Objectivos:
Leia maisTUTORIAL MATLAB Victor Breder 2016
TUTORIAL MATLAB Victor Breder 2016 1. INTERFACE A. Caminho de trabalho Mostra o caminho pasta raiz que será considerada para executar scripts e funções criados pelo usuário. B. Pasta de trabalho Mostra
Leia maisMétodo de ordenação - objetivos:
Método de ordenação - objetivos: Corresponde ao processo de rearranjar um conjunto de objetos em uma ordem ascendente ou descendente. Facilitar a recuperação posterior de itens do conjunto ordenado. São
Leia mais