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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Linguagem C. Novos tipos de dados

Linguagem C. Novos tipos de dados Linguagem C Novos tipos de dados Novos tipos de dados Você já se deparou com um problema de programação no qual deseje agrupar sob um único nome um conjunto de tipos de dados não similares? Utilizaria

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

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

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

Princípios de programação em Linguagem C Cesar Tadeu Pozzer UFSM 16/08/2010

Princípios de programação em Linguagem C Cesar Tadeu Pozzer UFSM 16/08/2010 Princípios de programação em Linguagem C Cesar Tadeu Pozzer UFSM 16/08/2010 Introdução a Programação em Linguagem C Antes de um algoritmo ser executado no computador, ele deve ser traduzido em uma linguagem

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

Curso de C: uma breve introdução

Curso de C: uma breve introdução V Semana de Engenharia Elétrica - UFBA Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da: Creative Commons License:

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Linguagem C: Desenvolvida por Dennis Ritchie nos laboratórios da AT&T Bell (EUA) no início dos anos 70; Algol

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C++ - Matrizes. Observ.: C++ não avisa quando o limite de uma matriz foi excedido. Providenciar a verificação é responsabilidade do programador.

C++ - Matrizes. Observ.: C++ não avisa quando o limite de uma matriz foi excedido. Providenciar a verificação é responsabilidade do programador. C++ - Matrizes É um conjunto de variáveis, do mesmo tipo, referenciadas por um único nome, onde cada variável é diferenciada por meio de um número entre colchetes chamado índice. Declaração : tipo nome

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

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

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

Técnicas de Programação I

Técnicas de Programação I Técnicas de Programação I Conceitos básicos C/C++ Material baseado nas aulas da Profa. Isabel Harb Manssour http://www.inf.pucrs.br/~manssour/laproi, entre outros materias Registros e Arquivos Conceito

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

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C Universidade Federal de Uberlândia Faculdade de Computação A Linguagem C Prof. Renato Pimentel 1 Programação Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento

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

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

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

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

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

Linguagem C: agregados heterogêneos, arquivos binários, recursividade. Prof. Críston Algoritmos e Programação

Linguagem C: agregados heterogêneos, arquivos binários, recursividade. Prof. Críston Algoritmos e Programação Linguagem C: agregados heterogêneos, arquivos binários, recursividade Prof. Críston Algoritmos e Programação Agregados heterogêneos Permitem agrupar variáveis de diferentes tipos em um único registro struct

Leia mais

ALGORITMOS E PROGRAMAÇÃO PARA COMPUTADORES II

ALGORITMOS E PROGRAMAÇÃO PARA COMPUTADORES II 1 Disciplina: ALGORITMOS E PROGRAMAÇÃO PARA COMPUTADORES II Faculdade de Análise de Sistemas Práticas de Laboratório 1- Cronograma Previsto (este cronograma pode sofrer alterações em decorrência de ajustes

Leia mais

double pcompra[1000], pvenda[1000], codclient[1000]; //sempre que o usuário voltar ao menu principal ele poderá

double pcompra[1000], pvenda[1000], codclient[1000]; //sempre que o usuário voltar ao menu principal ele poderá /*Algortimo de Controle de Estoque e Cadastro*/ #include #include main(){ int i, op, op2, qtd, entradaestoque, consulproduto, consulcliente,cod[1000],estoque[1000]; double pcompra[1000],

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

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

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

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

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

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

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

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes LINGUAGEM C: DESCOMPLICADA Prof. André R. Backes 1 COMANDOS DE CONTROLE CONDICIONAL Os programas escritos até o momento são programas sequeciais: um comando é executado após o outro, do começo ao fim do

Leia mais

Aula Prática 1: Introdução ao Ambiente de Programação Dev-C++

Aula Prática 1: Introdução ao Ambiente de Programação Dev-C++ Aula Prática 1: Introdução ao Ambiente de Programação Dev-C++ 1. Introdução Em nossa primeira aula prática de programação em linguagem C iremos escrever e testar programas de computador básicos. Mas antes,

Leia 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

Programas simples em C

Programas simples em C Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da

Leia mais

Alocação dinâmica de memória

Alocação dinâmica de memória Alocação dinâmica de memória Jander Moreira 1 Primeiras palavras Na solução de problemas por meio algoritmos ou programas, é comum surgir a necessidade de manter todo o conjunto de dados a ser processado

Leia 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

Este material pode ser usado livremente, copiado ou distribuído, desde que citada a autoria. Feito no L A TEX em ambiente Linux.

Este material pode ser usado livremente, copiado ou distribuído, desde que citada a autoria. Feito no L A TEX em ambiente Linux. Algoritmos Computacionais com aplicações em C Bacharelado em Sistemas de Informação Engenharia Mecatrônica IF Sudeste MG Filippe Jabour 17 de dezembro de 015 http://www.jabour.com.br Este material pode

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

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

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

10. Listas Encadeadas

10. Listas Encadeadas 10. Listas Encadeadas W. Celes e J. L. Rangel Para representarmos um grupo de dados, já vimos que podemos usar um vetor em C. O vetor é a forma mais primitiva de representar diversos elementos agrupados.

Leia mais

Solucionário de. Programação

Solucionário de. Programação Solucionário de Programação Questão 1 Fazer um programa que mostre na tela o valor da variável x inteiro e y real, atribua a x 8 e a y 2.5 vezes o valor de x. int x; float y; x=8; y=2.5 * x; printf("x=%d\n",x);

Leia mais

Variáveis, Tipos de Dados e Operadores

Variáveis, Tipos de Dados e Operadores ! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória

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

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

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

CURSO BÁSICO DE PROGRAMAÇÃO EM TURBO C DESCRIÇÃO DO PROGRAMA. Introdução e conceitos básicos

CURSO BÁSICO DE PROGRAMAÇÃO EM TURBO C DESCRIÇÃO DO PROGRAMA. Introdução e conceitos básicos CURSO BÁSICO DE PROGRAMAÇÃO EM TURBO C Introdução e conceitos básicos DESCRIÇÃO DO PROGRAMA a) Comandos e manipulação do editor ; b) Estrutura básica de um programa em C ; c) Declaração de constantes e

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

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

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

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação Lógica de Programação 3. INTRODUÇÃO À LINGUAGEM C Caro Aluno Vamos iniciar o terceiro capítulo da nossa disciplina. Agora vamos começar a aplicar os conceitos vistos nos capítulos anteriores em uma linguagem

Leia mais

Italo Valcy

Italo Valcy <italo@dcc.ufba.br> Programação C Módulo 01 Introdução à linguagem C Italo Valcy www.ieee.org/ufba Italo Valcy Programação em C Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente,

Leia 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

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

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

Funções e Estrutura de Blocos

Funções e Estrutura de Blocos Funções e Estrutura de Blocos Funções devolvem em geral um valor calculado pela mesma. O próprio programa principal é uma função. Em vez de main () podemos escrever int main(), significando isto que o

Leia mais