9. Estruturas em C Registros

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

Download "9. Estruturas em C Registros"

Transcrição

1 9. Estruturas em C Registros Unesp Campus de Guaratinguetá Curso: Programação de Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 1 9. Estrutura Até o presente momento os nossos dados eram armazenados ou através de variáveis simples do tipo char, int, float ou double, ou através de conjuntos de valores do mesmo tipo, relacionados em vetores. As Estruturas em C correspondem aos Registros em outra linguagens. Registros são Estruturas que podem agrupar diferentes tipos de informações (dados). Então, uma uma Estrutura é um conjunto de uma ou mais variáveis agrupadas sob um único nome. 2

2 9. Estrutura Então as estruturas podem conter elementos de qualquer tipo de dados tais como int, char, float, double, ponteiros, vetores, matrizes, strings ou mesmo outras estruturas. As componentes armazenadas dentro de uma Estrutura também são chamadas de campos ou membros. As Estruturas (Registros) são chamadas de variáveis compostas heterogêneas, pois elas são compostas de vários campos e cada campo pode ser de um tipo diferente de dados Estrutura: Declaraçã ção - Struct A declaração de Estruturas é feita através da seguinte sintaxe: Formato da declaração: struct nome_da_estrutura ; tipo_1 dado_1; tipo_2 dado_2;... tipo_n dado_n; A estrutura pode agrupar um número arbitrário de dados de tipos diferentes Pode-se nomear a estrutura para referenciá-la. 4

3 9.1 Estrutura: Declaraçã ção - Struct A declaração de uma estrutura corresponde somente à definição de um novo tipo (isto é, da sua estrutura). Nela não está implícita a declaração de variáveis do tipo estrutura. Exemplo 1: Suponha que queiramos armazenar os dados relativos a um individuo, como mostrado a seguir: int idade; char Nome[60]; char est_civil,sexo; struct Dados int idade; char est_civil, sexo, nome[20]; pessoa; Não esquecer do ponto-e-vírgula! Estrutura: Declaraçã ção - Struct A definição da estrutura Dados (struct Dados) indica que a partir daquele momento o compilador passa a conhecer um outro tipo, chamado struct Dados, que é composto por um inteiro, dois caracteres e um vetor de 20 caracteres. E uma variável pessoa do tipo Dados pessoa idade est_civil sexo nome[20] pessoa.idade pessoa.est_civil pessoa.sexo pessoa.nome Ou seja, Dados não é uma variável e sim o nome pelo qual é conhecido o novo tipo de dados. Cada um dos elementos de Dados é denominada campo. 6

4 9.1 Estrutura: Declaraçã ção - Struct struct Dados int idade; char est_civil, sexo; char nome[20]; pessoa; Nome do novo tipo de dado Campo idade do tipo int Campo estado civil e sexo do tipo char Campo nome do tipo string Variável do tipo Dados Estrutura: Declaraçã ção - Struct e Variáveis A declaração de variáveis do tipo estrutura pode ser feita no momento em que se faz a definição da própria estrutura struct nome_da_estrutura tipo_1 dado_1; tipo_2 dado_2;... tipo_n dado_n; lista de variáveis; Pode-se também declarar uma variável do tipo estrutura usando o struct. No exemplo anterior a declaração da variável pessoa poderia ser feita do seguinte modo: struct Dados pessoa; ondepessoa é a variável do tipostruc Dados 8

5 9.1 Estrutura: Declaraçã ção - Struct e Variáveis A definição de uma estrutura pode ser feita sem indicar o seu nome, mas nesses caso, todas as variáveis desta estruturas tem que ser declaradas no momento da definição. Ex: struct int dia; char mes[15]; int hora; data_vest2, dat_vest1; No exemplo acima, não foi dado um nome para a estrutura, mas isso não tem problema porque as variáveis dat_vest1 e data_vest2 foram declaradas junto da definição da estrutura Estrutura: Declaraçã ção - Struct e Variáveis Exemplo 2: Faça uma estrutura para armazenar as coordenadas (x,y) de um ponto: Declaração: struct ponto y 3 p1(x, y) int x; int y; p1, p2; 1 p2(x, y) 2 4 x A estrutura contém dois inteiros, x e y p1 e p2 são duas variáveis tipo ponto contendo duas coordenadas cada. 10

6 9.2 Estrutura: Acesso aos dados da Estrutura. Para se acessar um membro qualquer de uma estrutura usa-se o operador ponto (.) Por ex: p1.x, p1.y Exemplo 3: struct int x; int y; p1, p2; p1.x = 2.0; p1.y = 1.0; p2.x = 4.0; p2.y = 3.0; Neste exemplo, foram atribuídos à variável p1 (ao ponto p1 ) os valores de coordenadas 2.0 e 1.0. E à variável p2 (ao ponto p2) foram atribuídos os valores de coordenadas 4.0 e Estrutura: Acesso aos dados da Estrutura. Exemplo 4 : Criar uma estrutura capaz de armazenar datas com 3 campos (dia, ano e mês) em que cada campo é de um tipo diferente. struct Data int Dia, Ano; char Mes[20]; ; #include <stdio.h> struct Data int Dia, Ano; char Mes[20];; struct Data d1; printf( Entre com o dia: ); scanf( %d,&d1.dia); fflush(stdin); printf( Entre com o mes: ); gets(d1.mes); printf( Entre com o ano: ); scanf( %d,&d1.ano); printf( A data digitada e: ); printf( %d/%s,d1.dia,d1.mes); printf( /%d\n,d1.ano); 12

7 9.2 Estrutura: Acesso aos dados da Estrutura. OBS: No Exemplo 4, a variável d1 é do tipo Data e uma informação pertencente a um dado campo da estrutura Data é acessada utilizando-se o ponto., isto é: d1.dia d1.mes d1.ano Estrutura: Carga Inicial Automática tica Uma Estrutura pode ser iniciada quando ela é declarada. Para tanto, usa-se a seguinte sintaxe: struct nome_estrutura variavel = valor1, valor2,..., valorn Coloca-se entre chaves os valores dos membros da estrutura, pela ordem em que eles foram escritos na sua definição Exemplo 5: struct Data d1 = 23, 58, Jun ; Neste exemplo a variável d1.dia vai receber o valor 23. A variável d1.ano recebe o valor 58 e a variável d1.mes recebe o valor Jun. 14

8 9.3 Estrutura: Carga Inicial Automática Exemplo 6 Inicialização #include <stdio.h> #include <stdlib.h> struct Data int Dia, Ano; char Mes[20];; struct Data d1 = 23,67, Jan ; printf( Data inicial e: ); printf( %d/%s,d1.dia,d1.mes); printf( /%d\n,d1.ano); printf( Entre com o dia: ); scanf( %d,&d1.dia); fflush(stdin); printf( Entre com o mes: ); gets(d1.mes); printf( Entre com o ano: ); scanf( %d,&d1.ano); printf( A data digitada e: ); printf( %d/%s,d1.dia,d1.mes); printf( /%d\n,d1.ano); system( pause ); Estrutura: Carga Inicial Automática tica 16

9 9.4 Estruturas: typedef Todas as vezes em que se for declarar uma variável do tipo estrutura fora do local de definição da mesma, é necessário colocar antes do nome da variável a palavra reservada struct seguida do nome da estrutura. Ex: struct Data d1; declaraçaõ da variável d1 Existe uma outra maneira de se declarar uma variável do tipo estrutura, utilizando uma palavra sinônimo para a estrutura. Isto é feito através da palavra reservada typedef, cuja sintaxe é: typedef tipo_existente sinônimo OBS: A palavra typedef não cria um novo tipo, ela apenas permite que um determinado tipo possa ser denominado de forma diferente Estruturas: typedef Ex: typedef struct Data Dt d1; Dt; OBS: Neste exemplo foi criado o sinônimo Dt para o tipo struct Data. Deste modo, a declaração da variável d1 foi feita utilizando esse sinônimo. A utilização da palavra reservada typedef não se limita apenas as estruturas, ela estabelece um sinônimo para qualquer conjunto de palavras, por ex: typedef float real; O tipo float passa também a ser representado pela palavra real. Pode-se então declarar uma variável utilizando as duas palavras: float e real. 18

10 9.4 Estruturas: typedef Pode-se também empregar a palavra reservada typedef junto com a definição da estrutura: typedef struct Data int Dia, Ano; char Mes[20]; Dt; Typedef define que o sinônimo de struct Data... é a palavra Dt. Dt d1; d1.dia = 26; d1.mes = Jan ; d1.ano = 93; Não é necessário empregar a palavra struct Data e sim apenas Dt Estruturas: typedef A seguir são ilustradas as três formas possíveis para se declarar um novo tipo Data utilizando struct com ou sem typedef: struct Data int Dia, Ano; char Mes[20]; ; struct Data d1; d1.dia = 26; d1.mes = Jan ; d1.ano = 93; struct Data int Dia, Ano; char Mes[20]; ; typedef struct Data Dt; Dt d1; d1.dia = 26; d1.mes = Jan ; d1.ano = 93; typedef struct Data int Dia, Ano; char Mes[20]; Dt; Dt d1; d1.dia = 26; d1.mes = Jan ; d1.ano = 93; 20

11 9.4 Estruturas: typedef Exemplo 7 Atribuições #include <stdio.h> typedef struct Data int Dia, Ano; char Mes[20]; Dt; int n_dias; Dt d2, d1 = 23, 67, Jan ; printf( Data inicial e: ); printf( %d/%s/%d\n,d1.dia,d1.mes,d1.ano); d2 = d1; printf( Entre com n. de dias: ); scanf( %d,&n_dias); d2.dia = d1.dia + n_dias; printf( A nova data e: ); printf( %d/%s/%d\n,d2.dia,d2.mes,d2.ano); Problema: 31/12/1999 -> 32/12/1999? Atribuição de valores entre estruturas: d2 = d1; Equivale à: d2.dia = d1.dia; d2.mes = d1.mes; d2.ano = d2.ano; Observe que para vetor e matriz a atribuição é sempre feita elemento por elemento! Novos Tipos: funçõ ções + struct Em 1582, Gregório XIII: Nova definição para ano bissexto Calendário Gregoriano , Cada 4 anos + 1 dia Cada 100 anos - 1 dia Cada 400 anos + 1 dia 22

12 9.5 Novos Tipos: funçõ ções + struct (a) Não divisível por 100 e divisível por 4. (b) Divisível por 100 e 400. (c) Os demais anos não são Bissextos. Em 1582, Gregório XIII: Nova definição para ano bissexto Calendário Gregoriano Ano Bissexto Algoritmo Se resto(ano/100) é 0 Se (ano/400) é 0 então bissexto; (b) Senão não_bissexto; (c) Senão Se resto(ano/4) é 0 então bissexto; (a) Senão não_bissexto; (c) OBSERVAÇÃO: Subtrair 1 dia do calendário a cada 3300 anos Novos Tipos: funçõ ções + struct Exemplo 8 Funções + struct #include <stdio.h> #include <stdlib.h> typedef struct Data int Dia, Mes, Ano;Data; // Protótipos das funções. void printdata(data di); int bissexto(int ano); Data adddia(data di, int ndias); // Função principal. int ndias; Data d2, d1 = 31,12,1999; printf("data inicial e:"); printdata(d1); d2 = d1; printf("entre com n. de dias:"); scanf("%d",&ndias); d2 = adddia(d1, ndias); printf("a nova data e:"); printdata(d2); Fazer um programa que dado uma data e um certo numero de dias, ele imprime a nova data. 24

13 9.5 Novos Tipos: funçõ ções + struct // Função que imprime uma data. CONTINUAÇÃO - Exemplo 8 void printdata(data di) printf("%d/%d/", di.dia,di.mes); printf("%d\n", di.ano); // Função para adicionar dias na data. Data adddia(data di, int ndias) int auxd, TRUE = 1; auxd = di.dia + ndias; while (TRUE) if ((di.mes == 1) (di.mes == 3) (di.mes == 5) (di.mes == 7) (di.mes == 8) (di.mes == 10) (di.mes == 12)) if (auxd <= 31) break; else auxd = auxd -31; else if((di.mes == 4) (di.mes == 6) (di.mes == 9) (di.mes == 11)) if (auxd <= 30) break; else auxd = auxd - 30; else if (di.mes == 2) if (bissexto(di.ano)) if (auxd <= 29) break; else auxd = auxd - 29; else if (auxd <= 28) break; else auxd = auxd - 28; // Acréscimo no mês. CONTINUAÇÃO - Exemplo 8 di.mes = di.mes + 1; // Verifica se ultrapassa 12 meses. if (di.mes > 12) di.ano = di.ano + 1; di.mes = 1; // Fim do while. di.dia = auxd; return di; //Função verifica se O ano é bissexto (retorna 1 ou não (0)) int bissexto(int ano) if (ano % 100 == 0) if (ano % 400 == 0) return 1; else return 0; else if (ano % 4 == 0) return 1; else 9.5 Novos Tipos: funçõ ções + struct return 0; 26 26

14 9.5 Novos Tipos: funçõ ções + struct Exemplo 9: Fazer um programa que realize o cadastro de contas bancarias com as seguintes informações: Numero da conta, nome do cliente e saldo. O banco permitirá o cadastramento de apenas 15 e não pode haver mais de uma conta com o mesmo numero. Crie o menu de opções a seguir: Menu de Opções: 1. Cadastrar contas 2. Visualizar todas as contas 3. Excluir a conta com menor saldo(suponha que não tem saldos iguais) 4. Sair Estrutura: Exemplos Resolvidos Exemplo 9- Solução: O esquema de resolução deste problema é o seguinte: 1) Fazer um laço com o comando do-while. 2) Dentro deste laço, apresentar o menu de opções e pedir para escolher uma opção. Menu de Opções: 1. Cadastrar contas 2. Visualizar todas as contas 3. Excluir a conta com menor saldo(suponha que não tem saldos iguais) 4. Sair 28

15 9.6 Estrutura: Exemplos Resolvidos 3) Se (opçao = 1), pedir para digitar o número da conta, verificar se esta conta já está cadastrada. Se ela estiver cadastrada escrever uma mensagem. Senão, verificar se a conta pode ser cadastrada e a seguir cadastrá-la.voltar no inicio do do-while. 4) Se (opçao = 2), verificar se esta conta existe. Se ela existir, mostrar a conta. Senão escrever mensagem dizendo que a conta não existe. Voltar no inicio do do-while 5) Se (opçao = 3), procurar entre as contas cadastradas aquela que tem o menor saldo, achar a posição que ela ocupa no vetor de cadastro, apaga-la, reposicionar as demais contas no vetor de cadastro, e voltar no inicio do do-while. 6) Se (opçao = 4), sair do laço e encerrar o programa. A seguir está mostrado o programa deste exemplo Estrutura: Exemplos Resolvidos #include <conio.h> #include <string.h> #include <stdio.h> Exemplo 9 #include <stdlib.h> struct int num; char nome[35]; float saldo; conta[15]; int i,j, op, posi, achou, num_conta; float saldo_cliente, menor_saldo; char nome_cliente[35]; for (i=0;i<15;i++) conta[i].num = 0; strcpy(conta[i].nome,"\0"); conta[i].saldo = 0; 30

16 9.6 Estrutura: Exemplos Resolvidos do //Inicio laço principal system("cls"); Exemplo 9 printf("\nmenu de Op äes"); printf("\n1 - Cadastrar contas"); printf("\n2 - Visualizar todas as contas de um determinado cliente"); printf("\n3 - Excluir conta de menor saldo"); printf("\n4 - Sair"); printf("\ndigite sua op Æo "); scanf("%d",&op); if ((op < 1) (op > 4)) printf("\nop Æo Inv lida"); if (op == 1) achou = 0; printf( "\ndigite o n mero da conta a ser inclu da "); scanf("%d",&num_conta); Estrutura: Exemplos Resolvidos //Verifica se esta conta já esta cadastrada fflush(stdin); for (i=0;i<15;i++) if (num_conta == conta[i].num) achou = 1; if (achou == 1) printf("\nj existe conta cadastrada com este n mero"); else // cadastrar a conta posi = -1; j = 0; while (j < 15)// Verifica se pode cadastrar if (conta[j].num == 0) posi = j; j = 15; j++; // Fim while if (posi == -1) printf("\nimposs vel cadastrar novas contas"); 32 32

17 9.6 Estrutura: Exemplos Resolvidos else printf("\ndigite o nome do cliente "); gets(nome_cliente); fflush(stdin); printf("\ndigite o saldo do cliente "); scanf("%f",&saldo_cliente); conta[posi].num = num_conta; strcpy(conta[posi].nome,nome_cliente); conta[posi].saldo = saldo_cliente; printf( "\nconta cadastrada com sucesso"); // Fim else cadastrar conta getch(); //Fim if (op==1) fflush(stdin); if (op == 2) printf( "\ndigite o nome do cliente a ser consultado "); gets(nome_cliente); achou = 0; Estrutura: Exemplos Resolvidos if (op == 2) printf( "\ndigite o nome do cliente a ser consultado "); gets(nome_cliente); achou = 0; for (i=0;i<15;i++) if (stricmp(conta[i].nome,nome_cliente) == 0) printf( "\nn mero conta: %d Saldo:%.2f ", conta[i].num, conta[i].saldo); achou = 1; // Fim for if (achou == 0) printf("\nnæo existe conta cadastrada para este cliente"); getch(); // Fim if (op==2) 34 34

18 9.6 Estrutura: Exemplos Resolvidos if (op == 3) i = 0; achou = 0; while (i < 15) if (conta[i].num!= 0) if (i==0) menor_saldo = conta[i].saldo; posi = i; else if (conta[i].saldo < menor_saldo) menor_saldo = conta[i].saldo; posi = i; achou = 1; i++; // Fim while if (achou == 0) printf( "\nnenhuma conta foi cadastrada"); else // excluir a conta for (i=posi;i<14;i++) conta[i] = conta[i+1]; Estrutura: Exemplos Resolvidos conta[i].num = 0; strcpy(conta[i].nome,"\0"); conta[i].saldo = 0; printf("\nconta exclu da com sucesso"); // Fim else excluir a conta getch(); // Fim if (op==3) while (op!=4); //Fim laço principal // Fim programa 36

19 9.6 Estrutura: Exemplos Resolvidos Exemplo 10 Polinômio Fazer um programa que leia os coeficientes de um polinômio P(x), imprima e calcule seu valor num ponto x (fornecido pelo usuário), e encontre os coeficientes do polinômio Q(x). Utilize uma função para ler o polinômio, outra para imprimí-lo e outra para calcular o seu valor no ponto x Estrutura: Exemplos Resolvidos #include <stdio.h> #include <stdlib.h> typedef struct Pol float v[101]; int n; int init;pol; // Protótipos das funções. void printpol(pol px); Pol initpol(pol px); float valor_pol(pol px, float x); Pol calcpol(pol px, float x); // Função principal. Pol p, p2; float ponto; printf("iniciando p:"); p = initpol(p); p2 = p; printf("em que ponto você deseja calcular o polinomio?"); scanf("%f",&ponto); printf("\n Mostrando p:"); printpol(p); printf("p(x=%.2f)=%.2f\n",ponto,valor_pol(p,ponto)); p2 = calcpol(p,ponto), printf("\n Mostrando p2:"); printpol(p2); system("pause"); Exemplo

20 9.6 Estrutura: Exemplos Resolvidos // Função de impressão de px. void printpol(pol px) int i; //Se o polinômio foi inicializado. if (px.init) for (i=px.n; i >= 0; i--) printf("\nc[%d]=%.2f",i,px.v[i]); printf("\n"); else printf("inicialize px! \n"); // Função de leitura de px. Pol initpol(pol px) int i; px.init = 1; printf("\ninsira grau px <= 100:"); scanf("%d",&px.n); for (i=0; i <= px.n; i++) printf("entre com c[%d]:",i); scanf("%f",&px.v[i]); return px; Estrutura: Exemplos Resolvidos // Função que calcula o valor de px. float valor_pol(pol px, float x) int i, n = px.n; float y; if (n == 0) y = px.v[0]; else // Usando algoritmo de Briott-Rufini. y = px.v[n-1] + px.v[n]*x; for (i=n-2; i >= 0; i--) y = px.v[i] + x*y; return y; 40

21 9.6 Estrutura: Exemplos Resolvidos // Função que acha o polinomio Q(x)- Quociente da //divisão de P(x)/(x-x1) Pol calcpol(pol px, float x) //Pol pz; int i, n = px.n; Pol pz; pz = px; if (n == 0) pz.v[0]= px.v[0]; else // Usando algoritmo de Briott-Rufini. pz.v[n-1] = px.v[n-1] + px.v[n]*x; for (i=n-2; i >= 0; i--) pz.v[i] = px.v[i] + x*pz.v[i-1]; pz.n = n - 1; return pz; Estrutura: Exemplos Resolvidos 42

22 9.6 Estrutura: Exemplos Resolvidos Exemplo 11 Cadastro2 Fazer um programa que leia o nome de um produto vendido, a data da compra, o preço da venda e imprima todos estes valores. A seguir impressa também um resumo da venda da seguinte maneira: Resumo da venda Produto: geladeira Data da venda:23/10/2008 Preço do produto: R$ Utilize uma estrutura para armazenar os dados dos produtos e funções para fazer as impressões Estrutura: Exemplos Resolvidos Exemplo 11 Cadastro2 #include <stdio.h> #include <stdlib.h> typedef struct Data int D, M, A; Dt; typedef struct Produto char Nome[100]; Data Venda; float Preco; Pd; // Protótipos das funções. void printdata(dt d); void printprod(pd p); Dt initdata(void); Pd initprod(void); // Função principal. Pd p[3]; int i; printf("leitura de produtos:"); // Função principal. Pd p[3]; int i; printf("leitura de produtos:"); for (i=0; i < 3; i++) fflush(stdin); p[i]=initprod(); fflush(stdin); printprod(p[i]); printf("\n\n"); system("pause"); // Função que imprime Data. void printdata(dt d) printf("%d/%d/%d",d.d,d.m,d.a); 44

23 9.6 Estrutura: Exemplos Resolvidos Exemplo 11 Cadastro2 // Função que imprime Produto. void printprod(pd p) printf("\tresumo Venda:"); printf("\n\tproduto: "); puts(p.nome); printf("\tdata de venda: "); printdata(p.venda); printf("\n\tpreco Produto: "); printf("r$ %10.2f \n", p.preco); // Função que inicializa Data. Dt initdata(void) Dt d; printf("dd/mm/aaaa: "); scanf("%d%d%d",&d.d, &d.m, &d.a); return d; // Função que inicializa // produto. Pd initprod(void) Pd p; printf("\n \n"); printf("\n Nome Produto:"); gets(p.nome); fflush(stdin); printf("\n Data da venda "); p.venda = initdata(); printf("\n Preco da venda: "); scanf("%f",&p.preco); printf("\n \n"); printf("\n \n"); return p; Estrutura: Exemplos Resolvidos Exemplo 11 Cadastro2 46

24 9.7 Novos Tipos: enum Definição A palavra enum associa a um conjunto de nomes, valores inteiros a partir de zero (padrão) ou a partir de um primeiro valor fornecido. Se um valor for fornecido à alguns nomes e não à outros, o compilador atribui o próximo valor inteiro aos que não tiverem valor. Tipos enum são tratados como inteiros e qq operação de números inteiros com eles é válida. Exemplo12 No exemplo abaixo é criada uma estrutura enum que associa para cada palavra um valor inteiro. enum Mes Jan = 1, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez ; Novos tipos: enum Exemplo 12.1 Enum Mes #include <stdio.h> enum meses Jan = 1, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez; int dia; meses mes; mes = Set; if (mes == Jan mes == Mar mes == Mai mes == Jul mes == Ago mes == Out mes == Dez) dia = 31; else if (mes == Fev) dia = 28; else dia = 30; printf( Numero dias: %d \n,dia); Exemplo 12.2 Enum Mes #include <stdio.h> enum meses Jan = 1, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez; int dia; meses mes; mes = meses(9); // int -> meses! if (mes == Jan mes == Mar mes == Mai mes == Jul mes == Ago mes == Out mes == Dez) dia = 31; else if (mes == Fev) dia = 28; else dia = 30; printf( Numero dias: %d \n,dia); 48

25 9.8 Novos tipos: resumo (i) Assim, como vetores e matrizes permitem agrupar e acessar uma grande quantidade de dados do mesmo tipo sob o nome de uma variável com o uso de índices e colchetes, estruturas são muito úteis para definir um conjunto de campos de valores para diferentes tipos de dados que podem ser armazenados em uma variável e acessados através do operador.. (ii) A definição de tipos e tipos enumerados facilita a programação e permite melhorar o entendimento do programa. Além disso, estruturas podem ser combinadas com quaisquer outros tipos de dados tais como int, char, float, vetores, matrizes e inclusive outras estruturas Novos tipos: resumo Fim de Novos Tipos Structs,, Typedef e Enum 50

21 - Estruturas em C (Novos Tipos) Registros

21 - Estruturas em C (Novos Tipos) Registros 21 - Estruturas em C (Novos Tipos) Registros Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 21. Estrutura

Leia mais

Estruturas (registros)

Estruturas (registros) BCC 201 - Introdução à Programação I Estruturas (registros) Guillermo Cámara-Chávez UFOP 1/44 Estruturas (struct) I Imaginemos que queremos ler as notas de 4 provas para um aluno e calcular a média do

Leia mais

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

17 - Funções e Procedimentos em C Programação Modular

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

Edwar 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++ 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 mais

MC-102 Aula 17 Strings e Matrizes

MC-102 Aula 17 Strings e Matrizes MC-102 Aula 17 Strings e Matrizes Instituto de Computação Unicamp 5 de Maio de 2015 Roteiro 1 Strings Strings: Exemplos 2 Matrizes Exemplos com Matrizes 3 Exercícios (Instituto de Computação Unicamp) MC-102

Leia mais

MC-102 Aula 19 Registros

MC-102 Aula 19 Registros MC-102 Aula 19 Registros Instituto de Computação Unicamp 4 de Maio de 2015 Roteiro 1 Registros 2 Redefinição de tipos (Instituto de Computação Unicamp) MC-102 Aula 19 4 de Maio de 2015 2 / 17 Registros

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

Curso de Programação Computadores

Curso de Programação Computadores 3 O Primeiro Programa em C Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 3 O Primeiro Programa em C 3.1 - Introdução Depois dos conceitos

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

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

Operaçõ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 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

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 8 Strings e Estruturas Susana M Iglesias 1 STRINGS - INTRODUÇÃO Strings (cadeia de caracteres): é uma serie de caracteres que podem ser tratados como uma unidade simples,

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Linguagem e Técnicas de Programação I Operadores, expressões e funções Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Operadores básicos Toda linguagem de programação, existem

Leia mais

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

Curso de Linguagem C

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

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I 01/2013 Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Problema 1 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em

Leia mais

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento

Exercí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 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

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

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

Estruturas II UFOP 1/1

Estruturas II UFOP 1/1 BCC 201 - Introdução à Programação I Estruturas II Guillermo Cámara-Chávez UFOP 1/1 Conceito de struct I Vetores e matrizes Estruturas de dados homegêneas Armazenam vários valores, mas todos de um mesmo

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃ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 mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem

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

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

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

Fundamentos de Programação

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

Introdução a Programação de Jogos

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

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

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

Árvores Binárias - continuação

Árvores Binárias - continuação Tópicos Avançados em Estrutura de Dados 6º Período Ciência da Computação Uma Aplicação de Árvores Binárias Árvores Binárias - continuação As árvore binárias são estruturas importantes toda vez que uma

Leia mais

Curso de C para Engenharias

Curso de C para Engenharias Aula 4 Cristiano Dalbem Dennis Balreira Gabriel Moreira Miller Biazus Raphael Lupchinski Universidade Federal do Rio Grande do Sul Instituto de Informática Grupo PET Computação Sintaxe Funções Exemplos

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

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

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

Registros. Técnicas de Programação. Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes

Registros. Técnicas de Programação. Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes Registros Técnicas de Programação Baseado no material do Prof. Rafael Vargas Mesquita Conceito de Registro (Struct) Vetores e Matrizes

Leia mais

2ª Lista de Exercícios

2ª Lista de Exercícios Universidade Federal de Minas Gerais Departamento de Ciência da Computação Algoritmos e Estruturas de Dados II (Turmas M, N, W, F) 1º Semestre de 2012 Profs. Camilo Oliveira, Gisele Pappa, Ítalo Cunha,

Leia mais

Strings. Todas as funções apresentadas neste documento estão no arquivo de cabeçalho string.h.

Strings. Todas as funções apresentadas neste documento estão no arquivo de cabeçalho string.h. Strings Todas as funções apresentadas neste documento estão no arquivo de cabeçalho string.h. 1 Determinando o tamanho de uma string Para determinar o tamanho de uma string use a função strlen( ). Sua

Leia mais

Busca. Pesquisa sequencial

Busca. Pesquisa sequencial Busca Banco de dados existem para que, de tempos em tempos, um usuário possa localizar o dado de um registro, simplesmente digitando sua chave. Uma tabela ou um arquivo é um grupo de elementos, cada um

Leia mais

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme AULA 2: INTRODUÇÃO A LINGUAGEM DE C Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Agenda Introdução a linguagem C Compiladores Variáveis IDEs Exemplos Exercícios Introdução A Linguagem C

Leia mais

struct LISTA item quant

struct LISTA item quant UNIVERSIDADE SÃO JUDAS TADEU ESTRUTURA DE DADOS - PROF. H. Senger IMPLEMENTAÇÃO DE LISTAS COM VETORES A implementação de listas utilizando vetores é simples. Existe apenas uma pequena questão, com relação

Leia mais

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

Vetores. 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 mais

Estruturas (Registros)

Estruturas (Registros) Estruturas (Registros) Agrupa conjunto de tipos de dados distintos sob um único nome string string inteiro inteiro inteiro float float Cadastro Pessoal Nome Endereço Telefone Idade Data de Nascimento Peso

Leia mais

Programação científica C++

Programação científica C++ Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 9 Tipos Estruturados Definição de novos tipos com struct Elementos do struct Exemplos Exercícios Motivação Muitas vezes precisamos agrupar informações

Leia mais

INF 1005 Programação I

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

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream> Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras

Leia mais

Aula 1 Tipo Abstrato de Dados

Aula 1 Tipo Abstrato de Dados Aula 1 Tipo Abstrato de Dados Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 2009-1 O que é um algoritmo? O que é um programa? Algoritmos Sequência de ações executáveis para

Leia mais

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05 IFTO LÓGICA DE PROGRAMAÇÃO AULA 05 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://lab.ifto.edu.br/~mcampos http://manoelcampos.com

Leia mais

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

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Variáveis na linguagem C: tipo char O tipo char representa um caractere ASCII (ocupa só 1 byte) int main(int argc, char **

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

1 Resumo: Strings e vetores de caracteres. Departamento de Ciência da Computação IME/USP

1 Resumo: Strings e vetores de caracteres. Departamento de Ciência da Computação IME/USP Departamento de Ciência da Computação MAC2166 Introdução a Computação IME/USP Strings e vetores de caracteres 1 Resumo: O uso de strings facilita a manipulação de palavras e textos. Strings são basicamente

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

Aula 06 - Funções. O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros

Aula 06 - Funções. O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros Algoritmo e Programação Aula 06 - Funções Colegiado de Engenharia da Computação

Leia mais

14.1 Vetor - Problemas

14.1 Vetor - Problemas Problema 14: Um método de Criptografia consiste em substituir as letras de uma mensagem através do emparelhamento de alfabetos tal como dado abaixo. Construir um programa que codifica mensagens usando

Leia mais

José Romildo Malaquias 2011-1

José 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 mais

V - Lista de Exercícios de SO e Lab. 1-) Escreva um programa em C para criar um arquivo texto, com informações fornecidas pelo usuário não formatadas.

V - Lista de Exercícios de SO e Lab. 1-) Escreva um programa em C para criar um arquivo texto, com informações fornecidas pelo usuário não formatadas. V - Lista de Exercícios de SO e Lab. Assunto: Ponteiros e Arquivos Prof. Ricardo W. Saad CTIG 1-) Escreva um programa em C para criar um arquivo texto, com informações fornecidas pelo usuário não formatadas.

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃ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 mais

Lista de Exercícios da 3ª Unidade. ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados)

Lista de Exercícios da 3ª Unidade. ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados) Lista de Exercícios da 3ª Unidade ( Ponteiros, Alocação dinâmica, Arquivos, Estruturas de Dados) 1. (Seg. chamada - 2014.1) Construa um programa em C que realize as seguintes operações: a) Faça uma função

Leia mais

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

INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15 1. Um número racional é expresso por dois inteiros: um numerador e um denominador (este último diferente de zero!). Implemente um TAD para representar números

Leia mais

9.1.2 Laços Controlados por Entrada: Contador

9.1.2 Laços Controlados por Entrada: Contador 9.1.2 Laços Controlados por Entrada: Contador Exemplo 2- Escreva um algoritmo e um programa em C que dado um Número qualquer, seja calculado e impresso a tabuada desse número. Algoritmo tabuada Variáveis:

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

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

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

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

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha

Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha Esta apresentação ensinará os conceitos de Orientação a Objetos com C++, do mais básico para o mais avançado. É suposto que o aluno já tenha conhecimento avançado de C. Exemplo em C: Faça um programa que

Leia mais

system("pause"); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa

system(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 mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Aluísio Eustáquio da Silva

Aluísio Eustáquio da Silva 1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Linguagem e Técnicas de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 Introdução a linguagem C Estruturas de decisão Introdução à Linguagem C Linguagem compilada. Desenvolvida sobre os paradigmas de programação procedural. Uma das linguagens

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

Revisão: Variáveis, Expressões, Matrizes, Comandos de Desvio

Revisão: Variáveis, Expressões, Matrizes, Comandos de Desvio Programação de Computadores I UFOP DECOM 2013 2 Aula prática 5 Revisão: Variáveis, Expressões, Matrizes, Comandos de Desvio Tarefa 1: Lei de Gravitação Universal A Lei de Gravitação Universal de Newton,

Leia mais

Módulo 4. Instruções for, while e do/while. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio)

Módulo 4. Instruções for, while e do/while. Algoritmos e Estruturas de Dados I C++ (Rone Ilídio) Módulo 4 Instruções for, while e do/while Algoritmos e Estruturas de Dados I C++ (Rone Ilídio) Estrutura de repetição for Repete uma seqüência de comando O número de vezes que ocorrerá a repetição é controlado

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

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

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

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes

Sistemas Operacionais e Introdução à Programação. Vetores e matrizes Sistemas Operacionais e Introdução à Programação Vetores e matrizes 1 Matrizes Cada elemento de uma matriz é referenciado indicando-se sua posição dentro da matriz. Na Matemática, matrizes são arranjos

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

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

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como:

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como: Cláudio C. Rodrigues Faculdade da Computação - UFU LINGUAGEM C - 02: ESTRUTURA DE SELEÇÃO CONDICIONAL Faculdade da Computação - UFU 1 Objetivo Apresentar os conceitos básicos e as estruturas de linguagem

Leia mais

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3

Leia mais

Estruturas de Repetição

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

Programação de Computadores I. Ponteiros

Programação de Computadores I. Ponteiros Ponteiros Prof. Edwar Saliba Júnior Outubro de 2012 Unidade 13 Ponteiros 1 Identificadores e Endereços Na linguagem C, uma declaração de variável faz associação entre um identificador e endereços de memória;

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

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

Algoritmos de Busca em Tabelas

Algoritmos de Busca em Tabelas Dentre os vários algoritmos fundamentais, os algoritmos de busca em tabelas estão entre os mais usados. Considere por exemplo um sistema de banco de dados. As operações de busca e recuperação dos dados

Leia mais

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

Leia mais

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

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais

Leia mais

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

Leia mais

Introdução a Programação. Tipos Estruturados de Dados

Introdução a Programação. Tipos Estruturados de Dados Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados

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