CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas.

Slides:



Advertisements
Apresentações semelhantes
Funções em C.
Advertisements

Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 04 Aquiles Burlamaqui UERN
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Algoritmos de manipulação de estruturas elementares de dados
Programação II Estruturas de Dados
Algoritmos e Programação Linguagens de Programação Teoria Aula 7 (19/05) Universidade Federal do Vale do São.
Introdução a Programação
Vetores Declaração – float vetor[5]; Identificação de um elemento – índice variando de 0 a (N-1), N = número de elementos do vetor – Cuidado: o C não checa.
Introdução à Linguagem C
LPG – I Prof. Flavio Marcello
Universidade Federal do Espírito Santo Programação II Vetores Professora: Norminda Luiza.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas.
Linguagem C Funções.
Vetores, Matrizes e Funções
Vetores, Matrizes e Funções
Ponteiros em Linguagem C
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Matrizes e Funções - Continuação
Slides: Prof. SIMÃO Revisão: Prof. João Fabro
Slides: Prof. João Fabro UTFPR - Curitiba
Funções.
Matrizes clássicas e vectores em C++
Vetor de Ponteiros Exemplo de Alocação. Escrever Vetor de Vetores de floats int main() { int i, k, n; float **vetor; // vetor de vetores int *tamanho;
O Portal do Estudante de Computação
APRESENTAÇÃO: DAVID ANDERSON CARDOSO DANTAS CURSO DE C AULA 04: Funções Maceió, Maio de 2010.
Informática e Computação Estrutura de Repetição aula 13
Aula 07.
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
Construção de Algoritmos AULA 04
Construção de Algoritmos AULA 03
Linguagem de Programação II
UNIDADE 6 - complemento Funções recursivas
PROGRAMAÇÃO I PONTEIROS.
Programação II Estruturas de Dados Aula 02 - continuação
Computador Cleópatra Programação Assembly e Alto Nível
UNIDADE 5 ESTRUTURAS DE DADOS HOMOGÊNEAS
Introdução à linguagem C
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014
Linguagem de Programação
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014
APRENDER A APRENDER deve ser nossa meta. Comandos de Controle de Programa Comandos de Seleção Prof. Me. Jeime Nunes.
INTRODUÇÃO.
Prof.: Edson Holanda Teoria da computação
Uso de parâmetros na linha de comando. Parâmetros da função main:
CES-10 INTRODUÇÃO À COMPUTAÇÃO Capítulo IV Comandos de Controle de Fluxo.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VI Desenhos e Animação.
Joaquim José Hangalo  Podemos entender a memória do computador como um conjunto de células que armazenam informações.  Cada célula.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
Capítulo VI – Variáveis Indexadas 6.1 – A necessidade de variáveis indexadas 6.2 – Vetores e matrizes 6.3 – Aplicações com vetores numéricos 6.4 – Aplicações.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo I Comandos Simples e Repetições.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo I Comandos Simples e Repetições.
Comando de Seleção switch
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo III Comandos de Controle.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VIII Strings, Estruturas e Subprogramas sem Parâmetros.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo X Encadeamento de Estruturas por Ponteiros.
ALGORITMOS Profº Antonio Carlos Marcelino de Paula 1.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Fundamentos de Programação 1 Slides 11 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “ Struct, Union, Enum, Typedef ”
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C”
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C” 1.
Fundamentos de Programação 1 Linguagem C Slides 03 – ‘Vetores’ Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “Vetores” 1.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C” 1.
Fundamentos de Programação 1
Fundamentos de Programação 1
Transcrição da apresentação:

CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo VII Variáveis Indexadas Numéricas

Programa 7.1: Vetor de 10 elementos nulos #include #include int main () { int i, V[10] = {0}; printf ("Vetor de 10 elementos nulos:\n\n"); system ("pause"); printf ("\n\n"); for (i = 0; i <= 9; i++) printf ("%4d", V[i]); printf ("\n\n"); system ("pause"); return 0; } i varia de 0 a 9, escrevendo na mesma linha os valores de: V[0], V[1],..., V[9] V Copiar, salvar e executar

#include #include int main () { int i, n, V[10]; printf ("Vetor de n elementos nulos:\n"); do { do { printf ("\nDigite n (<= 10): "); printf ("\nDigite n (<= 10): "); scanf ("%d", &n); scanf ("%d", &n); } while (n 10); } while (n 10); for (i = 0; i <= n-1; i++) V[i] = 0; printf ("\n"); for (i = 0; i <= n-1; i++) printf ("%4d", V[i]); printf ("\n\n"); system ("pause"); return 0; } Programa 7.2: Vetor de n elementos nulos Copiar, salvar e executar n V

#include #include int main () { int i, n, V[10]; printf ("Vetor de n elementos iguais a 5:\n"); do { do { printf ("\nDigite n (<= 10): "); printf ("\nDigite n (<= 10): "); scanf ("%d", &n); scanf ("%d", &n); } while (n 10); } while (n 10); for (i = 0; i <= n-1; i++) V[i] = 5; printf ("\n"); for (i = 0; i <= n-1; i++) printf ("%4d", V[i]); printf ("\n\n"); system ("pause"); return 0; } Programa 7.3: Vetor de n elementos 5 Copiar, salvar e executar n V

#include #include int main () { int i, n, V[10]; printf ("Leitura e escrita de vetor\n\n"); do { do { printf ("\nDigite o n.o de elementos (<= 10): "); printf ("\nDigite o n.o de elementos (<= 10): "); scanf ("%d", &n); scanf ("%d", &n); } while (n 10); } while (n 10); printf ("\n\n"); for (i = 0; i <= n-1; i++) { printf ("Elemento %d: ", i); scanf ("%d", &V[i]); } printf ("\n\nVetor V:\n\n"); for (i = 0; i <= n-1; i++) printf ("%6d", V[i]); printf ("\n\n"); system ("pause"); return 0; } Programa 7.4: Leitura e escrita de vetor Copiar, salvar e executar n-1019 V

Programa 7.5: Matriz 10 x 10 nula #include #include int main () { int A[10][10] = {0}, i, j; printf ("Matriz 10x10 nula:\n\n"); system ("pause"); system ("pause"); printf ("\n\n"); for (i = 0; i <= 9; i++) { for (j = 0; j <= 9; j++) printf ("%4d", A[i][j]); printf ("\n"); } printf ("\n\n"); printf ("\n\n"); system ("pause"); return 0; } Para i = 0 j varia de 0 a 9, escrevendo na mesma linha os valores de: A[0][0], A[0][1],..., A[0][9] Depois o cursor do vídeo vai para a linha seguinte Para i = 1 j varia de 0 a 9, escrevendo na mesma linha os valores de: A[1][0], A[1][1],..., A[1][9] Depois o cursor do vídeo vai para a linha seguinte Para i = 2 j varia de 0 a 9, escrevendo na mesma linha os valores de: A[2][0], A[2][1],..., A[2][9] Depois o cursor do vídeo vai para a linha seguinte E assim por diante, para i = 9 j varia de 0 a 9, escrevendo na mesma linha os valores de: A[9][0], A[9][1],..., A[9][9] A Copiar, salvar e executar

#include #include int main () { int A[10][10], i, j, m, n; printf ("Matriz m x n nula:\n"); do { do { printf ("\nDigite m e n (<= 10): "); printf ("\nDigite m e n (<= 10): "); scanf ("%d%d", &m, &n); scanf ("%d%d", &m, &n); } while (m 10 || n 10); } while (m 10 || n 10); for (i = 0; i <= m-1; i++) for (j = 0; j <= n-1; j++) A[i][j] = 0; A[i][j] = 0; printf ("\n\n"); for (i = 0; i <= m-1; i++) { for (j = 0; j <= n-1; j++) printf ("%4d", A[i][j]); printf ("\n"); } printf ("\n\n"); system ("pause"); return 0; printf ("\n\n"); system ("pause"); return 0;} Programa 7.6: Matriz m x n nula Copiar, salvar e executar n m-1 9 A

#include #include int main () { int A[10][10], i, j, n; printf ("Matriz n x n diagonal:\n"); do { printf ("\nDigite n (<= 10): "); scanf ("%d", &n); printf ("\nDigite n (<= 10): "); scanf ("%d", &n); } while (n 10); } while (n 10); for (i = 0; i <= n-1; i++) for (j = 0; j <= n-1; j++) A[i][j] = 0; A[i][j] = 0; for (i = 0; i <= n-1; i++) A[i][i] = 7; for (i = 0; i <= n-1; i++) A[i][i] = 7; printf ("\n\n"); for (i = 0; i <= n-1; i++) { for (j = 0; j <= n-1; j++) printf ("%4d", A[i][j]); printf ("\n\n"); } printf ("\n\n"); system ("pause"); return 0; printf ("\n\n"); system ("pause"); return 0;} Programa 7.7: Matriz n x n diagonal Copiar, salvar e executar n m-1 9 A

Exercício 7.1: Colocar o número 27 na diagonal, na primeira e última linha e na primeira e última coluna de uma matriz n x n Exemplo: Exemplo: Matriz n x n moldura: Digite n (<= 10):

Exercício 7.2: Colocar o número 82 da diagonal principal para baixo, obtendo uma matriz triangular inferior Exemplo: Exemplo: Matriz n x n triangular inferior: Digite n (<= 10):

Exercício 7.3: Obter um triangulo de Pascal Exemplos: Exemplos: Triangulo de Pascal: Dimensao (<= 10): Triangulo de Pascal: Dimensao (<= 10): Os elementos da 1ª coluna e da diagonal principal são iguais a 1 Os elementos abaixo da diagonal principal, exceto os da 1ª coluna, são dados por: A[i][j] = A[i-1][j-1] + A[i-1][j] Os elementos acima da diagonal principal não são inicializados nem escritos

#include #include int main () { int A[10][10], m, n, i, j; printf ("Leitura e escrita de matriz\n\n"); do { do { printf ("\nDimensoes m e n (<= 10): "); printf ("\nDimensoes m e n (<= 10): "); scanf ("%d%d", &m, &n); scanf ("%d%d", &m, &n); } while (m 10 || n 10); } while (m 10 || n 10); printf ("\n\n"); printf ("\n\n"); for (i = 0; i <= m-1; i++) { printf ("%d elementos da linha %d: ", n, i); for (j = 0; j <= n-1; j++) scanf ("%d", &A[i][j]); } printf ("\n\nMatriz A:\n\n"); for (i = 0; i <= m-1; i++) { for (j = 0; j <= n-1; j++) printf ("%6d", A[i][j]); printf ("\n\n"); } printf ("\n\n"); system ("pause"); return 0; } Programa 7.8: Leitura e escrita de matriz Copiar, salvar e executar

#include #include int main () { int A[10][10], m, n, i, j; FILE *FileIn; FILE *FileIn; FileIn = fopen ("Matriz.txt", "r"); FileIn = fopen ("Matriz.txt", "r"); printf ("Informacoes sobre matriz:"); printf ("\n\n\tMatriz de entrada no arquivo Matriz.txt"); fscanf (FileIn, "%d%d", &m, &n); fscanf (FileIn, "%d%d", &m, &n); for (i = 0; i <= m-1; i++) for (j = 0; j <= n-1; j++) fscanf (FileIn, "%d", &A[i][j]); fscanf (FileIn, "%d", &A[i][j]); printf ("\n\nMatriz A:\n\n"); for (i = 0; i <= m-1; i++) { for (j = 0; j <= n-1; j++) printf ("%4d", A[i][j]); printf ("\n\n"); } printf ("\n\n"); system ("pause"); return 0; } Programa 7.9: Leitura de matriz por arquivo Copiar, salvar e executar Criar arquivo “Matriz.txt” com: Obs.: A entrada de dados não precisa ser amigável

#include #include int main () { int A[10][10], m, n, i, j; FILE *FileIn, *FileOut; FILE *FileIn, *FileOut; FileIn = fopen ("Matriz.txt", "r"); FileIn = fopen ("Matriz.txt", "r"); FileOut = fopen ("MatrizSaida.txt", "w"); FileOut = fopen ("MatrizSaida.txt", "w"); printf ("Informacoes sobre matriz:"); printf ("\n\n\tMatriz de entrada no arquivo Matriz.txt"); printf ("\n\n\tMatriz de saida no arquivo MatrizSaida.txt"); fscanf (FileIn, "%d%d", &m, &n); fscanf (FileIn, "%d%d", &m, &n); for (i = 0; i <= m-1; i++) for (j = 0; j <= n-1; j++) fscanf (FileIn, "%d", &A[i][j]); fscanf (FileIn, "%d", &A[i][j]); fprintf (FileOut, "Matriz A:\n\n"); for (i = 0; i <= m-1; i++) { for (j = 0; j <= n-1; j++) fprintf (FileOut, "%4d", A[i][j]); fprintf (FileOut, "%4d", A[i][j]); fprintf (FileOut, "\n\n"); } printf ("\n\n"); system ("pause"); return 0; } Programa 7.10: Leitura e escrita de matriz por arquivo Copiar, salvar e executar Abrir e examinar o arquivo “MatrizSaida.txt” Matriz A:

Exercício 7.4: Aumentar o Programa 7.10 para montar e escrever, no arquivo de saída, um vetor de números inteiros contendo a quantidade de números maiores que zero de cada coluna da matriz A Exemplo: seja o seguinte conteúdo do arquivo de entrada com uma matriz 5x6: Exemplo: seja o seguinte conteúdo do arquivo de entrada com uma matriz 5x6:

Saída para a matriz de entrada: Saída para a matriz de entrada: Matriz A: Elementos Elementos Linh 0: Linh 1: Linh 2: Linh 3: Linh 4: > zero:

Exercício 7.5: Aumentar o programa do Exercício 7.4 para montar e escrever, no arquivo de saída, um vetor de números reais contendo a média aritmética dos quadrados dos elementos de cada linha da matriz A Exemplo: Saída para a matriz de entrada: Exemplo: Saída para a matriz de entrada: Matriz A: Elementos | MedQuad Elementos | MedQuad | Linh 0: | Linh 1: | Linh 2: | Linh 3: | Linh 4: | | > zero:

Exercício 7.6: Aumentar o programa do Exercício 7.5 para montar e escrever, no arquivo de saída, um vetor de números inteiros contendo o menor, em valores relativos, dos elementos de cada coluna da matriz A Exemplo: Saída para a matriz de entrada: Exemplo: Saída para a matriz de entrada: Matriz A: Elementos | MedQuad Elementos | MedQuad | Linh 0: | Linh 1: | Linh 2: | Linh 3: | Linh 4: | | > zero: Menor :

Exercício 7.7: Aumentar o programa do Exercício 7.6 para montar e escrever, no arquivo de saída, um vetor de números inteiros contendo a quantidade de elementos ímpares de cada linha da matriz A Exemplo: Saída para a matriz de entrada: Exemplo: Saída para a matriz de entrada: Matriz A: Elementos | MedQuad | Impares Elementos | MedQuad | Impares | | Linh 0: | | 3 Linh 1: | | 3 Linh 2: | | 2 Linh 3: | | 3 Linh 4: | | | | > zero: Menor :

Exercício 7.8: Aumentar o programa do Exercício 7.7 para montar e escrever, no arquivo de saída, outra matriz B(m x n) de inteiros e de dimensões iguais às da matriz A(m x n), tal que: Cada elemento B[i][j] (0  i < m e 0  j < n) deva ser a soma dos elementos das duas diagonais da matriz A que contêm o elemento A[i][j] Cada elemento B[i][j] (0  i < m e 0  j < n) deva ser a soma dos elementos das duas diagonais da matriz A que contêm o elemento A[i][j] Nessa soma, o elemento A[i][j] deve ser contado apenas uma vez. Nessa soma, o elemento A[i][j] deve ser contado apenas uma vez. Ver o exemplo a seguir. Ver o exemplo a seguir.

Exemplo: seja a seguinte matriz A(5x6) de entrada: Exemplo: seja a seguinte matriz A(5x6) de entrada: Seja o elemento A[2][3] Seja o elemento A[2][3] Sejam os elementos das duas diagonais que passam por ele Sejam os elementos das duas diagonais que passam por ele

Exemplo: seja a seguinte matriz A(5x6) de entrada: Exemplo: seja a seguinte matriz A(5x6) de entrada: B[2][3] = = -135 B[2][3] = = -135 Deve-se fazer este cálculo para todos os elementos de B Deve-se fazer este cálculo para todos os elementos de B