Estruturas, Uniões, Manipulação ao bit, e Enumerações

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

Download "Estruturas, Uniões, Manipulação ao bit, e Enumerações"

Transcrição

1 Estruturas, Uniões, Manipulação ao bit, e Enumerações IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994

2 Estruturas Introdução 2 Uma estrutura é uma colecção de elementos, que podem ser de vários tipos, sob o mesmo nome No caso de um array os elementos são todos do mesmo tipo. As estruturas e os apontadores permitem, em conjunto, a formação de estruturas dinâmicas de dados (listas, filas de espera, pilhas, árvores,...)

3 Estruturas Definição e Declaração de estruturas 3 Definição struct coordenada /* coordenada é o nome da estrutura */ int x; int y; /* x e y são os membros da estrutura */ ; Declaração struct coordenada vertice1, vertice2; /* duas instâncias da estrutura coordenada */ vertice1 int x int y

4 Estruturas Definição, Declaração e Inicialização de estruturas 4 Definição e declaração de estruturas struct coordenada int x; /* O nome da estrutura é, */ int y; /* neste caso, opcional */ vertice1, vertice2; Definição, declaração e inicialização de estruturas struct coordenada int x; /* só vertice1 é inicializada */ int y; vertice1 = 30, 60, vertice2;

5 5 Estruturas Operações válidas sobre estruturas Operações Atribuição de uma estrutura de um tipo a uma estrutura do mesmo tipo Aplicação do operador de endereço a uma estrutura Acesso a membros de uma estrutura Aplicação do operador sizeof Uma estrutura não pode conter uma instância de si própria... Mas pode conter um apontador para uma instância de si própria As estruturas não podem ser comparadas... possíveis "buracos" entre os membros (alinhamentos em memória) struct exemplo char c; short i; ???????? ;

6 6 Estruturas Acesso aos membros de estruturas struct coordenada int x; int y; vertice1, vertice2 = 30, 60, *verptr; Através do operador membro de estrutura vertice1.x = 20; vertice1.y = 50; Atribuindo uma estrutura a outra do mesmo tipo vertice2 = vertice1; Através do operador apontador de estrutura verptr = &vertice2; printf("vertice2: %d, %d\n", verptr->x, (*verptr).y); vertice2: 20, 50

7 typedef Introdução 7 typedef Cria sinónimos de tipos de dados previamente definidos Exemplo: Depois de definida a estrutura coordenada typedef struct coordenada Coord; Ou, simplesmente typedef struct int x; int y; Coord; E, a partir de agora, Coord vertice3; em vez de struct coordenada vertice3;

8 8 Estruturas Estruturas como argumentos de funções Passagem por valor Nome da estrutura membro da estrura Nestes casos, as estruturas não podem ser alteradas Passagem por referência Apontador para estrutura

9 Exemplo Baralhar as cartas de jogar... Juntar as cartas Baralhar Dar Ten of Diamonds Eigth of Hearts Ace of Hearts Seven of Clubs Deuce of Hearts Five of Diamonds King of Spades Ace of Diamonds Jack of Spades Seven of Spades Ten of Clubs Five of Hearts Jack of Diamonds Queen of Diamonds

10 Exemplo Baralhar as cartas de jogar #include <stdio.h> #include <stdlib.h> #include <time.h> struct card char *face; char *suit; ; deck[0] deck[1] typedef struct card Card; void filldeck(card []); void shuffle(card []); void deal(card []); deck[51]

11 int main(void) Card deck[52]; /* array de estruturas */ srand(time(null)); filldeck(deck); shuffle(deck); deal(deck); return 0; deck[0] deck[1] deck[51]

12 void filldeck(card wdeck[]) int i; char *face[] = "Ace", "Deuce", "Three", "Four", "Five", "Six", "Seven", "Eigth", "Nine", "Ten", "Jack", "Queen", "King"; char *suit[] = "Hearts", "Diamonds", "Clubs", "Spades"; for (i = 0; i < 52; i++) wdeck[i].face = face[i % 13]; wdeck[i].suit = suit[i / 13];

13 void shuffle(card wdeck[]) int i, j; Card temp; for (i = 0; i < 52; i++) j = rand() % 52; temp = wdeck[i]; wdeck[i] = wdeck[j]; wdeck[j] = temp; void deal(card wdeck[]) int i; for (i = 0; i < 52; i++) printf("%5s of %-8s%c", wdeck[i].face, wdeck[i].suit, i % 2? '\n' : '\t');

14 Estruturas Estruturas de estruturas 14 struct coordenada int x; int y; vertice1, vertice2 = 30, 60, *verptr; struct rectangulo struct coordenada cimaesq; struct coordenada baixodir; rectang1 = 25, 90, 60, 20; A inicialização de rectang1 também poderia ser rectang1.cimaesq.x = 25; rectang1.cimaesq.y = 90; rectang1.baixodir.x = 60; rectang1.baixodir.y = 20; rectang1 cimaesq baixodir x y x y

15 15 Estruturas Estruturas de arrays struct pessoa char nome[30]; int idade; Silva = "Jose Silva", 27; printf("nome: %s tem %d anos\n", Silva.nome, Silva.idade); Nome: Jose Silva tem 27 anos

16 Estruturas Arrays de estruturas 16 struct assinante char nome[16]; char apelido[16]; char tel[10]; ; struct assinante listatel[1000]; listatel[10] = "Antonio", "Silva", " "; printf("%s %s", listatel[10].nome, listatel[10].apelido); printf("\ttel: %s\n", listatel[10].tel); Antonio Silva Tel:

17 17 Estruturas Apontadores como membros de estruturas struct escritor char *livroptr; char *nomeptr; int *anoptr; ; int main(void) int x = 1960; Domingo 'a tarde Fernando Namora 1960 struct escritor fnamora = "Domingo 'a tarde", "Fernando Namora", &x; printf("%s\n%s\n%d\n", fnamora.livroptr, fnamora.nomeptr, *fnamora.anoptr); return 0;

18 18 Prioridades dos Operadores () [] -> ! ~ (type) * & sizeof * / % + - << >> < <= > >= ==!= & ^ &&? : = += -= *= /= %= &= ^= = <<= >>=,

19 struct escritor /* Analisar... */ char *livroptr; /* apontadores para estruturas */ char *nomeptr; int *anoptr; ; int main(void) int x = 1960; struct escritor fnamora = "Domingo 'a tarde", "Fernando Namora", &x, *aponta; aponta = &fnamora; printf("%s\n%s\n%d\n", fnamora.livroptr, fnamora.nomeptr, *fnamora.anoptr); printf("%s\n%s\n%d\n", aponta->livroptr, (*aponta).nomeptr, *(*aponta).anoptr); return 0; *aponta->anoptr

20 Estruturas Apontadores para estruturas 20 struct vestuario int numero; char modelo[10]; char cor[10]; ; struct vestuario *vestptr, casaco; Uma das 2 instâncias é um apontador vestptr = &casaco; Acesso aos membros casaco.numero = 100; (*vestptr).numero = 100; vestptr->numero = 100; /* através do operador membro */ /* através do operador membro indirecto -> */

21 21 Estruturas Apontadores e Arrays de estruturas struct vestuario int numero; char modelo[10]; char cor[10]; stockcasacos[100]; struct vestuario *casacoptr; casacoptr = stockcasacos; ou casacoptr = &stockcasacos[0]; printf("%d %s %s\n", casacoptr->numero, casacoptr->modelo, casacoptr->cor); ++casacoptr; /* imprime características de stockcasacos[0] */ printf("%d %s %s\n", casacoptr->numero, casacoptr->modelo, casacoptr->cor); /* imprime características de stockcasacos[1] */

22 Estruturas Erros mais comuns 22 Tentar aceder a um membro de uma estrutura utilizando apenas o nome desse membro Não utilizar () para aceder um membro de uma estrutura através de um apontador. Ex: (*verptr).y Assumir que, contrariamente ao que acontecia com os arrays, as estruturas são automaticamente passadas por referência Esquecer o índice quando se pretende referir uma estrutura num array de estruturas

23 Uniões Introdução 23 As Uniões são definidas e declaradas como as Estruturas Com as devidas adaptações, muito do que se indicou para as Estruturas também se aplica às Uniões union numero int x; float y; ; Diferença: Nas Uniões apenas um dos membros pode ser referenciado, de cada vez, pois todos eles partilham o mesmo espaço Na declaração pode ser inicializado o PRIMEIRO membro da União union numero numero1 = 10; union numero numero2 = 10.89; <---- Correcto <---- Incorrecto

24 24 Uniões Operações válidas sobre uniões Operações Atribuição de uma união de um tipo a uma união do mesmo tipo Aplicação do operador de endereço a uma união Acesso a membros de uma união Aplicação do operador sizeof As uniões não podem ser comparadas... podem existir "buracos" entre os seus membros Acesso aos membros de uma união union numero numero1; numero1.x = 10;... numero1.y = 10.78;

25 #include <stdio.h> struct num short x; int y; double z; ; union nume short xx; int yy; double zz; ; short: 2 int: 4 double: 8 struct num: 16 union nume: 8 int main(void) printf("short: %d\n", sizeof(short)); printf("int: %d\n", sizeof(int)); printf("double: %d\n", sizeof(double)); printf("struct num: %d\n", sizeof(struct num)); printf("union nume: %d\n", sizeof(union nume)); return 0;

26 #include <stdio.h> struct num short x; double z; int y; ; union nume short xx; double zz; int yy; ; int main(void) printf("short: %d\n", sizeof(short)); printf("int: %d\n", sizeof(int)); printf("double: %d\n", sizeof(double)); printf("struct num: %d\n", sizeof(struct num)); printf("union nume: %d\n", sizeof(union nume)); return 0; short: 2 int: 4 double: 8 struct num: 24 union nume: 8

27 #include <stdio.h> union numero int x; double y; ; int main(void) union numero num1; num1.x = 10; printf("num1.x: %d\tnum1.y: %f\n\n", num1.x, num1.y); num1.y = ; printf("num1.x: %d\tnum1.y: %f\n\n", num1.x, num1.y); return 0; num1.x: 10 num1.y: num1.x: num1.y:

28 Uniões Erros mais comuns 28 Inicializar uma união, na declaração, com um valor cujo tipo seja diferente do tipo do primeiro membro

29 Manipulação ao bit Introdução 29 A manipulação ao bit é dependente da máquina Operadores ao bit & AND resultado 1 se ambos os operandos forem 1. OR resultado 1 se, pelo menos, um dos operandos for 1. ^ excor resultado 1 se apenas um dos operandos for 1. << desloca esquerda deslocamento para a esquerda. Entra 0 pela direita. >> desloca direita deslocamento para a direita. Pela esquerda entra 0 ou 1, dependendo da implementação. ~ complementa resultado 1 se o operando for 0 e vice-versa.

30 visubits(numint);... void visubits(int n) int conta, nbits = sizeof(int) * 8; Indicar um inteiro: -5-5 = Indicar um inteiro: = printf("indicar um inteiro: "); scanf("%d", &numint); int visumasca = 1 << nbits - 1; printf("%7d = ", n); for (conta = 1; conta <= nbits; conta++) putchar(n & visumasca? '1' : '0'); n <<= 1; if (conta % 8 == 0) putchar(' '); putchar('\n');

31 Indicar 2 inteiros: Result. de combinar 139 = = atraves de ^ excor: 76 = int main(void) int num1, num2; void visubits(int); printf("indicar 2 inteiros: "); scanf("%d %d", &num1, &num2); printf("result. de combinar\n"); visubits(num1); visubits(num2); printf("atraves de ^ excor:\n"); visubits(num1 ^ num2); return 0; void visubits(int n)...

32 Manipulação ao bit Erros mais comuns 32 Utilizar o operador lógico AND (&&) em vez do operador ao bit AND (&) e vice-versa Utilizar o operador lógico OR ( ) em vez do operador ao bit OR ( ) e vice-versa É imprevisível o resultado de deslocar um valor (para a esquerda ou direita), quando o operando da direita é negativo ou maior que o número de bits do operando da esquerda

33 Enumerações Introdução 33 Para definir símbolos representando constantes inteiras Começam em 0 e vão sendo incrementados de 1 enum meses JAN, FEV, MAR, ABR, MAI, JUN, JUL, AGO, SET, OUT, NOV, DEZ; É criado um novo tipo enum meses, em que: JAN vale 0, FEV vale 1,..., e DEZ vale 11 Outro exemplo enum meses JAN = 5, FEV, MAR = 12, ABR, MAI, JUN, JUL, AGO, SET, OUT, NOV, DEZ; Agora, JAN vale 5, FEV 6, MAR 12, ABR 13,...

34 Enumerações Introdução 34 Os identificadores, numa enumeração, devem ser únicos Os valores podem ser afectos a cada um dos identificadores, durante a declaração Podem aparecer vários identificadores com o mesmo valor

35 enum meses_ano JAN = 1, FEV, MAR, ABR, MAI, JUN, JUL, AGO, SET, OUT, NOV, DEZ; typedef enum meses_ano meses; int main(void) meses mes; char *nomemeses[] = "", "Janeiro", "Fevereiro", "Marco", "Abril", "Maio", 1 Janeiro 2 Fevereiro 3 Marco 4 Abril 5 Maio 6 Junho Novembro 12 Dezembro "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"; for (mes = JAN; mes <= DEZ; mes++) printf("%2d%10s\n", mes, nomemeses[mes]); return 0; Para funcionar no Visual C++, foi substituido mes++ por mes = (meses)(mes + 1)

36 36 Exercícios Definir a estrutura ponto2d, para um espaço 2D, consistindo dos valores reais x e y. Escrever a função distancia que calcula e devolve a distância entre 2 ponto2d. Definir um tipo enumerado dos dias da semana, desigando por diassemana. Esvrever as funções proximo e anterior que devolvem, respectivamente, o próximo e o dia anterior de um dia dado. As funções devolvem valores do tipo diassemana.

37 37 Exercícios Três pessoas expressam a opinião sobre 16 assuntos, em termos de Sim ou Não. Assumir que as opiniões são guardadas nos bits de um inteiro (1 = Sim; 0 = Não). Escrever a função: short maioria(short a, short b, short c)... que toma os votos das três pessoas guardados em a, b e c e devolve o voto com maior número de opiniões Sim. Escrever a função: int rodaesq(int num, int n)... que roda (circularmente) num para a esquerda de n posições

38 38 Exercícios Tendo quatro grupos básicos de comidas: Peixes/Carnes, Frutas, Vegetais, e Bebidas, escrever a função refeicao() que escolhe aleatoriamente uma comida de cada grupo básico e visualiza-as. Escrever um programa que gera 5 refeições. Escrever um programa que manipula uma base de dados de acontecimentos (no máximo 100 acontecimentos). Cada acontecimento tem um nome e uma data. As operações a disponibilizar permitem juntar, eliminar e visualizar acontecimentos.

39 #include <stdio.h> #include <math.h> struct ponto2d double x; double y; ; typedef struct ponto2d pt2d; double distancia(pt2d, pt2d); int main(void) struct ponto2d p1 = 1.0, 1.0, p2 = 2.0, 3.0 ; printf("%s%f\n", "distancia entre p1 e p2= ", distancia(p1, p2)); return 0; double distancia(pt2d ponto1, pt2d ponto2) return sqrt(pow(ponto2.y - ponto1.y, 2) + pow(ponto2.x - ponto1.x, 2));

40 Indicar dia semana (Domingo= 0/Segunda= 1/...): 0 O proximo dia e': Segunda O dia anterior e': Sabado Indicar dia semana (Domingo= 0/Segunda= 1/...): 1 O proximo dia e': Terca O dia anterior e': Domingo

41 #include <stdio.h> enum dias_semana DOM, SEG, TER, QUA, QUI, SEX, SAB; typedef enum dias_semana diassemana; diassemana proximo(diassemana); diassemana anterior(diassemana); void visudia(diassemana); int main(void) diassemana dia; printf("indicar dia semana (Domingo= %d/segunda= %d/...): ", DOM, SEG); scanf("%d", &dia); printf("o proximo dia e': "); visudia(proximo(dia)); printf("\no dia anterior e': "); visudia(anterior(dia)); return 0;

42 diassemana proximo(diassemana dia) return dia == SAB? DOM: dia++; diassemana anterior(diassemana dia) return dia == DOM? SAB: dia--; void visudia(diassemana dia) char *nomediassemana[] = "Domingo", "Segunda", "Terca", "Quarta", "Quinta", "Sexta", "Sabado"; printf("%s\n", nomediassemana[dia]); Em Visual C++: dia++ foi substituido por dia = (diassemana)(dia + 1) dia-- foi substituido por dia = (diassemana)(dia - 1)

43 indicar numero e numero de deslocamentos: 5 3 Numero rodado: 40 indicar numero e numero de deslocamentos: 5 36 Numero rodado: 80 #include <stdio.h> int rodaesq(int, int); int main(void) int numero, roda; printf("indicar numero e numero de deslocamentos: "); scanf("%d%d", &numero, &roda); printf("numero rodado: %u\n\n", rodaesq(numero, roda)); return 0;

44 int rodaesq(int num, int deslocar) int bit0, bitmaissignif, intnrbytes = sizeof(int); deslocar = deslocar % (8 * intnrbytes); bitmaissignif = 1 << (intnrbytes * 8-1); for (; deslocar > 0; deslocar--) if (bitmaissignif & num) bit0 = 1; else bit0 = 0; num <<= 1; num = bit0; 0 ou 1 0 return num;

45 Refeicao composta por: coelho, feijao, cola, e maca. Refeicao composta por: tamboril, batata, sumo, e compota. Refeicao composta por: pescada, tomate, sumo, e laranja. Refeicao composta por: carapau, couve, vinho, e pudim. Refeicao composta por: bacalhau, alface, cerveja, e pera.

46 #include <stdio.h> #include <stdlib.h> #include <time.h> void refeicao(void); int main(void) int i; srand(time(null)); for(i = 1; i <= 5; i++) refeicao(); return 0;

47 void refeicao(void) int i; static char *comidas[][10] = "sardinha", "pescada", "tamboril", "carapau", "bacalhau", "bife", "costeleta", "galinha", "peru", "coelho", "alface", "couve", "feijao", "tomate", "batata", "vinho", "agua", "cerveja", "sumo", "cola", "laranja", "maca", "pera", "banana", "bolo", "pudim", "compota" ; printf("\nrefeicao composta por:\n"); printf("%s, ", comidas[0][rand() % 10]); for (i = 1; i <= 2; i++) printf("%s, ", comidas[i][rand() % 5]); printf("e %s.\n\n", comidas[3][rand() % 7]);

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática

Leia mais

Linguagem 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: 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 mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Linguagem C Tipos de Dados void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Funções void void pode ser usado em lugar de um tipo, para indicar a ausência de valor

Leia mais

Introdução à Programação com Classes em C++

Introdução à Programação com Classes em C++ 1 FEUP/LEEC/AED/2001-2002 Introdução à Programação com Classes em C++ João Pascoal Faria http://www.fe.up.pt/~jpf FEUP/LEEC/AED/ 2000-2001 Conceito de classe em C++ 2 Classe em sentido lato: tipo de dados

Leia mais

Variáveis e Comandos de Atribuição

Variáveis e Comandos de Atribuição BCC 201 - Introdução à Programação Variáveis e Comandos de Atribuição Guillermo Cámara-Chávez UFOP 1/47 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c e s s a d o r > < d e c l

Leia mais

Tipo de Dados em Linguagem C

Tipo de Dados em Linguagem C Tipo de Dados em Linguagem C Principais tipos de dados em C int : tipo de dados inteiros (exemplo: 1, -3, 100, -9, 18, etc.) float : tipo de dados reais (exemplo: 1.33, 3.14, 2.00, -9.0, 1.8, etc.) Ocupa

Leia mais

Programação: Estruturas de seleção

Programação: Estruturas de seleção Programação de Computadores I Aula 07 Programação: Estruturas de seleção José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/53 Valores booleanos Os valores booleanos

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem 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 mais

Programação: Tipos, Variáveis e Expressões

Programação: Tipos, Variáveis e Expressões Programação de Computadores I Aula 05 Programação: Tipos, Variáveis e Expressões José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/56 Valores Valor é uma entidade

Leia mais

Algoritmo e Técnica de Programação - Linguagem C

Algoritmo e Técnica de Programação - Linguagem C Algoritmo e Técnica de Programação Linguagem C Gilbran Silva de Andrade 5 de junho de 2008 Introdução A liguagem C foi inventada e implementada por Dennis Ritchie em um DEC PDP-11 que utilizava o sistema

Leia mais

Linguagem C Funções definidas pelo usuário. Lógica de Programação

Linguagem C Funções definidas pelo usuário. Lógica de Programação Linguagem C Funções definidas pelo usuário Lógica de Programação Caro(a) aluno(a), Trabalharemos agora com as funções criadas por vocês na Linguagem C. Bom trabalho!!! Funções C permite que o programador

Leia mais

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes ITENS FUNDAMENTAIS Profª Angélica da Silva Nunes CONCEITOS BÁSICOS Hardware - é a parte física do computador, tais como: teclado, monitor de vídeo, etc. Software - são os programas e aplicativos que permitem

Leia mais

LINGUAGEM C. Estrutura básica de um programa

LINGUAGEM C. Estrutura básica de um programa LINGUAGEM C Estrutura básica de um programa Um programa em linguagem C é constituído por uma sequência de funções (módulos) que em conjunto irão permitir resolver o problema proposto. Estas funções contêm

Leia mais

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto 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 UNIX. O C é derivado de uma outra linguagem: o B,

Leia mais

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

MC102 Algoritmos e programação de computadores Aula 3: Variáveis MC102 Algoritmos e programação de computadores Aula 3: Variáveis Variáveis Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa,

Leia mais

INTRODUÇÃO À LINGUAGEM C++

INTRODUÇÃO À LINGUAGEM C++ INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como

Leia mais

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores Introdução à Programação Armazenamento de Grande Quantidade de Informação Usando Vetores Armazenando Grande Quantidade de Informação Como armazenar tanta informação? Vetores! 2 Tópicos da Aula Hoje, aprenderemos

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 06 Tipos Estruturados Edirlei Soares de Lima Dados Compostos Até agora somente utilizamos tipos de dados simples: char, int, float, double. Muitas vezes

Leia mais

DATA DIA DIAS DO FRAÇÃO DATA DATA HORA DA INÍCIO DO ANO JULIANA SIDERAL T.U. SEMANA DO ANO TRÓPICO 2450000+ 2460000+

DATA DIA DIAS DO FRAÇÃO DATA DATA HORA DA INÍCIO DO ANO JULIANA SIDERAL T.U. SEMANA DO ANO TRÓPICO 2450000+ 2460000+ CALENDÁRIO, 2015 7 A JAN. 0 QUARTA -1-0.0018 7022.5 3750.3 1 QUINTA 0 +0.0009 7023.5 3751.3 2 SEXTA 1 +0.0037 7024.5 3752.3 3 SÁBADO 2 +0.0064 7025.5 3753.3 4 DOMINGO 3 +0.0091 7026.5 3754.3 5 SEGUNDA

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Funções Classes de armazenamento

Leia mais

Programando em C++ Histórico da Linguagem C

Programando em C++ Histórico da Linguagem C Programando em C++ Joaquim Quinteiro Uchôa joukim@comp.ufla.br DCC-UFLA, 2002 Programando em C++ p.1/38 Histórico da Linguagem C Linguagem C: 1972 - Laboratório Bells, por Dennis Ritchie, a partir da linguagem

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Programação Estruturada I

Programaçã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 mais

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i). Cast (conversão) Um tipo de dado pode ser convertido momentaneamente em outro tipo com um cast. Em linguagem C a sintaxe usada é formada pelo tipo desejado entre parênteses precedendo a expressão a ser

Leia mais

Estrutura Condicional em Java

Estrutura Condicional em Java Estrutura Condicional em Java Linguagem de Programação 1 O Java contém três tipos de instruções de seleção. A instrução if realiza uma ação se uma condição for verdadeira ou pula a ação se a condição for

Leia mais

DELEGACIA REGIONAL TRIBUTÁRIA DE

DELEGACIA REGIONAL TRIBUTÁRIA DE Fatores válidos para recolhimento em 01/08/2016 JANEIRO 3,3714 3,2396 3,0166 2,8566 2,6932 2,5122 2,3076 2,1551 1,9790 1,8411 1,7203 1,5947 FEVEREIRO 3,3614 3,2158 3,0021 2,8464 2,6807 2,4939 2,2968 2,1429

Leia mais

Conversão de Tipos e Arrays

Conversão de Tipos e Arrays Conversão de Tipos e Arrays Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Conversão de Tipos Permite converter

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Aula 38 Prof. Daniel Cavalcanti Jeronymo Declaração de tipos (typedef). Tipos enumerados (enum). Registros (struct). Uniões (union). Universidade Tecnológica Federal do

Leia mais

TABELA PRÁTICA PARA CÁLCULO DOS JUROS DE MORA ICMS ANEXA AO COMUNICADO DA-46/12

TABELA PRÁTICA PARA CÁLCULO DOS JUROS DE MORA ICMS ANEXA AO COMUNICADO DA-46/12 JANEIRO 2,7899 2,6581 2,4351 2,2751 2,1117 1,9307 1,7261 1,5736 1,3975 1,2596 1,1388 1,0132 FEVEREIRO 2,7799 2,6343 2,4206 2,2649 2,0992 1,9124 1,7153 1,5614 1,3860 1,2496 1,1288 1,0032 MARÇO 2,7699 2,6010

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção

Leia mais

Estrutura switch if-else switch switch switch if-else-if switch switch case default break switch switch break Observações: case

Estrutura switch if-else switch switch switch if-else-if switch switch case default break switch switch break Observações: case Estrutura switch. O comando if-else e o comando switch são os dois comandos de tomada de decisão. Sem dúvida alguma o mais importante dos dois é o if, mas o comando switch tem aplicações valiosas. Sua

Leia mais

Estrutura de Dados. Prof. Gustavo Willam Pereira. Créditos: Profa. Juliana Pinheiro Campos

Estrutura de Dados. Prof. Gustavo Willam Pereira. Créditos: Profa. Juliana Pinheiro Campos Estrutura de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos ESTRUTURAS DE DADOS Ementa Introdução à Linguagem C. Recursividade. Alocação dinâmica de memória. Conceito de tipos

Leia mais

GDOC INTERESSADO CPF/CNPJ PLACA

GDOC INTERESSADO CPF/CNPJ PLACA Fatores válidos para recolhimento em 01/02/2017 JANEIRO 3,4634 3,3316 3,1086 2,9486 2,7852 2,6042 2,3996 2,2471 2,0710 1,9331 1,8123 1,6867 FEVEREIRO 3,4534 3,3078 3,0941 2,9384 2,7727 2,5859 2,3888 2,2349

Leia mais

MC-102 Algoritmos e Programação de Computadores IC-UNICAMP. Aula 21 - Registros. Por: Luís Augusto Angelotti Meira (Sala IC-71) 1S2005

MC-102 Algoritmos e Programação de Computadores IC-UNICAMP. Aula 21 - Registros. Por: Luís Augusto Angelotti Meira (Sala IC-71) 1S2005 MC-102 Algoritmos e Programação de Computadores IC-UNICAMP Esta aula foi baseada em [1]. Aula 21 - Registros Por: Luís Augusto Angelotti Meira (Sala IC-71) 1S2005 1 Objetivos Conceituar tipos de dados

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 08 Busca em Vetor Edirlei Soares de Lima Busca em Vetor Problema: Entrada: vetor v com n elementos; elemento d a procurar; Saída: m se o elemento procurado

Leia mais

Desenvolvimento OO com Java Orientação a objetos básica

Desenvolvimento OO com Java Orientação a objetos básica Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza (vitor.souza@ufes.br) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal

Leia mais

Estruturas de Dados. Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos

Estruturas de Dados. Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos Estruturas de Dados Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos Estruturas de Dados Programação de Computadores 1 de 26 Tipos Estruturados de Dados

Leia mais

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.

ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE. PROGRAMAÇÃ ÇÃO COM OBJECTOS TUDO É UM OBJECTO Programação com Objectos ÍNDICE Introdução aos objectos Polimorfismo TUDO É UM OBJECTO Interface e classes internas Instruções de controlo Guardar os objectos

Leia mais

Algoritmos e Programação II. Sobrecarga

Algoritmos e Programação II. Sobrecarga Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque

Leia mais

1 Funções básicas de implementação de arquivos

1 Funções básicas de implementação de arquivos 1 Funções básicas de implementação de arquivos 1.1 Definindo registros Depois de um objeto do mundo real ter sido modelado, ou seja, após seus atributos importantes (e relevantes) terem sido identificados,

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

Leia mais

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética 2 PARADIGMA IMPERATIVO 2.1 CONCEITO As linguagens que pertencem ao paradigma imperativo tomam por base a perspectiva da máquina. Ou seja, no modo como o computador executa programas em linguagem de máquina.

Leia mais

Module Introduction. Programação. Cap. 10 Estruturas (Structs)

Module Introduction. Programação. Cap. 10 Estruturas (Structs) 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação 9099 : Bioengenharia 10135 : Ciências Biomédicas Cap. 10 Estruturas () Module Introduction Sumário: Taxonomia de tipos de dados

Leia mais

float vantagem(float candidato[], float concorrente[], int n);

float vantagem(float candidato[], float concorrente[], int n); Questão 1 [Valor: 3,0 pontos] O candidato a um cargo eletivo contratou um instituto de pesquisa de opinião para acompanhar seu desempenho durante a campanha eleitoral. Esse instituto realizou n pesquisas

Leia mais

Sistemas de Apoio à Decisão

Sistemas de Apoio à Decisão Sistemas de Apoio à Decisão Processo de tomada de decisões baseia-se em informação toma em consideração objectivos toma em consideração conhecimento sobre o domínio. Modelar o processo de tomada de decisões

Leia mais

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Introduçã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 mais

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEFINIDOS PELO USUÁRIO Prof. Protásio DEE UFPB 1 Estruturas É uma coleção de variáveis que são referenciadas sob um único nome. Uma estrutura fornece

Leia mais

Algoritmos e Programação Estruturada

Algoritmos 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 mais

5 Apresentando a linguagem C

5 Apresentando a linguagem C 5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,

Leia mais

INF 1620 P1-10/04/02 Questão 1 Nome:

INF 1620 P1-10/04/02 Questão 1 Nome: INF 1620 P1-10/04/02 Questão 1 Considere uma disciplina que adota o seguinte critério de aprovação: os alunos fazem duas provas (P1 e P2) iniciais; se a média nessas duas provas for maior ou igual a 5.0,

Leia mais

DEMONSTRATIVO DE CÁLCULO DE APOSENTADORIA - FORMAÇÃO DE CAPITAL E ESGOTAMENTO DAS CONTRIBUIÇÕES

DEMONSTRATIVO DE CÁLCULO DE APOSENTADORIA - FORMAÇÃO DE CAPITAL E ESGOTAMENTO DAS CONTRIBUIÇÕES Página 1 de 28 Atualização: da poupança jun/81 1 133.540,00 15,78 10,00% 13.354,00 10,00% 13.354,00 26.708,00-0,000% - 26.708,00 26.708,00 26.708,00 jul/81 2 133.540,00 15,78 10,00% 13.354,00 10,00% 13.354,00

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Linguagem de Programação C 2 1 Linguagem de Programação C Os programas em C consistem em

Leia mais

Princípios de programação em Linguagem C++

Princípios de programação em Linguagem C++ Universidade Federal de Santa Maria Departamento de Eletrônica e Computação Prof. Cesar Tadeu Pozzer Princípios de programação em Linguagem C++ 1 Introdução A Linguagem C++ é uma extensão da linguagem

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para

Leia mais

Estruturas compostas

Estruturas compostas Estruturas compostas Estruturas são um tipo de dados definido pelo programador, capaz de armazenar, sob um msmo nome de variável, diversos dados inter-relacionados e possivelmente de tipos diferentes.

Leia mais

Linguagem de Programação C

Linguagem de Programação C ICMC USP Linguagem de Programação C Aula: Funções em C Prof Alneu de Andrade Lopes MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente em vários subproblemas MODULARIZAÇÃO

Leia mais

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

PRÓ-TRANSPORTE - MOBILIDADE URBANA - PAC COPA 2014 - CT 318.931-88/10

PRÓ-TRANSPORTE - MOBILIDADE URBANA - PAC COPA 2014 - CT 318.931-88/10 AMPLIAÇÃO DA CENTRAL DE Simpl Acum Simpl Acum jul/10 a jun/11 jul/11 12 13 (%) (%) (%) (%) 1.72.380,00 0,00 0,00 0,00 361.00,00 22,96 22,96 1/11 AMPLIAÇÃO DA CENTRAL DE ago/11 Simpl Acum Simpl Acum Simpl

Leia mais

O COMPUTADOR. Introdução à Computação

O COMPUTADOR. Introdução à Computação O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:

Leia mais

PRÓ-TRANSPORTE - MOBILIDADE URBANA - PAC COPA 2014 - CT 318.931-88/10

PRÓ-TRANSPORTE - MOBILIDADE URBANA - PAC COPA 2014 - CT 318.931-88/10 AMPLIAÇÃO DA CENTRAL DE Simpl Acum Simpl Acum jul/10 a jun/11 jul/11 12 13 (%) (%) (%) (%) 0,00 0,00 0,00 0,00 0,00 0,00 1/11 AMPLIAÇÃO DA CENTRAL DE ago/11 Simpl Acum Simpl Acum Simpl Acum 14 set/11 15

Leia mais

Introdução à Programação. Programação Imperativa (Registros X Classes e Métodos Nativos )

Introdução à Programação. Programação Imperativa (Registros X Classes e Métodos Nativos ) Introdução à Programação Programação Imperativa (Registros X Classes e Métodos Nativos ) Tópicos da Aula Hoje aprenderemos como podemos modelar algo parecido com classes em linguagens imperativas Tipos

Leia mais

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa

Leia mais

UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO UNIVERSITÁRIO NORTE DO ESPÍRITO SANTO

UNIVERSIDADE 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 mais

Linguagem de Programação I. Orientação a Objetos em Java

Linguagem de Programação I. Orientação a Objetos em Java Linguagem de Programação I Orientação a Objetos em Java Roteiro Introdução Classes e Objetos Declaração de Classes e Instanciação de um Objeto de uma Classe Declarando métodos com parâmetros Atributos,

Leia mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4 INF1 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4 1. Considere uma aplicação que utiliza pontos, retângulos e círculos para representações gráficas. Um ponto é composto pelas suas coordenadas x e y, um retângulo

Leia mais

Introdução à Engenharia ENG1000

Introdução à Engenharia ENG1000 Introdução à Engenharia ENG1000 Aula 14 Vetores, Matrizes e Tabelas 2016.1 Prof. Augusto Baffa Introdução Até agora nós temos usado variáveis simples para armazenar valores usados

Leia mais

Conceitos básicos da linguagem C

Conceitos 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 mais

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1: Inteligência É a faculdade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. Henri Bergson. WHILE Além dos comandos if-else e switch, o controle de fluxo de um programa pode

Leia mais

Resumo da última aula. Compiladores. Tipos. Regras semânticas. Expressões de tipos. Análise Semântica e checagem de tipos.

Resumo da última aula. Compiladores. Tipos. Regras semânticas. Expressões de tipos. Análise Semântica e checagem de tipos. Resumo da última aula Compiladores Análise semântica Verificação de tipos 1 Implementação: Esquemas S-atribuídos: Mecanismo bottom-up direto Esquemas L-atribuídos: Mecanismo top-down: Necessita gramática

Leia mais

I Semana de Software Livre da USP Dojo C

I Semana de Software Livre da USP Dojo C I Semana de Software Livre da USP Dojo C CCSL PoliGNU-USP MasterMind 25 de abril de 2012 1 Introdução O MasterMind é um jogo cujo objetivo é descobrir um número de 5 dígitos em 10 tentativas. A cada tentativa,

Leia mais

Q1 Q2 Q3 Nota. Departamento de Informática - PUC-Rio INF 1005 Programação I P2 20/10/2010. Aluno: Exemplo (apenas um exemplo!):

Q1 Q2 Q3 Nota. Departamento de Informática - PUC-Rio INF 1005 Programação I P2 20/10/2010. Aluno: Exemplo (apenas um exemplo!): Matrícula: Departamento de Informática - PUC-Rio Turma: Q1 Q2 Q3 Questão 1) (3.0 pontos) Uma empresa permite que seus funcionários façam chamadas internacionais a partir de seus ramais, mas mantém um registro

Leia mais

Algoritmos e Técnicas de

Algoritmos e Técnicas de INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Algoritmos e Técnicas de Programação Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Tipos de dados Os programas manipulam dados, armazenando-os

Leia mais

9 Comandos condicionais

9 Comandos condicionais 9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em

Leia mais

Tipos de Dados Avançados Vetores e Matrizes

Tipos de Dados Avançados Vetores e Matrizes SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Tipos de Dados Avançados Vetores e Matrizes Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br

Leia mais

Curso Prático de C++

Curso Prático de C++ Sumário Autor: Prof. Luiz Bianchi Universidade Regional de Blumenau FUNDAMENTOS... 3 Declaração de variáveis... 4 Tipos de dados... 4 Operador de atribuição... 5 Comentários... 5 Tipos modificados... 6

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Tipos de Dados Simples

Tipos de Dados Simples Programação 11543: Engenharia Informática 6638: Tecnologias e Sistemas de Informação Cap. 3 Tipos de Dados Simples Tipos de Dados Simples Objectivos: Hierarquia de tipos de dados Tipos de dados simples

Leia mais

Capítulo 2: Introdução à Linguagem C

Capí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 mais

Instituto de desenvolvimento educacional de Angola IDEIA SECRETARIA ACADÊMICA

Instituto de desenvolvimento educacional de Angola IDEIA SECRETARIA ACADÊMICA Instituto de desenvolvimento educacional de Angola IDEIA SECRETARIA ACADÊMICA Curso de Especialização MBA Gestão Estratégica em Tecnologia da Informação ANO MÊS CRONOGRAMA Dia Data Disciplina ch seg 07/09/15

Leia mais

Aula 14: Instruções e Seus Tipos

Aula 14: Instruções e Seus Tipos Aula 14: Instruções e Seus Tipos Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Instruções e Seus Tipos FAC 1 / 35 Conceitos Básicos Diego Passos

Leia mais

Estruturas de Dados Aula 15: Árvores 17/05/2011

Estruturas de Dados Aula 15: Árvores 17/05/2011 Estruturas de Dados Aula 15: Árvores 17/05/2011 Fontes Bibliográficas Livros: Introdução a Estruturas de Dados (Celes, Cerqueira e Rangel): Capítulo 13; Projeto de Algoritmos (Nivio Ziviani): Capítulo

Leia mais

Como o FIT funciona. FIT: Framework for Integrated Tests FIT. http://fit.c2.com. Dados de testes. Programa. Fixtures. classes. Resultados de testes

Como o FIT funciona. FIT: Framework for Integrated Tests FIT. http://fit.c2.com. Dados de testes. Programa. Fixtures. classes. Resultados de testes Como o FIT funciona FIT: Framework for Integrated Tests http://fit.c2.com Dados de testes Fixtures Programa classes FIT Resultados de testes Universidade Portucalense Engenharia de Software ES04 2014-2015

Leia mais

Plano de Aula. if(condição) { bloco de comandos; } else { bloco de comandos2; }

Plano de Aula. if(condição) { bloco de comandos; } else { bloco de comandos2; } Instituto Federal de Santa Catarina - Câmpus Chapecó Ensino Médio Integrado em Informática - Módulo IV Unidade Curricular: Programação Estruturada Professora: Lara Popov Zambiasi Bazzi Oberderfer Plano

Leia mais

INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1

INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1 INFORMÁTICA E COMPUTAÇÃO CMP 1060 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1 Os programas que vimos até agora têm a seguinte estrutura: main( ) declarações instrução 1 instrução 2 instrução 3... instrução

Leia mais

Métodos Computacionais. Fila

Métodos Computacionais. Fila Métodos Computacionais Fila Definição de Fila Fila é uma estrutura de dados dinâmica onde: Inserção de elementos se dá no final e a remoção no início O primeiro elemento que entra é o primeiro que sai

Leia mais

COMO PROGRAMAR SEU TIME

COMO PROGRAMAR SEU TIME COMO PROGRAMAR SEU TIME 1) INSTALAÇÃO: Instale o simulador da categoria SIMUROSOT da FIRA. O simulador é gratuito e está disponível para download no site da FIRA (www.fira.net) ou no site da competição

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

Guia de Consulta Rápida C++ STL. Joel Saade. Novatec Editora

Guia de Consulta Rápida C++ STL. Joel Saade. Novatec Editora Guia de Consulta Rápida C++ STL Joel Saade Novatec Editora Guia de Consulta Rápida C++ STL de Joel Saade Copyright 2006 da Novatec Editora Ltda. Todos os direitos reservados. É proibida a reprodução desta

Leia mais

Estruturas de repetição (Ciclos)

Estruturas de repetição (Ciclos) Introdução Vamos começar por tentar resolver os seguintes exercícios com base nos conhecimentos Que já temos até agora. Problema 1: Escreva um programa em ANSI-C que escreve os primeiros 10 números inteiros

Leia mais

Algoritmos e Programação usando a Linguagem C. Prof. MSc. Renato Afonso Cota Silva

Algoritmos e Programação usando a Linguagem C. Prof. MSc. Renato Afonso Cota Silva Algoritmos e Programação usando a Linguagem C Prof. MSc. Renato Afonso Cota Silva 1 2 Aula 1 Introdução à Linguagem C... 4 1.1 Introdução... 4 1.2 Fundamentos da Linguagem... 5 1.3 Comandos de Entrada

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais