Arrays. 6.2 Arrays. 6.1 Introdução. Elementos de um array são como as variáveis normais que vocês já conhecem
|
|
- Renato da Rocha Barbosa
- 7 Há anos
- Visualizações:
Transcrição
1 1 2 Arrays.1 Introdução Array Vector Estrutura de elementos relacionados ( do mesmo tipo) Entidade estática tem sempre a mesma dimensão ao longo da execução do programa É um grupo de locais de memória consecutivos que partilham o mesmo nome e tipo Formato: Para nos referirmos a um elemento do vector usamos o nome do vector e o índice da posição que o elemento ocupa no vector - nomedovector[ numerodaposição ] O primeiro elemento está na posição zero n ésimo elemento de um array com nome c é c[ n 1 ] - c[ 0 ], c[ 1 ]...c[ n 1 ] 2007 Pearson Education, Inc. All rights reserved. Adaptado para PROG I por Ana Respício (DIFCUL) Nome do array (todos os elementos têm o mesmo nome c) 3.2 Arrays 4 Elementos de um array são como as variáveis normais que vocês já conhecem - c[ 0 ] = 3; - printf( "%d", c[ 0 ] ); Posição do elemento dentro do array c Podemos fazer operações nos índices. Se x for igual a 3 - c[ x ] é igual a - c[ 3 ] e também igual a - c[ 5-2 ] Fig..1 Elementos do array c.
2 5 Erro comum de programação Operadores Associatividade Tipo [] () parentesis ++ --! (tipo) unario O sétimo elemento do vector é diferente do elemento na posição sete do vector. Os índices dos vectores começam em zero 0. O sétimo elemento do vector tem índice. O elemento na posição sete do vector tem índice 7 e é o oitavo elemento no vector. * / % multiplicativo + - aditivo < <= > >= relacional ==!= igualdade && conjunção lógica dijunção lógica?: condicional = += -= *= /= %= atribuição, vírgula Isto costuma dar confusão!!!! Fig..2 Precedência e associatividade dos operadores..3 Definição de arrays 7.4 Exemplos 8 Quando definimos arrays, especificamos Nome Tipo dos elementos no array Número de elementos - tipo nomearray[ numerodeelementos ]; Exemplos: - int c[ 10 ]; - double myarray[ 3284 ]; Definição de vários arrays do mesmo tipo Formato como nas outras variáveis Exemplo: - int b[ 100 ], x[ 27 ]; Inicializadores - int n[ 5 ] = { 1, 2, 3, 4, 5 }; Se não estão presentes inicializadores em número suficiente, os elementos mais à direita ficam com o valor 0 int n[ 5 ] = { 0 }; - Todososelementosficam0 Se há inicializadores em demasia, há erro de compilação Não há verificação dos limites dos arrays em C Se o tamanho for omitido, são os inicializadores que o determinam - int n[ ] = { 1, 2, 3, 4, 5 }; 5 inicializadores, logo o array vai ter 5 elementos
3 1 /* Fig..3: fig0_03.c initialização de um array 2 * Ligeiramente modificado por Ana Respício */ 4 5 int main( void ) 7 { 8 int meu[ 10 ]; /* meu eh um array com 10 elementos */ 9 int i; /* contador */ /* inicializa elementos do array meu com valor 0 */ 12 for ( i = 0; i < 10; i++ ) { 13 meu[ i ] = 0; /* atribui 0 ao elemento na posicao i */ 14 } /* end for */ 15 1 printf( " Posicao Valor\n" ); /* escreve o conteudo do array meu com aspecto de uma tabela */ 19 for ( i = 0; i < 10; i++ ) { 20 printf( "%7d%13d\n", i, meu[ i ] ); 21 } /* fim do for */ return 0; } /* fim da funcao main */ fig0_03.c (1 de 2 ) Ciclo for inicializa cada elemento do array em separado Ciclo for imprime todos os elementos do array 9 Posicao Valor fig0_03.c (2 de 2 ) 10 1 /* Fig..4: fig0_04.c 2 * Inicializacao de um array com uma lista de inicializadores 3 * Adaptado por Ana Respício */ 4 #include <stdio.h> 5 int main( void ) 7 { 8 /* usa uma lista de inicializadores para inicializar o array meu */ 9 int meu[ 10 ] = { 32, 27, 4, 18, 95, 14, 90, 70, 0, 37 }; 10 int i; /* contador */ printf( " Posicao Valor\n" ); /* imprime o conteudo do array na forma de uma tabela */ 15 for ( i = 0; i < 10; i++ ) { 1 printf( "%7d%13d\n", i, meu[ i ] ); 17 } /* fim do for */ return 0; } /* fim da funcao main */ fig0_04.c (1 de 2 ) A lista de inicializadores inicializa todos os elementos simultaneamente 11 Posicao Valor fig0_04.c (2 de 2 ) 12
4 Erro comum de programação 1. Esquecer de inicializar os elementos de um array cujos elementos devem ser inicializados. 2. Usar mais inicializadores do que o tamanho do array /* Fig..5: fig0_05.c 14 2 * Inicializar os elementos de um array s com os numeros pares 3 * entre 2 e 20 */ 4 #include <stdio.h> A directiva #define diz ao compilador para 5 #define SIZE 10 /* tamanho maximo do array */ substituir todas as ocorrências da palavra SIZE por 10 fig0_05.c 7 int main( void ) 8 { 9 /* a constante simbolica SIZE eh usada para especificar o tamanho do array */ 10 int s[ SIZE ]; /* array s tem SIZE elementos */ 11 int j; /* contador */ for ( j = 0; j < SIZE; j++ ) { /* atribuir os valores */ 14 s[ j ] = * j; 15 } /* fim do for */ 1 17 printf( " Posicao Valor\n" ); /* imprime o conteudo do array em forma de tabela */ 20 for ( j = 0; j < SIZE; j++ ) { 21 printf( "%7d%13d\n", j, s[ j ] ); 22 } /* fim do for */ return 0; 25 2 } /* fim da funcao main */ (1 de 2 ) SIZE é substituída por 10 pelo compilador, o array s tem 10 elementos for inicializa cada elemento do array em separado Posicao Valor fig0_05.c (2 de 2 ) 15 Erro comum de programação Terminar uma directiva de pré-processamento #define ou #include com ; 1 As directivas de pré-processamento em C não são instruções.
5 17 18 Erro comum de programação Observação Atribuir um valor a uma constante simbólica numa instrução é um erro de sintaxe. Uma constante simbólica não é uma variável. Não é reservado espaço em memória para ela pelo compilador como acontece com as variáveis. Definir o tamanho de cada array como uma constante simbólica torna os programas mais fáceis de adaptar (redimensionáveis e expansíveis) Boa Prática de Programação Boa Prática de Programação Usar só letras maiuscúlas para os nomes das constantes simbólicas. Isto evidencia estas constantes e lembra que as constantes não são variáveis. Se precisar de usar várias palavras no nome duma constante simbólica use underscores a separar as palavras para mais fácil leitura.
6 1 /* Fig..: fig0_0.c 2 Calcular a soma dos elementos de um array */ 4 #define SIZE int main( void ) 8 { 9 /* usar lista de inicializadores para inicializar os elementos do array a */ 10 int a[ SIZE ] = { 1, 3, 5, 4, 7, 2, 99, 1, 45, 7, 89, 45 }; 11 int i; /* contador */ 12 int total = 0; /* soma dos elementos */ /* soma os elementos do array a */ 15 for ( i = 0; i < SIZE; i++ ) { 1 total += a[ i ]; 17 } /* fim do for */ printf( "A soma dos elementos do array eh %d\n", total ); return 0; } /* fim da funcao main */ A soma dos elementos do array eh 383 Ciclo for adidiona cada elemento à variável total fig0_0.c 21 Problema: Temos 40 respostas a um inquérito em que cada resposta pode tomar um valor entre 1 e 10 inclusive. Pretendemos encontrar a frequência de cada resposta, isto é, quantas respostas tiveram o valor 1, quantas tiveram o valor 2, etc. 1 /* Fig..7: fig0_07.c 2 calcular as frequencias de respostas (pontuacao) em inqueritos */ 4 #define DIM_RESPOSTAS 40 /* definir tamanhos dos vectores */ 5 #define DIM_FREQUENCIAS int main( void ) 9 { 10 int conta; /* contador para percorrer as respostas */ 11 int pontos; /* contador para percorrer frequencias 1-10 */ 12 int valordaresposta; 13 /* inicializar os contadores de frequencias a 0 */ 14 int frequencia[ DIM_FREQUENCIAS ] = { 0 }; 15 1 /* respostas dos alunos */ 17 int resposta[ DIM_RESPOSTAS ] = { 1, 2,, 4, 8, 5, 9, 7, 8, 10, 18 1,, 3, 8,, 10, 3, 8, 2, 7,, 5, 7,, 8,, 7, 5,,, 19 5,, 7, 5,, 4, 8,, 8, 10 }; /* para cada resposta seleccionar o elemento do array resposta 22 e usar esse valor como indice do array frequencia para determinar 23 a pontuacao cuja frequencia deve ser incrementada */ 24 for ( conta = 0; conta < DIM_RESPOSTAS; conta++ ) { 25 valordaresposta = resposta[ conta ]; 2 ++frequencia[ valordaresposta ]; 27 } /* fim do for */ 28 fig0_07.c (1 de 2 ) frequencia é um array com 11 elementos resposta é um array com 40 elements e é inicializado Indice do array frequencia é dado pelo valor do elemento do array resposta printf("pontuacao Frequencia\n" ); /* output das frequencias num formato tabular */ 32 for ( pontos = 1; pontos < DIM_FREQUENCIAS; pontos++ ) { 33 printf( "%d%17d\n", pontos, frequencia [ pontos ] ); 34 } /* end for */ 35 3 return 0; } /* end main */ Pontuacao Frequencia fig0_07.c (2 de 2 ) 24
7 1 /* Fig..8: fig0_08.c 2 Programa para imprimir um histograma */ 4 #define DIMENSAO int main( void ) 8 { 9 /* usar uma lista de incializadores para inicializar frequencias */ 10 int frequencia [ DIMENSAO ] = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 }; 11 int i; /* contador para percorrer os elementos do array */ 12 int j; /* conta o numero de asteriscos em cada barra do histograma */ printf( " Posicao Valor Histograma\n" ); 15 1 /* para cada elemento do vector frequencia escreve uma barra do histograma */ 17 for ( i = 0; i < DIMENSAO; i++ ) { 18 printf( "%7d%13d ", i, frequencia[ i ]) ; for ( j = 1; j <= frequencia[ i ]; j++ ) { /* escreve uma barra */ 21 printf( "* ); 22 } /* fim do for interno */ printf( "\n" ); /* fim duma barra do histograma */ 25 } /* fim do for sobre os elementos do array */ 2 27 return 0; } /* fim da funcao main */ fig0_08.c (1 de 2 ) O ciclo for interno escreve frequencia[ i ] asteriscos na i-ésima linha 25 Posicao Valor Histograma 0 19 ******************* 1 3 *** 2 15 *************** 3 7 ******* 4 11 *********** 5 9 ********* 13 ************* 7 5 ***** 8 17 ***************** 9 1 * fig0_08.c (2 de 2 ) 2.5 Passar vectores para funções 27.5 Passar vectores para funções 28 Para passar um vector como argumento duma função especifica-se o nome do vector sem usar os parêntesis rectos: int meuarray[ 24 ]; passar meuarray como argumento para minhafuncao minhafuncao( meuarray, 24 ); - A dimensão do vector (ou número de elementos a utilizar) também costuma ser passada Os vectores são passados por referência: - O nome do array é o endereço do primeiro elemento - A função fica a saber onde o array está guardado e pode modificar os locais da memória correspondentes Protótipo da função - void minhafuncao( int b[], int dimarray ); Notar que o parâmetro que corresponde a um vector não especifica o tamanho do vector - int b[]
8 1 /* Fig..12: fig0_12.c 2 O nome de um vector é o mesmo que &vector[ 0 ] */ 4 5 /* função main inicia o programa */ int main( void ) 7 { 8 char vectorexemplo[ 5 ]; /* definir um vector com dimensão 5 */ 9 10 printf( " vector = %p\n&vector[0] = %p\n &vector = %p\n", 11 vectorexemplo, &vectorexemplo[ 0 ], &vectorexemplo ); return 0; } /* fim main */ vector = 0012FF78 &vector[0] = 0012FF78 &vector = 0012FF78 fig0_12.c.5 Passar vectores para funções Também é possível passar elementos de um vector como argumentos (escalares) Passagem de um elemento de um vector, ex: int outrafuncaominha( int valor ); int meuarray[ 24 ]; int resultado; resultado = outrafuncaominha( meuarray[ 3 ] ); Um elemento é passado por valor: É indicado como argumento o elemento que está numa posição meuarray[ 3 ] A função outrafuncaominha recebe uma cópia do valor que está em meuarray[ 3 ] A função não fica a saber onde o array está guardado e não modifica o local da memória correspondente 30.5 Passar vectores para funções Se quisermos alterar um dado elemento, temos de passar o array todo, e a posição do elemento a alterar, ex: void modificaelemento( int vector[], int dimensao, int posicao ); int meuarray[ 24 ]; modificaelemento( meuarray, 24, 3 ); É passado por valor: A dimensão (24), a posição (3) É passado por referência: O vector meuarray 31 Boa Prática de Programação Passar vectores por referência faz sentido por uma questão de desempenho. Se os vectores fossem passados por valor, ter-se-ia de passar uma cópia de cada elemento. Para vectores de grande dimensão isso consumiria muito tempo e seria necessário gastar muito espaço de memória para guardar as cópias.
9 1 /* Fig..13: fig0_13.c 2 Passagem de vectores e elementos de vectores para funcoes */ 4 #define DIMENSAO 5 5 /* prototipos */ 7 void modificavector( int vector[], int dimensao ); 8 void modificaelemento( int elem ); 9 10 /* funcao main inicia execucao */ 11 int main( void ) 12 { 13 int meuvector[ DIMENSAO ] = { 0, 1, 2, 3, 4 }; /* inicializa meuvector */ 14 int i; /* contador */ 15 1 printf( "Efeitos de passar um vector por referencia:\n\nthe " 17 "Valores do vector original:\n" ); /* imprimir o vector */ 20 for ( i = 0; i < DIMENSAO; i++ ) { 21 printf( "%3d", meuvector[ i ] ); 22 } printf( "\n" ); 25 2 /* passar vector meuvector para modificavector por referencia */ 27 modificavector( meuvector, DIMENSAO ); printf( "Valores do vector modificado:\n" ); 30 fig0_13.c (1 of 3 ) Array meuvector é passado a modificavector passando só o nome 31 /* imprime vector modificado */ 32 for ( i = 0; i < DIMENSAO; i++ ) { 33 printf( "%3d", meuvector[ i ] ); 34 } 35 3 /* imprime o valor de meuvector[ 3 ] */ 37 printf( "\n\n\nefeito de passar um elemento por valor: " 38 "\n\meuvector[ 3 ] = %d\n", meuvector[ 3 ] ); modificaelemento( meuvector[ 3 ] ); /* passa elemento meuvector[ 3 ] */ /* imprime elemento meuvector[ 3 ] */ 43 printf( "meuvector[ 3 ] apos modificaelemento = %d\n", meuvector[ 3 ] ); return 0; 4 47 } /* na funcao modificavector, vector referencia o vector que for passado 50 pelo seu endereco em memoria */ 51 void modificavector( int vector[], int dimensao ) 52 { 53 int j; /* contador */ /* multiplica cada elemento por 2 */ 5 for ( j = 0; j < dimensao; j++ ) { 57 vector[ j ] *= 2; 58 } 59 0 } /* fim funcao modificavector */ fig0_13.c (2 of 3 ) 1 2 /* na funcao modificaelemento, elem é uma copia local do valor passado 3 a partir da funcao invocadora (neste caso vai ser a main) */ 4 void modificaelemento( int elem ) 5 { elem *= 2; /* multiplica o parametro elem por 2 */ 7 printf( "Valor de elem em modificaelemento = %d\n", elem ); 8 } /* fim da funcao modificaelemento */ Efeitos de passar um vector por referencia: Valores do vector original: Valores do vector modificado: Efeito de passar um elemento por valor: meuvector[ 3 ] = Valor de elem em modificaelemento = 12 meuvector[ 3 ] apos modificaeleemnto = fig0_13.c (3 of 3 ).7 Calcular a média, o máximo e a moda usando vectores Média é a soma dos valores sobre o número de valores Máximo é o maior valor no vector Moda é o valor com maior número de ocorrências maior frequência 1, 1, 1, 2, 3, 3, 4, 5 1 é a moda 3
10 Pesquisar valor num vector.4 Cadeias de Caracteres Procurar num vector um valor chave Cadeias de caracteres (strings) são vectores de caracteres Pesquisa linear Simples Uma cadeia de caracteres "Alegria" é um vector de caracteres, pode ser inicializada usando uma sequência de caracteres entre aspas (um literal). Compara cada elemento do vector com o valor chave Útil em vectores de pequena dimensão e não ordenados char cadeia[] = "Alegria"; É equivalente a char cadeia[] = { 'A', 'l', 'e', 'g', 'r', 'i', 'a', '\0' }; -O carácter null representado por '\0' termina as cadeias de caracteres -O vector cadeia tem 8 elementos Podemos aceder a caracteres individuais cadeia[ 3 ] é o carácter 'g'.4 Cadeias de Caracteres 39.4 Cadeias de Caracteres Nome do array é o endereço do array & não é necessário quando lemos uma cadeia com scanf scanf( "%s", cadeia ); scanf, com argumento cadeia de caracteres, lê caracteres até que seja encontrado um dos seguintes caracteres: space (espaço em branco), tab (marca de tabulação), newline (marca de fim de linha) ou EOF (end-of-file). 0 Exemplo: 'P' 1 'i' char minhastring[ 20 ]; scanf( "%19s", minhastring ); o utilizador introduz Pinto da Costa O que fica guardado no array: 2 'n' 3 't' 4 'o' 5 '\0' Cuidado: não ultrapassar o limite do array pois o C permite isso, mas causa erros. Pode destruir dados. Uma solução possível: char minhastring[ 20 ]; scanf( "%19s", minhastring ); - Imprimindo: printf( "%s", minhastring ); imprime Pinto O printf escreve todos os elementos do vector até encontrar o carácter null. Atenção: a string tem de ter algum elemento '\0' Pearson Education, Inc. All rights reserved. Adaptado para PROG1 por Carlos Ana Lourenço Respício e (DIFCUL) Graça Gaspar (DIFCUL)
11 1 /* Fig..10: fig0_10.c 2 Cadeias de caracteres como vectores */ 4 5 int main( void ) 7 { 8 char cadeia1[ 20 ]; /* reserva 20 caracteres */ 9 char cadeia2[] = "Bom dia alegria!"; /* reserva 17 caracteres */ 10 int i; /* contador */ /* le uma cadeia introduzida pelo utilizador para array cadeia1 */ 13 printf("introduza uma cadeia de caracteres: "); 14 scanf( "%19s", cadeia1 ); /* input acaba com espaco em branco */ 15 1 /* escreve as cadeias */ 17 printf( "cadeia1 = %s\ncadeia2 = %s\n" 18 "cadeia1 com espacos entre os caracteres = \n", 19 cadeia1, cadeia2 ); /* escreve caracteres ate que o caracter null seja encontrado */ 22 for ( i = 0; i < 20 && cadeia1[ i ]!= '\0'; i++ ) { 23 printf( "%c ", cadeia1[ i ] ); 24 } /* fim for */ 25 2 printf( "\n" ); return 0; } /* end main */ fig0_10.c (1 de 2 ) cadeia2 é um array definido com um carácter em cada elemento, são 17 caracteres incluindo o null /0 foi inicializada com o literal Bom dia alegria! for imprime os caracteres de cadeia1 com espaço entre eles Notar a condição de continuação: É o caracter null que sinaliza o fim da string e não a última posição do vector 41 Introduza uma cadeia de caracteres: Alunos, calem-se! cadeia1 = Alunos, cadeia2 = Bom dia alegria! cadeia1 com espacos entre os caracteres = A l u n o s, fig0_10.c (2 de 2 ) Arrays bi-dimensionais int a[ 3 ] [ 4 ]; Arrays com dois índices Tabelas com várias linhas e colunas ( array m por n ) São como matrizes: especificamos linha, depois coluna Declaração int b[ 2 ][ 2 ]; LInha 0 Linha 1 Linha 2 Coluna 0 Coluna 1 Coluna 2 Coluna 3 É um array com 2 linhas e 2 colunas; Referenciar os elementos Índice da coluna Índice da linha Nome do array Especificar a linha e depois a coluna - b[0][1] = 23; - printf( "%d", b[ 0 ][ 1 ] ); Fig..20 Array bi-dimensional com três linhas e quatro colunas.
12 45 4 Erro Comum de Programação.9 Arrays bi-dimensionais Inicialização Referenciar um elemento de um array bi-dimensional por a[ x, y ] em vez de a[x][y]. int b[2][2]={{1,2},{3,4}}; Inicializadores agrupam-se por linha entre chavetas Se não forem suficientes, os não especificados são colocados a zero - int b[2][2]={{1},{3,4}}; O C interpreta a[x,y]como sendo a[ y ] e não causa erro de sintaxe. 1 /* Fig..21: fig0_21.c 2 Inicialização de vectores multi-dimensionais */ 4 5 /* escreve o conteudo do vector a com 3 colunas e n linhas */ void escrevearray( int a[][ 3 ], int n ); 7 8 int main( void ) 9 { 10 /* inicializar array1, array2, array3 */ 11 int array1[ 2 ][ 3 ] = { { 1, 2, 3 }, { 4, 5, } }; 12 int array2[ 2 ][ 3 ] = { 1, 2, 3, 4, 5 }; 13 int array3[ 2 ][ 3 ] = { { 1, 2 }, { 4 } }; printf( "Valores no array1 por linha:\n" ); 1 escrevearray( array1, 2 ); printf( " Valores no array2 por linha:\n" ); 19 escrevearray( array2, 2 ); printf( " Valores no array3 por linha:\n" ); 22 escrevearray( array3, 2 ); return 0; 25 2 } /* fim main */ 27 fig0_21.c (1 de 2 ) todos os elementos de array1 são inicializados array2 e array3 são inicializados parcialmente /* escreve o conteudo do vector a com 3 colunas e n linhas */ 29 void escrevearray( int a[][ 3 ], int n ) 30 { 31 int i; /* contador para as linhas */ 32 int j; /* contador para as colunas */ /* ciclo que percorre as linhas */ 35 for ( i = 0; i < n; i++ ) { 3 37 /* imprime os valores em coluna */ 38 for ( j = 0; j <= 2; j++ ) { 39 printf( "%d ", a[ i ][ j ] ); 40 } /* fim for interno */ printf( "\n" ); /* inicia uma nova linha */ 43 } /* fim for externo */ } /* fim escrevearray */ Valores no array1 por linha: Valores no array2 por linha: Valores no array3 por linha: fig0_21.c (2 de 2 ) 48
13 1 /* Fig..22: fig0_22.c - Vectores bi-dimensionais 2 notas de varios alunos em multiplos exames */ 4 #define DIM_ALUNOS 3 5 #define DIM_EXAMES 4 7 /* prototipos */ 8 int minimo( int notas[][ DIM_EXAMES ], int alunos, int provas ); 9 int maximo( int notas[][ DIM_EXAMES ], int alunos, int provas ); 10 double media( int notas[], int provas ); 11 void escrevearray( int notas[][ DIM_EXAMES ], int alunos, int provas ); int main( void ) 15 { 1 int aluno; /* contador */ /* inicializa notas de tres alunos (linhas) */ 19 int notasalunos[ DIM_ALUNOS ][ DIM_EXAMES ] = 20 { { 14, 12, 1, 12 }, 21 { 19, 18, 18, 17 }, 22 { 10, 17, 17, 15 } }; /* imprimir as notas dos alunos */ 25 printf( "Notas:\n" ); 2 escrevearray(notasalunos, DIM_ALUNOS, DIM_EXAMES ); 27 Cada linha no array corresponde às notas de um aluno fig0_22.c (1 de ) /* determina a nota mais baixa e a nota mais alta */ 29 printf( "\n\nmenor nota: %d\nmaior nota: %d\n", 30 minimo( notasalunos, DIM_ALUNOS, DIM_EXAMES ), 31 maximo( notasalunos, DIM_ALUNOS, DIM_EXAMES) ); /* calcula a media de notas de cada aluno */ 34 for ( aluno = 0; aluno < DIM_ALUNOS; aluno++ ) { 35 printf( "A media das notas do aluno %d eh %.2f\n", 3 aluno, media( notasalunos[ aluno ], DIM_EXAMES ) ); 37 } /* fim for */ return 0; } /* fim main */ 42 fig0_22.c (2 de ) Para a função media passa-se a linha aluno do array notasalunos /* Nota minima no vector notas onde numero de linhas eh alunos */ 44 e numero de colunas eh provas */ 45 int minimo( int notas[][ DIM_EXAMES ], int alunos, int provas ) { 4 int i; /* contador para os alunos */ 47 int j; /* contador para as provas */ 48 int minnota = 20; /* inicializa com o maior valor possivel de nota */ /* percorre as linhas de notas */ 51 for ( i = 0; i < alunos; i++ ) { /* percorre as colunas da linha i */ 54 for ( j = 0; j < provas; j++ ) { 55 5 if ( notas[ i ][ j ] < minnota ) { 57 minnota = notas[ i ][ j ]; 58 } /* fim if */ 59 0 } /* fim for interno */ 1 2 } /* fim for externo */ 3 4 return minnota; /* devolve a nota minima */ 5 } /* fim funcao minimo */ 7 fig0_22.c (3 de ) 51 8 /* Nota maxima no vector notas onde numero de linhas eh alunos 9 e o numero de colunas eh provas */ 70 int maximo( int notas[][ DIM_EXAMES ], int alunos, int provas ) { 71 int i; /* contador para alunos */ 72 int j; /* contador para provas */ 73 int maxnota = 0; /* nota maxima - inicializa com o menor valor possivel */ /* percorre as linhas de notas */ 7 for ( i = 0; i < alunos; i++ ) { /* percorre as colunas de notas na linha i */ 79 for ( j = 0; j < provas; j++ ) { if ( notas[ i ][ j ] > maxnota ) { 82 maxnota = notas[ i ][ j ]; 83 } /* fim if */ } /* fim for interno */ 8 87 } /* fim for externo */ return maxnota; /* devolve a nota maxima */ } /* fim funcao maximo */ 92 fig0_22.c (4 de ) 52
14 93 /* Media das notas de um dado aluno passadas no vector notasdealuno 94 com dimensao provas */ 95 double media( int notasdealuno[], int provas ) { /* escreve as notas no formato de tabela */ 118 for ( i = 0; i < alunos; i++ ) { int i; /* contador de provas */ 120 /* escreve numero do aluno */ 97 int total = 0; /* soma das notas */ 121 printf( "\nnotasdoaluno[%d] ", i ); /* calcula a soma das notas */ 100 for ( i = 0; i < provas; i++ ) { 101 total += notasdealuno[ i ]; fig0_22.c (5 de ) /* escreve as notas do aluno i */ 124 for ( j = 0; j < provas; j++ ) { 125 printf( "%5d", notas[ i ][ j ] ); fig0_22.c ( de ) 102 } /* end for */ 12 } /* fim for interno */ return ( double ) total / provas; /* media */ 128 } /* fim for externo */ } /* fim funcao media */ } /* fim funcao escrevearray */ /* Escreve o array notas com alunos linhas e provas colunas */ 109 void escrevearray( int notas[][ DIM_EXAMES ], int alunos, int provas ) 110 { 111 int i; /* contador para alunos */ 112 int j; /* contador para as provas */ /* escreve o cabecalho das colunas */ 115 printf( " [0] [1] [2] [3]" ); Notas: [0] [1] [2] [3] notasdoaluno[0] notasdoaluno[1] notasdoaluno[2] Menor nota: 10 Maior nota: 19 A media das notas do aluno 0 eh A media das notas do aluno 1 eh A media das notas do aluno 2 eh 14.75
Introdução à Programação em C Input / Output
Introdução à Programação em C Input / Output Resumo Aula Anterior Programa começa com função main() Sintaxe para definição de funções Definição de variáveis e atribuições Estruturas de controlo if-then
Leia maisPonteiros e Tabelas. K&R: Capítulo 5
Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Leia maisIntrodução à Programação em C
Introdução à Programação em C Tabelas Resumo Aulas Anteriores Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Leitura e Escrita de Caracteres Input/Output Leitura
Leia maisIntrodução à Programação em C (II)
Introdução à Programação em C (II) Resumo Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Cópia de Ficheiros Contagem de Caracteres Contagem de Linhas Contagem
Leia maisLinguagem C. André Tavares da Silva.
Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser
Leia maisMétodos Computacionais em Física
Métodos Computacionais em Física Tatiana G. Rappoport tgrappoport@if.ufrj.br 214-2 Variáveis indexadas (arrays) Diversos problemas requerem o uso de vetores ou matrizes: Um conjunto de dados do mesmo tipo
Leia maisComputação Eletrônica. Vetores e Matrizes. Prof: Luciano Barbosa. CIn.ufpe.br
Computação Eletrônica Vetores e Matrizes Prof: Luciano Barbosa Recapitulando: Funções 2 Recapitulando: Função Void 3 Recapitulando: Escopo das Variáveis Referência à variável global A variável de escopo
Leia maisLinguagem C: Introdução
Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais
Leia maisponteiros INF Programação I Prof. Roberto Azevedo
ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência
Leia maisMatrizes em C. Lucas Ferrari de Oliveira Professor Adjunto. Universidade Federal do Paraná
em C Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Uma matriz é uma coleção de variáveis do mesmo tipo que é referenciada por um nome comum; Em C todas as matrizes consistem
Leia maisIntrodução à Computação
Introdução à Computação Linguagem C Aula de hoje Introdução Vetores (revisão) Relacionamento entre vetores e ponteiros Professor: André de Carvalho Definição: coleção de valores de dados individuais com
Leia maisLinguagens de Programação
Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte III Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Funções Classes de armazenamento
Leia maisProgramação 11543: Engenharia Informática 6619: Tecnologias e Sistemas de Informação. Cap. 8 Endereçamento de Memória Endereçamento de Memória
Programação 11543: Engenharia Informática 6619: Tecnologias e Sistemas de Informação Cap. 8 Endereçamento de Memória Endereçamento de Memória Sumário: O que nós já sabemos sobre endereçadores (ou apontadores
Leia maisEscreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função.
Engenharia informatica Escreva a função e_caracter que verifica se um determinado caracter é um numero ou não. Escreva um Programa de teste da função. #include Int e_caracter (char c) { Return(
Leia maisProgramação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 7 Arrays. Arrays
5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação Cap. 7 Sumário: Classificação de tipos de dados Características gerais de tipos de dados compostos Definição de array (ou tabela)
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
Leia maisAula 3 Constantes e funções de E/S
Programação I Aula 3 e funções de E/S Prof. Laura Silva de Assis e Prof. Luis Carlos Retondaro Engenharia de Computação 2o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca
Leia maisLINGUAGEM C: ARRAY: VETORES E MATRIZES
LINGUAGEM C: ARRAY: VETORES E MATRIZES Prof. André Backes POR QUE USAR ARRAY? As variáveis declaradas até agora são capazes de armazenar um único valor por vez. Sempre que tentamos armazenar um novo valor
Leia maisFundamentos de Programação
Fundamentos de Programação Linguagem C++: arrays - aula I Bruno Emerson Gurgel Gomes 1 1 Instituto Federal de Educação, Ciência e Tecnologia do RN (IFRN) 2012 Bruno Gomes (IFRN) Fundamentos de Programação
Leia maisFunções de Entrada e Saída
inicio Escrita no ecrã (Saída de dados) Escrever( introduza o valor do raio ) Raio Leitura do valor do raio S Raio < 0 N O utilizador insere o valor do raio (Entrada de dados do teclado) Escrita no ecrã
Leia maisProgramação de Computadores II. Cap. 7 Cadeias de Caracteres 1/2
Programação de Computadores II Cap. 7 Cadeias de Caracteres 1/2 Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos
Leia maisLinguagens de Programação I
Linguagens de Programação I Tema # 7 Vetores ou Matrizes Unidimensionais Matrices Multidimencionais Susana M Iglesias 1 INTRODUÇÃO Um vetor geralmente é associado a uma lista ou conjunto de elementos similares,
Leia maisProgramação: Vetores
Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia
Leia maisEstruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C
Estruturas de Dados Homogêneas (Vetores e Matrizes) e Ponteiros em C 2015/1 Programação Básica de Computadores (INF 09325) Archimedes Detoni www.inf.ufes.br/~archimedesdetoni archimedesdetoni@inf.ufes.br
Leia maisPonteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ
Ponteiros em C Adriano Joaquim de Oliveira Cruz 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo da Seção Introdução Declaração Incrementando e Decrementando
Leia mais#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C
#include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que
Leia maisDeclarações. Tipos de Acesso, Inicialização e Constantes
Declarações Tipos de Acesso, Inicialização e Constantes Objetivo Continuação... ESPECIFICADOR de TIPO de ACESSO const e volatile Além disso, discutiremos as regras gerais do processo de INICIALIZAÇÃO de
Leia maisStrings. Introdução. Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos.
Introdução Definição de strings. Criação/Declaração de strings. Inicialização de strings. Manipulação de strings. Exemplos. 1 definições Uma string é uma sequência, um conjunto, ou uma cadeia de caracteres.
Leia maisLINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha
LINGUAGEM DE PROGRAMAÇÃO C AULA 2 Professor: Rodrigo Rocha TIPOS, VARIÁVEIS E CONSTANTES Tipos de Dados Variáveis Constantes Introdução a entrada e saída Printf Scanf Ferramentas: Dev-C++ Code::Blocks
Leia maisUniversidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Profa Rosana Braga 1º semestre de 2010 1 Arquivo-FONTE /*******************************/ /* Primeiro exemplo arq exemplo1.c
Leia maisTipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas
Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia maisLinguagem de Programação I. Aula 08 Linguagem C: Arrays
Linguagem de Programação I Aula 08 Linguagem C: Arrays Da Aula Anterior Tipos de dados básicos em C Modificadores de tipo Declaração de Variáveis Operadores em C Estruturas de Controle Nesta Aula Arrays
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?
Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o
Leia maisControlo de Execução. K&R: Capitulo 3
Controlo de Execução K&R: Capitulo 3 IAED, 2009/2010 Controlo de Execução Instruções e Blocos if else-if switch Ciclos: Instruçõeswhile e for Instruçãodo-while break e continue goto e labels 2 IAED, 2009/2010
Leia maisEstruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011
Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa
Leia mais11 - Estrutura de um programa em C
11 - Estrutura de um programa em C directivas para o compilador { main ( ) declarações instruções } -É possível utilizar comentários, exemplo: /* Comentário */ que não são traduzidos pelo compilador, pois
Leia maisLINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Leia maisEstrutura de dados 1. Ponteiros
Estrutura de dados 1 Ponteiros Ponteiros Um ponteiro é um endereço de memória O valor de um ponteiro indica onde uma variável está armazenada Um ponteiro proporciona um modo de acesso a uma variável sem
Leia maisFunções em Linguagem C Parte II
Slides inicialmente preparados pelo Prof. Dr. Claudio Fabiano Motta Toledo Funções em Linguagem C Parte II Profa. Dra. Elisa Yumi Nakagawa 1. Semestre 2017 Sumário Introdução a Ponteiros Escopo de Variáveis
Leia maisO que é um apontador em C (type pointer in C)?
O que é um apontador em C (type pointer in C)? Um apontador é uma variável que contém um endereço de outra variável. int x = 10;//variável inteira iniciada com o valor 10 int *px = &x;//variável apontadora
Leia maisAula 03: Introdução a C
Aula 03: Introdução a C Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior O que é um computador Organização de um
Leia maisEstruturas de Dados. Profa. Juliana Pinheiro Campos
Estruturas de Dados Profa. Juliana Pinheiro Campos Vetores Forma mais simples de estruturar um conjunto de dados. Exemplo: int p[10]; // vetor de inteiros com 10 elementos Reserva de um espaço de memória
Leia maisALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória
ALGORITMOS E ESRUTRA DE DADOS I Ponteiros Passagem por Valor e Referência Alocação de Memória 2 Agenda Ponteiros Conceitos gerais O que é Ponteiro? Declaração de Ponteiros Operadores para Ponteiros Exemplos
Leia mais3.1 - Funções para manipular dados de entrada e saída padrão
1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado
Leia maisProgramação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória
Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];
Leia maisProgramação Orientada a Objetos para Redes de Computadores. Arrays. Arrays
Programação Orientada a Objetos para Redes de Computadores Elias Mitre http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Arrays e Ponteiros Arrays Arrays Estruturas de dados que contêm itens
Leia maisLINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.
LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado
Leia maisIntrodução à Computação
Introdução à Computação Linguagem C Professor: André de Carvalho Aula de hoje Introdução Tipos compostos Tipo enumeração Conclusão Tipos compostos A Linguagem C permite criar tipos de dados definíveis
Leia maisUNIVERSIDADE DA BEIRA INTERIOR
UNIVERSIDADE DA BEIRA INTERIOR Programação MIEA 1º Semestre Frequência Resolução 13/12/2016 1. Escreva uma expressão lógica em linguagem C para cada uma das seguintes condições: (a) o valor da variável
Leia maisProgramação Estruturada
Programação Estruturada Ponteiros Parte 1 Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Ponteiros Ponteiro Ponteiros
Leia maisProgramação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Arrays e Ponteiros Arrays Estruturas de dados que
Leia maisprim = A ; prim = &A[0];
57 12 - MAIS SOBRE APONTADOR 12.1 - Ponteiros e arrays Em C, ponteiros e matrizes são tratados de maneira semelhante. 12.1.1 - Nome O nome é um ponteiro, ou seja, aponta (contém o endereço) para o primeiro
Leia maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
Leia maisMétodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Métodos Computacionais Operadores, Expressões Aritméticas e Entrada/Saída de Dados Tópicos da Aula Hoje aprenderemos a escrever um programa em C que pode realizar cálculos Conceito de expressão Tipos de
Leia maisPROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S
PROGRAMAÇÃO I VA R I Á V E I S, C O N S TA N T E S, O P E R A D O R E S E N T R A DA E S A Í DA D E DA D O S Variáveis 2 Variáveis são locais onde são armazenados os valores na memória. Toda variável é
Leia maisTÉCNICAS DE LINGUAGEM DE PROGRAMAÇÃO
TÉCNICAS DE LINGUAGEM DE PROGRAMAÇÃO Ponteiros Definição Variável: área de memória que armazena dados de um certo tipo. Na memória, toda variável possui um endereço. Um Ponteiro é uma variável especial
Leia maisIntrodução à Programação em C
Introdução à Programação em C Funções Resumo Aula Anterior Tabelas Strings (Tabelas de Caracteres) 2 1 Resumo Funções Definição Protótipo e implementação return e void Passagem por valor Exemplos 3 Funções
Leia maisProgramação I Funções. Prof. Carlos Alberto
Programação I Funções Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Funções Funções são blocos de códigos que podem ser nomeados e chamados de dentro de um programa; Funções
Leia maisLinguagem C. Prof.ª Márcia Jani Cícero
Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função
Leia maisProgramação de Computadores II. Cap. 7 Cadeias de Caracteres
Programação de Computadores II Cap. 7 Cadeias de Caracteres Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais
Leia maisIntrodução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados
Introdução à Programação Operadores, Expressões Aritméticas e Entrada/Saída de Dados Programa em C #include int main main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius
Leia maisEstruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1
Estruturas de Dados Módulo 4 Funções 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)
Leia maisMATRIZES. Luís Charneca.
MATRIZES Luís Charneca luis.charneca@gmail.com Matrizes - Vectores (1) Vectores nada mais são que matrizes unidimensionais. É importante notar que vectores, matrizes bidimensionais e matrizes de qualquer
Leia maisLÓGICA DE PROGRAMAÇÃO (C) VETORES E MATRIZES. Professor Carlos Muniz
Vetores são estruturas de dados que armazenam usualmente uma quantidade fixa de dados de um certo tipo; por esta razão, também são conhecidos como estruturas homogêneas de dados. Internamente, um vetor
Leia maisProgramação de Computadores II
Programação de Computadores II 1. Programação Básica 2019.1 Slides adaptados do material de Karina Mochetti Problema, Algoritmo, Programa Um programa de computador é a implementação de um algoritmo para
Leia maisAlocação Dinâmica em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Alocação Dinâmica em C Profa Rosana Braga Adaptado de material preparado pela profa Silvana Maria Affonso de Lara
Leia maisComputação 2. Aula 3. Diego Addan Vetores de caracteres (strings)
Computação 2 Aula 3 Vetores de caracteres (strings) Diego Addan diegoaddan@gmail.com Vetor de caracteres (Strings) Uma cadeia de caracteres, mais conhecida como string, é uma seqüência de caracteres (letras
Leia maisA sintaxe para se declarar uma variável do tipo ponteiro é dada por:
Pense duas vezes e faça uma vez. Provérbio Chinês. PONTEIROS Um ponteiro nada mais é que uma variável capaz de armazenar um número hexadecimal que corresponde a um endereço de memória de outra variável.
Leia maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisIntrodução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis
Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for
Leia maisUniversidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções
Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada
Leia maisPonteiros. Introdução
Ponteiros Introdução Conceito Um PONTEIRO ou APONTADOR é uma variável usada para armazenar um endereço de memória. Normalmente, o endereço armazenado em um PONTEIRO é a posição de uma outra variável na
Leia maisLINGUAGEM C: PONTEIROS
LINGUAGEM C: PONTEIROS Prof. André Backes DEFINIÇÃO Variável É um espaço reservado de memória usado para guardar um valor que pode ser modificado pelo programa; Ponteiro É um espaço reservado de memória
Leia maisLinguagem C (continuação)
Linguagem C (continuação) Funções, arrays e ponteiros Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João
Leia maisIntrodução. Ponteiros
Introdução O correto entendimento e uso de ponteiros é crítico para um programador C. Há três razões para isso: 1. Ponteiros fornecem os meios pelos quais as funções podem modificar seus argumentos; 2.
Leia maisProgramação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação. Cap. 11 Estruturas (Structs) Structs
Programação 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação Cap. 11 Estruturas (Structs) Structs Sumário: Revisitação à taxonomia de tipos de dados Características gerais de tipos
Leia maisFundamentos de Programação. Linguagem C++ aula II - Variáveis e constantes. Prof.: Bruno Gomes
Fundamentos de Programação Linguagem C++ aula II - Variáveis e constantes Prof.: Bruno Gomes 1 Variáveis Representa uma porção da memória que pode ser utilizada pelo programa para armazenar informações
Leia maisEstrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses
1 3 Estrutura de dados 2 Ponteiro Ponteiro 2 O ponteiro é um tipo de dado como int, char ou float. A diferença do ponteiro ponteiro guardará um endereço de memória. Por meio deste endereço pode-se acessar
Leia mais10 a Aula - Operadores de Molde ( Casting ). Atribuição de Memória. Ponteiros. Enumerados. Mestrado em Engenharia Física Tecnológica
10 a Aula - Operadores de Molde ( Casting ). Atribuição de Memória. Ponteiros. Enumerados. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento
Leia maisUniversidade Federal do Espírito Santo. Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza
Universidade Federal do Espírito Santo Programação I Tipos de Dados Básicos - C Professora: Norminda Luiza Variáveis Tipos de Dados Básicos Formação dos identificadores o nome deve começar com uma letra
Leia maisPrincípios de Desenvolvimento de Algoritmos MAC122
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Aula de Revisão: Variáveis e Atribuições Introdução Memória Principal: Vimos no curso anterior que a CPU usa a memória
Leia maisAula 25: Alocação Dinâmica
Aula 25: Alocação Dinâmica Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aulas anteriores Estruturas de memórias heterogêneas
Leia mais3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas
Leia maisFunções getchar() e putchar()
Sumário Tipos elementares Inteiro, Carácter, Real, Booleano, Void Variáveis e os operadores & e * Constantes Funções printf() e scanf() Opções de formatação Funções getchar() e putchar() Programação 2007/2008
Leia maisEstruturas. K&R: Capitulo 6. Estruturas IAED, 2014/2015. Introdução às Estruturas Estruturas e Funções Vectores de Estruturas Typedef Exemplo
Estruturas K&R: Capitulo 6 Estruturas Introdução às Estruturas Estruturas e Funções Vectores de Estruturas Typedef Exemplo 2 1 Motivação Definir uma representação agregada na linguagem C para manipular
Leia maisVetores. e o programa deverá ler os valores separadamente:
Vetores Vetor é um tipo de dado usado para representar uma certa quantidade de variáveis de valores homogêneos (do mesmo tipo). Imagine o seguinte problema: calcular a média das notas da prova de 5 alunos.
Leia maisVetores e Matrizes. Prof. Fabrício Olivetti de França Charles Henrique
Vetores e Matrizes Prof. Fabrício Olivetti de França Charles Henrique Vetores Estáticos Um vetor em C é declarado como: tipo nome[tamanho]; 2 Vetores Estáticos /* vetor de nome v1 com 100 elementos do
Leia maisVariáveis e Operadores em C
Variáveis e Operadores em C Luís Charneca luis.charneca@gmail.com NOMES DE VARIÁVEIS (1) As variáveis no C podem ter qualquer nome se duas condições forem satisfeitas: o nome deve começar com uma letra
Leia maisProgramação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 09 Estruturas
Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 09 Estruturas 1 Sumário: 2 Taxonomia de tipos de dados Tipos de Dados void Tipos Simples Tipos Compostos Tipos Numéricos
Leia maisAmbiente de desenvolvimento
Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa
Leia maisIntrodução à Computação MAC0110
Introdução à Computação MAC0110 Prof. Dr. Paulo Miranda IME-USP Aula 2 Variáveis e Atribuições Memória Principal: Introdução Vimos que a CPU usa a memória principal para guardar as informações que estão
Leia maisFundamentos de Programação
Fundamentos de Programação CP41F Aula 11 Prof. Daniel Cavalcanti Jeronymo Vetores (arrays). Vetores de caracteres (strings). Busca em vetores. Matrizes (arrays bidimensionais e multidimensionais). Universidade
Leia maisO vetor é provavelmente um dos mais simples e importantes tipos agregados. Através do seu uso, podemos
Cláudio C. Rodrigues Faculdade da Computação -UFU LINGUAGEM C 04: VETORES, STRINGS E MATRIZES Faculdade da Computação - UFU 1 Introdução & Objetivo O vetor é provavelmente um dos mais simples e importantes
Leia maisPonteiros. prof. Fabrício Olivetti de França
Ponteiros prof. Fabrício Olivetti de França Anteriormente em prog. estrut. Vimos que as variáveis representando arrays em C armazenam apenas um apontador para o endereço de memória contendo os valores
Leia maisMais sobre Ponteiros em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Mais sobre Ponteiros em C Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO
Leia maisCentro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros
Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II Ponteiros Profa.: Simone Ceolin Slides (Prof.Tiago Rios da Rocha) Primeiro Semestre 2011 Sumário
Leia maisAula 20 - Ponteiros. Prof. Laura Silva de Assis. Engenharia de Computação. CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca
Programação Aula 20 - Ponteiros Prof. Laura Silva de Assis Engenharia de Computação 2 o Período CEFET/RJ - Centro Federal de Educação Tecnológica Celso Suckow da Fonseca UnED Petrópolis 2 o semestre -
Leia maisUNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014
UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014 Programação em C 30/06/2014 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Qual o objetivo de um
Leia mais