1 Resumo: Matrizes. 2.1 Como declarar uma matriz IME/USP. Departamento de Ciência da Computação
|
|
- Ângelo Delgado Espírito Santo
- 7 Há anos
- Visualizações:
Transcrição
1 Departamento de Ciência da Computação MAC2166 Introdução a Computação IME/USP Matrizes 1 Resumo: Matrizes são estruturas bi-dimensionais utilizadas para armazenar dados de um mesmo tipo. Para declarar uma matriz use a seguinte construção: tipo da matriz nome da matriz [num linhas][num colunas]; Para acessar os elementos da matriz, basta definir cada coordenada desejada entre colchetes, ou seja, use A[i][j] para acessar o elemento (i,j) da matriz A. Uma matriz pode ser considerada como um vetor de vetores, assim, o nome da matriz, por exemplo A, é utilizado para referenciar toda a estrutura bidimensional de A, mas cada linha da matriz pode ser utilizada para referenciar uma coluna (correspondente aos elementos da linha A[i]). Quando os dois índices são fornecidos, então acessamos um elemento da matriz. Veja que dessa forma, não é possível referenciar uma coluna diretamente. 2 Descrição: Uma matriz é uma estrutura bidimensional capaz de armazenar dados de um mesmo tipo. Podemos considerar o conceito de matriz como uma extensão do conceito de vetores, onde vetores corresponderia a uma estrutura unidimensional. As matrizes (e vetores) só podem ser acessados através de índices inteiros, ou seja, a dimensão de uma matriz é definida através de 2 números, o número de linhas e o de colunas. Na linguagem C, o primeiro índice (escrito mais perto do nome da matriz) sempre corresponde à linha, e o segundo índice, à coluna a ser acessada. 2.1 Como declarar uma matriz Uma matriz deve ser declarada da seguinte forma: tipo da matriz nome da matriz [num linhas][num colunas]; Exemplos: int matint [6][2]; /* matriz com 6 linhas e 2 colunas de inteiros */ float matreal [5][7]; /* matriz com 5 linhas e 7 colunas de floats */ char matchar [3][4]; /* matriz com 3 linhas e 4 colunas de chars */ Observe que a declaração de matrizes é semelhante à declaração de vetores, porém é necessário definir o tamanho da segunda dimensão. Na primeira declaração, todos os elementos da matriz matint são inteiros. O primeiro número define o número de linhas e o segundo o número de colunas a serem reservados na memória do computador para armazenar essa matriz. A segunda declaração reserva uma matriz de floats, com 3 linhas e 7 colunas.
2 Linha Coluna Conteúdo Comentário 0 0? valor inicial desconhecido 0 1? valor inicial desconhecido 0 2? valor inicial desconhecido 0 3? valor inicial desconhecido 1 0? valor inicial desconhecido 1 1? valor inicial desconhecido 1 2? valor inicial desconhecido 1 3? valor inicial desconhecido 2 0? valor inicial desconhecido 2 1? valor inicial desconhecido 2 2? valor inicial desconhecido 2 3? valor inicial desconhecido Figura 1: área da memória reservada para a matriz matchar. Observe que são reservadas 12 posições, cada uma das 3 linhas tem 4 colunas. Uma vez declarada, por exemplo a matriz matchar com 3 linhas e 4 colunas, é reservada uma região na memória suficiente para armazenar toda a matriz. A figura abaixo mostra essa estrutura: Observe que a matriz pode ser considerada como um vetor de vetores, ou seja, a matriz é um vetor de linhas, e cada linha é um vetor de colunas. Essa idéia será explorada nos exemplos a seguir. 2.2 Como usar matrizes em seus programas Assim como vetores, cada posição da matriz funciona como uma variável, que pode ser acessada através do nome da matriz e os índices entre colchetes que indicam a coordenada desejada. Por exemplo, o trecho de programa abaixo coloca o caractere * em cada uma das posições do vetor matchar: for (lin = 0; lin < 3; lin++) for (col = 0; col < 4; col++) /* lembre-se que um char deve vir entre apostrofes */ matchar[lin][col] = * ; O índice na verdade pode ser uma expressão, mas assim como vetores, tenha sempre cuidado de fornecer um índice válido. 3 Exemplos comentados 3.1 PROBLEMA 1 Faça um programa que leia m, e os elementos de uma matriz real quadrada A m m e imprima quais linhas, colunas e diagonais (principal e secundária) da matriz A são compostas apenas por zeros. Solução (veja os comentários no próprio programa): #include <stdio.h> #define MAX 100 #define SIM 1 #define NAO 0 #define EPS
3 /* função saoiguais: compara se 2 numeros reais são iguais devido a precisão numérica, dois reais NÃO devem ser comparados diretamente para determinar igualdade */ int saoiguais(float f1, float f2) { int res = NAO; float dif = f1 - f2; if (dif < EPS && dif > -EPS) res = SIM; return res; int main () { float A [MAX][MAX]; /* reservando espaço para uma matriz MAX x MAX */ int m, lin, col, sozero; /* leitura dos dados */ printf("entre com o tamanho da matriz quadrada: "); scanf("%d", &m); printf("entre com os elementos da matriz\n"); for (lin=0; lin<m; lin++) for (col=0; col<m; col++) scanf("%f", &A[lin][col]); /* verifica se existe alguma linha só com zeros */ for (lin = 0; lin < m; lin++) { /* para cada linha... */ sozero = SIM; /* sozero é um indicador de passagem que */ for (col = 0; col < m; col++) /* muda de valor se a linha conter algum */ if (saoiguais(a[lin][col], 0.0) == NAO) sozero = NAO; /* elemento diferente de zero */ if (sozero == SIM) /* imprime a resposta parcial */ printf("a linha %d tem so zeros\n", lin); /* verifica se existe alguma coluna só com zeros */ for (col = 0; col < m; col++) { sozero = SIM; for (lin = 0; lin < m; lin++) if (saoiguais(a[lin][col], 0.0) == NAO) sozero = NAO; /* elemento diferente de zero */ if (sozero == SIM) printf("a coluna %d tem so zeros\n", col); /* verifica diagonal principal */ sozero = SIM; for (lin = 0; lin < m; lin++) /* na diagonal, lin é igual a col */ 3
4 if (saoiguais(a[lin][lin], 0.0) == NAO) sozero = NAO; if (sozero == SIM) printf("a diagonal principal tem so zeros\n"); /* verifica diagonal secundária */ sozero = SIM; for (lin = 0; lin < m; lin++) if (saoiguais(a[lin][m-1- lin], 0.0) == NAO) sozero = NAO; if (sozero == SIM) printf("a diagonal secundaria tem so zeros\n"); return 0; 3.2 PROBLEMA 2 - FUNÇÕES COM MATRIZES: O uso de matrizes em funções é bem semelhante ao uso de vetores, ou seja, sempre por referência. Como exemplo, vamos escrever um programa que lê duas matrizes e calcula o seu produto, mas dessa vez, usando funções para ler e imprimir as matrizes. Vamos primeiro escrever uma função que carrega uma matriz real m n. void lematriz(float M[MAX][MAX], int m, int n) { int lin, col; for (lin=0; lin<m; lin++) for (col=0; col<n; col++) scanf("%f", &M[lin][col]); Observe a definição da matriz M como parâmetro da função lematriz e que na chamada da função scanf, o endereço de cada elemento é passado através de &M[lin][col]). A dimensão das linhas na verdade é facultativa, ou seja, o protótipo: void lematriz(float M[][MAX], int m, int n); também é válido. Porém, a definição da segunda dimensão é obrigatória, pois caso contrário o compilador não seria capaz de calcular as posições corretas dos elementos da matriz na memória (não saberia quantas colunas pular para chegar na próxima linha). Acreditamos que essa notação possa ser confusa no início, e portanto manteremos a notação que define as duas dimensões. Vamos agora escrever uma função para imprimir uma matriz real m n: void imprimematriz(float M[MAX][MAX], int m, int n) { int lin, col; for (lin=0; lin<m; lin++) { for (col=0; col<n; col++) printf("%.2f \t", M[lin][col]); printf("\n"); /* muda de linha */ Finalmente, vamos escrever o programa que multiplica duas matrizes: 4
5 #include <stdio.h> #define MAX 100 void lematriz(float M[MAX][MAX], int m, int n); void imprimematriz(float M[MAX][MAX], int m, int n); /* Seja A uma matriz de dimensão r x s e B uma matriz de dimensão s x t. Esse programa calcula o produto de A x B, resultando em uma matriz C de dimensão r x t */ int main () { float A[MAX][MAX], B[MAX][MAX], C[MAX][MAX]; int r,s,t; int lin, col, k; float soma; printf("este programa calcula o produto de 2 matrizes\n"); printf("digite as dimensões das matrizes: "); scanf("%d %d %d", &r, &s, &t); printf("entre com os valores da matriz A\n"); lematriz(a, r, s); printf("entre com os valores da matriz B\n"); lematriz(b, s, t); /* a matriz C tem r linhas e t colunas */ for (lin = 0; lin < r; lin++) { for (col = 0; col < t; col++) { /* calculo do produto da linha lin pela coluna col */ soma = 0; for (k = 0; k<s; k++) soma = soma + A[lin][k]*B[k][col]; C[lin][col] = soma; /* vamos imprimir o resultado */ imprimematriz(c, r, t); return 0; Sabemos que um elemento C(lin, col) da saída pode ser calculado através da fórmula: C(lin, col) = s A(lin, k) B(k, col) k=0 Observe que há 3 comandos for encaixados. Dois deles são utilizados para visitar todos os elementos C(lin, col) da saída (a matriz C tem dimensão (r t), e o terceiro é utilizado para calcular o valor da matriz em cada posição, variando k. Matrizes e Vetores Uma matriz pode ser considerada como um vetor de vetores, assim, o nome da matriz (por exemplo A) é utilizado 5
6 para referenciar toda a estrutura bidimensional de A (veja, em particular, como a matriz A foi passada para as funções lematriz e imprimematriz dentro do programa anterior). Mas com A é um vetor de vetores, cada linha da matriz pode ser utilizada para referenciar um vetor coluna (a linha A[i] é um apontador para o ínicio do vetor coluna correspondente à linha A[i]). Quando os dois índices são fornecidos, então acessamos um elemento da matriz. Veja que não é possível referenciar uma coluna diretamente como um vetor devido a maneira utilzada para armazenar uma matriz (veja a tabela 1), ou seja, a matriz mantém a ordem linear dos elementos em uma linha, mas não mantém essa ordem para os elementos de uma coluna. Vamos ver um exemplo, usando o mesmo programa de produto de matrizes, e a função produtoescalar visto na aula sobre funções com vetores. Para sua conveniência, a função produtoescalar é copiada abaixo: float produtoescalar (float V1[MAX], float V2[MAX], int N) { int i; float res = 0; for (i=0; i<n; i++) res = res + V1[i] * V2[i]; return res; Observe que o procedimento para multiplicar uma linha da matriz A por uma coluna da matriz B é o mesmo procedimento do produto escalar. Sabendo que cada linha da matriz pode ser considerado um vetor (mas não as colunas), o seguinte programa calcula o produto de duas matrizes: #include <stdio.h> #define MAX 100 void lematriz(float M[MAX][MAX], int m, int n); void imprimematriz(float M[MAX][MAX], int m, int n); float produtoescalar (float V1[MAX], float V2[MAX], int N); /* Seja A uma matriz de dimensão r x s e B uma matriz de dimensão s x t. Esse programa calcula o produto de A x B, resultando em uma matriz C de dimensão r x t */ int main () { float A[MAX][MAX], B[MAX][MAX], C[MAX][MAX], vet[max]; int r,s,t; int lin, col, k; printf("este programa calcula o produto de 2 matrizes\n"); printf("atraves do usa da funcao produtoescalar \n"); printf("digite as dimensoes das matrizes: "); scanf("%d %d %d", &r, &s, &t); printf("entre com os valores da matriz A\n"); lematriz(a, r, s); printf("entre com os valores da matriz B\n"); lematriz(b, s, t); /* a matriz C tem r linhas e t colunas */ for (lin = 0; lin < r; lin++) { 6
7 for (col = 0; col < t; col++) { /* calculo do produto escalar da linha lin pela coluna col */ /* a linha pode ser passada diretamente, pois é um vetor */ /* a coluna precisa ser carregada em um vetor auxiliar */ for (k = 0; k<s; k++) vet[k] = B[k][col]; /* repare agora como podemos chamar a funcao produtoescalar */ C[lin][col] = produtoescalar(a[lin], vet, s); /* vamos imprimir o resultado */ imprimematriz(c, r, t); return 0; 4 Exercícios Recomendados 1. Dizemos que uma matriz A n n é um quadrado latino de ordem n se em cada linha e em cada coluna aparecem todos os inteiros 1, 2, 3,..., n (ou seja, cada linha e coluna é permutação dos inteiros 1, 2,..., n). a) Escreva uma função que recebe como parâmetros um inteiro n, um vetor V com n inteiros e verifica se em V ocorrem todos os inteiros de 1 a n. b) Usando a função acima, verifique se uma dada matriz inteira Anxn é um quadrado latino de ordem n. 2. a) Escreva uma função que recebe como parâmetros uma matriz real A n m, e uma posição (i, j) da matriz, e calcula a média aritmética dos vizinhos de (i, j), ou seja, a média entre A[i 1][j], A[i + 1][j], A[i][j + 1] e A[i][j + 1]. Desconsidere os vizinhos nas diagonais e que não pertencem a matriz (por exemplo, os vizinhos de (0, 0) são somente (0,1) e (1,0)). b) Escreva uma função que recebe como parâmetro uma matriz real A n m e devolve uma matriz A média, onde A média [i][j] é a média aritmética dos vizinhos de (i,j). Para isto, utilize a função do item anterior. c) Escreva um programa que lê uma matriz real A n m, e um número inteiro k; utilizando a função do item anterior, o programa deve transformar a matriz k vezes, imprimindo a matriz inicial e depois de cada transformação. 7
Introdução à Computação - Linguagem C: aula 06. Mauro Cesar Bernardes 04/Junho/2014
Introdução à Computação - Linguagem C: aula 06 Mauro Cesar Bernardes 04/Junho/2014 Agenda Passagem de parâmetros por valor e por referência Vetores e Matrizes Passagem de parâmetros por valor #include
Leia maisEstruturas Compostas Matriz
Estruturas Compostas Matriz Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2017 Slides inicialmente preparados pela Profa. Dra. Simone Souza 2 Introdução n Como armazenar um nome em um programa? n Uso
Leia maisFigura 1: Uma matriz contem elementos de um mesmo tipo, com início em (0,0). 30 é o número de colunas!
22 Matrizes Ronaldo F Hashimoto e Carlos H Morimoto Oobjetivodestaaulaéintroduzirotipomatriz Aofinaldessaaulavocêdeverásaber: descrever o que são matrizes em C Declarar matrizes Como acessar elementos
Leia maisMatrizes. DCC 119 Algoritmos
Matrizes DCC 119 Algoritmos Matrizes: vetores multidimensionais Assim como os vetores, as matrizes são estruturas de dados homogêneas. Podem ser construídas dos diversos tipos básicos primitivos (real,
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 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 maisAlgoritmos e Programação
Algoritmos e Programação Aula 7 Vetores Profa. Marina Gomes marinagomes@unipampa.edu.br 19/05/2017 Engenharia de Computação - Unipampa 1 Motivação Problema: Leia as notas de uma turma de cinco estudantes
Leia maisMAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011
MAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011 Nome: Assinatura: N ō USP: Turma: Professor: Instruções: 1. Não destaque as folhas deste caderno. 2.
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 maisCCO 016 / COM 110 Fundamentos de Programação
CCO 016 / COM 110 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 12 Agregados Homogêneos Variáveis Indexadas matrizes Variáveis Indexadas bi dimensionais
Leia maisMAC 2166 Introdução à Computação para Engenharia
MAC 2166 Introdução à Computação para Engenharia PROVA 3 QUESTÃO 1 (VERSÃO A). Simule a execução do programa abaixo, destacando a saída do programa. A saída do programa é tudo que resulta dos comandos
Leia maisFunções Vetores Matrizes
Funções Vetores Matrizes Além dos tipos elementares (float, double, char, etc.), é possível também passar um vetor ou uma matriz como parâmetro de funções. Quando um vetor é passado como parâmetro, o que
Leia maisAula 17 Variáveis indexadas de vários índices (matrizes)
Aula 17 Variáveis indexadas de vários índices (matrizes) Variáveis indexadas podem ter mais de um índice e são chamadas genericamente de matrizes. Declaração: int a[10][10]; /*declara 100 variáveis a[0][0],...,
Leia maisMAC 2166 Introdução à Computação para Engenharia
MAC 2166 Introdução à Computação para Engenharia PROVA 2 QUESTÃO 1. Simule a execução do programa abaixo, destacando a sua saída. A saída do programa consiste de tudo que resulta dos comandos printf. int
Leia maisModularidade - Funções e Procedimentos
Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada
Leia maisVetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.
Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C. Vetores(Arrays) Prof. Gemilson George gemilson@colegiogeo.com.br Blog: informaticageo.wordpress.com GEO.OBI Aula 05 Definição:
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 maisUniversidade Federal de Goiás Instituto de Informática Introdução à Computação Professor: Julliano Rosa Nascimento
Universidade Federal de Goiás Instituto de Informática Introdução à Computação Professor: Julliano Rosa Nascimento Parte 1: Vetores Gabarito - Lista de Exercícios 5 Vetores e Matrizes 1) O que será impresso
Leia maisAlgoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Matrizes. Para começar... Matrizes. Matrizes
Algoritmos e Lógica de Programação 80 horas // 4 h/semana Aula 13 Prof. Piva Para começar... Vamos considerar um algoritmo que foi elaborado para para armazenar os Nomes e as Médias Finais dos 20 alunos
Leia mais1ª Lista de Exercícios
Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule
Leia maisVetores são estruturas indexadas utilizadas para armazenar dados de um mesmo tipo: int, char, float ou double. Oexemploaseguirédeumvetordeinteiros:
18 Vetores Ronaldo F. Hashimoto e Carlos H. Morimoto Nessa aula vamos introduzir o tipo vetor. Aofinaldessaaulavocêdeverásaber: Descrever o que são vetores na linguagem C. Declarar vetores. Como acessar
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 maisFaculdade de Computação
Faculdade de Computação Programação Procedimental 1 o Laboratório de Programação C Prof. Cláudio C. Rodrigues 1. Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
Leia maisComputação 2. Aula 2. Profª. Fabiany Vetores e Matrizes
Computação 2 Aula 2 Vetores e Matrizes Profª. Fabiany fabianyl@utfpr.edu.br Vetores Vetor também é conhecido como variável composta homogênea unidimensional; Um vetor computacional é um variável composta
Leia maisModulo 3: Else, Case, For...
PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 3: Else, Case, For... Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Mais Comandos Condicionais Estrutura de Repetição Contável 2 Exemplo de
Leia mais19 Vetores, Ponteiros e Funções
19 Vetores, Ponteiros e Funções Ronaldo F. Hashimoto e Carlos H. Morimoto Oobjetivodestaaulaérelacionarotipovetor com ponteiros eassimentendercomoutilizarvetorescomo parâmetros de funções. Ao final dessa
Leia maisQuantas variáveis para armazenar as notas e as médias são necessárias para resolver este problema?
Matrizes Problema: Ler as 5 notas de 7 alunos (identificados por um número entre e 6), calcular a média de cada aluno, e após imprimir as notas e médias dos alunos, classificados pela média. Quantas variáveis
Leia maisFaculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1
Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação Lista de Exercícios 1 1. O programa seguinte tem vários erros em tempo de compilação. Encontre-os. Main() int a=1; b=2,
Leia maisVetores(Arrays) Olimpíadas de Informática. Aulas preparatórias Introdução a Programação em C.
Olimpíadas de Informática Aulas preparatórias Introdução a Programação em C. Vetores(Arrays) Prof. Gemilson George gemilson@colegiogeo.com.br Blog: informaticageo.wordpress.com GEO.OBI Aula 05 Vetores
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 maisLinguagem C vetores. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná
Linguagem C vetores IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Introdução à linguagem C Estrutura de um programa Escrita e execução do primeiro
Leia maisAula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU
Aula 8 Oficina de Programação Vetores Profa. Elaine Faria UFU - 2017 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral
Leia maisProgramação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 6 Exercício 1 Dados dois vetores com n (n
Leia maisDefinição de Matrizes em Linguagem C. Matrizes unidimensionais
Definição de Matrizes em Linguagem C As matrizes em geral são caracterizadas por se tratarem de uma única variável de um determinado tamanho que guarda varias informações do mesmo tipo. Essas informações
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 a Computação
Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens
Leia maisPROGRAMAÇÃO DE COMPUTADORES V - TCC Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick
PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Funções Escopo de Variáveis Variáveis Globais
Leia maisAula 04. Agregados Homogêneos. Agregados Heterogêneos. Matrizes
Logo Aula 04 Agregados Homogêneos Matrizes Agregados Heterogêneos 2 Matriz Da mesma forma que as variáveis indexadas vetoriais, vistas anteriormente, as variáveis indexadas bidimensionais são utilizadas
Leia maisSubprogramas. Prof. Carlos Lopes
Subprogramas Prof. Carlos Lopes Motivação Escreva um programa C capaz de calcular a combinação de n valores tomados p a p. Para realizar este cálculo, você deverá utilizar a seguinte fórmula: C n n! p
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 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 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 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 maisMAC 2166 Introdução à Computação para Engenharia
MAC 2166 Introdução à Computação para Engenharia PROVA 1 QUESTÃO 1. Simule a execução do programa abaixo, destacando a sua saída. A saída do programa consiste de tudo que resulta dos comandos printf. int
Leia maisComputação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010 1 Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos
Leia maisMC102 Algoritmos e Programação de Computadores
MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Roteiro 1 Maior número 2 Soma de n números 3 Fatorial 4 Máximo Divisor Comum (MDC) 5 Números primos
Leia mais1 Exercícios com ponteiros
Computação para Informática Funções e Ponteiros1 EXERCÍCIOS COM PONTEIROS Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Funções e ponteiros O objetivo desta aula prática
Leia maisComputação 2. Aula 7. Profª. Fabiany Ponteiros
Computação 2 Aula 7 Ponteiros Profª. Fabiany fabianyl@utfpr.edu.br O que são Ponteiros? Um ponteiro é uma variável que contém um endereço de memória. Este endereço é normalmente a posição de uma outra
Leia maisLinguagem C (repetição)
Linguagem C (repetição) André Tavares da Silva andre.silva@udesc.br Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,
Leia maisComputação Informática
Computação Informática Linguagem C Matrizes em C Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO 1 Estrutura de Dados Homogênea matrizes Uma matriz computacional é um váriável composta capaz de armazenar uma
Leia maisMAC2166 Introdução à Computação
Departamento de Ciência da Computação - IME - USP MAC2166 Introdução à Computação Prova 2 QUESTÃO 1 Simule a execução do programa abaixo, destacando a sua saída. A saída do programa consiste de tudo que
Leia maisComputação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008
Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Introdução O objetivo desta aula prática é exercitar comandos de entrada e saída simples
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 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 maisSCC Algoritmos e Estruturas de Dados I
SCC 202 - Algoritmos e Estruturas de Dados I Lista 4 de Exercícios (Listas Generalizadas, Listas Cruzadas) 1. Sobre listas generalizadas, responda os seguintes itens: (a) Quais suas vantagens? (b) Quais
Leia maisSSC304 Introdução à Programação Para Engenharias. Ponteiros. GE4 Bio
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias s GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr.
Leia maisMAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003
MAC 2166 Introdução à Computação para Engenharia Escola Politécnica Primeiro Semestre de 2003 Primeira Prova 2 de abril de 2003 Nome: Assinatura: N ō USP: Turma: Instruções: Professor: 1. Não destaque
Leia maisMAC2166 Introdução à Computação para Engenharia Escola Politécnica Segunda Prova 19 de maio de 2008
MAC2166 Introdução à Computação para Engenharia Escola Politécnica Segunda Prova 19 de maio de 2008 Nome: Assinatura: N ō USP: Turma: Instruções: Professor: 1. Não destaque as folhas deste caderno. 2.
Leia mais1) Operadores de auto incremento ++ e auto decremento --
Aula 09 - Operadores de auto incremento e auto decremento, atribuição múltipla, atribuição na declaração, atribuição resumida e algumas regras de boa programação. 1) Operadores de auto incremento ++ e
Leia maisLinguagem C Variáveis Indexadas ( vetores e Matrizes) Lógica de Programação
Linguagem C Variáveis Indexadas ( vetores e Matrizes) Lógica de Programação Caro(a) aluno(a), Começaremos agora a montar vetores e matrizes na linguagem de programação. Bom trabalho!!! Variáveis Indexadas
Leia maisAula 06 Introdução à Programação Matrizes
Aula 06 Introdução à Programação Matrizes Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro Matrizes Unidimensionais (Vetor) Bidimensionais String Exercícios Gustavo Callou DEINFO/UFRPE
Leia maisCapítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática
Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.
Leia maisINF 1620 P1-04/10/03 Questão 1 Nome:
INF 1620 P1-04/10/03 Questão 1 a) Implemente uma função para calcular as raízes de uma equação do segundo grau do tipo ax 2 +bx+c=0. O protótipo dessa função deve ser: void raizes (float a, float b, float
Leia maisMC-102 Aula 12 Matrizes e Vetores Multidimensionais
MC-102 Aula 12 Matrizes e Vetores Multidimensionais Instituto de Computação Unicamp 22 de Setembro de 2016 Roteiro 1 Matrizes e Vetores Multidimensionais Declaração de Matrizes Acessando dados de uma Matriz
Leia maisProgramação de Computadores II. Cap. 5 Vetores
Programação de Computadores II Cap. 5 Vetores Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
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 maisESTRUTURAS COMPOSTAS
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR Clique para adicionar texto Profa. Dra. Elisa Yumi Nakagawa 1. Semestre de 2017 Slides inicialmente preparados pela Profa. Rosely Sanches
Leia maisESTRUTURAS COMPOSTAS. Variáveis Compostas Unidimensionais VETOR. Baseado nos slides de Rosely Sanches e Simone Senger de Souza
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR Baseado nos slides de Rosely Sanches e Simone Senger de Souza 2 ESTRUTURAS COMPOSTAS Pode-se organizar os dados dos tipos simples em tipos
Leia maisExercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal
Exercício Crie uma função que recebe o número de dias até um determinado evento e calcula e retorna o equivalente em meses, semanas e dias, sem usar vetor ou o conceito de vetor. Considerar que todos os
Leia maisDeclarando e Utilizando Ponteiros. Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável;
Declarando e Utilizando Ponteiros Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável; É o asterisco (*) que faz o compilador saber que aquela variável não vai guardar
Leia maisEstruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos... Vetores, Matrizes e Strings Introdução à Computação 1 de 27
Estruturas de Dados Nem sempre, a manipulação de dados é feita por simples elementos... Vetores, Matrizes e Strings Introdução à Computação 1 de 27 Estruturas de Dados Estruturas de dados permitem que
Leia maisEstruturas de Dados. Nem sempre, a manipulação de dados é feita por simples elementos...
Estruturas de Dados Nem sempre, a manipulação de dados é feita por simples elementos... Vetores, Matrizes e Strings Programação de Computadores 1 de 27 Estruturas de Dados Estruturas de dados permitem
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 maisProgramação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO Função Printf() Sintaxe printf( expressão de controle, argumentos); É uma função padrão para exibir uma mensagem na
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 Principais Tópicos 3.6. Ponteiros 3.6.1. Introdução 3.6.2. Uso
Leia maisMC-102 Aula 13. Instituto de Computação Unicamp. 29 de Setembro de 2016
MC-102 Aula 13 Funções I Instituto de Computação Unicamp 29 de Setembro de 2016 Roteiro 1 Funções Definindo uma função Invocando uma função 2 O tipo void 3 A função main 4 Protótipo de funções 5 Funções
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 maisINF 1620 P1-13/09/02 Questão 1 Nome:
INF 1620 P1-13/09/02 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$
Leia maisModularidade - Fun ções e Procedimentos
Modularidade - Fun ções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situa ções, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de
Leia maisAlgoritmos e Programação
Algoritmos e Programação Aula 8 Matrizes Profa. Marina Gomes marinagomes@unipampa.edu.br 30/05/2017 Engenharia de Computação - Unipampa 1 Matrizes As variáveis vetores declarados até o momento possuem
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 maisAlgoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira Anilton Joaquim da Silva
Algoritmos e Programação de Computadores Profs: Ronaldo Castro de Oliveira ronaldo.co@ufu.br Anilton Joaquim da Silva anilton@ufu.br Matrizes Uma matriz é uma variável capaz de armazenar vários dados de
Leia maisMétodos Computacionais em Física I (FIW234) Turmas IFA e IFB Noções Básicas de Linguagem C
Métodos Computacionais em Física I (FIW234) Turmas IFA e IFB Noções Básicas de Linguagem C Edivaldo M. Santos e João R. T. de Mello Neto Aula 4 Edivaldo M. Santos e João R. T. de Mello Neto () Métodos
Leia maisProgramação de Computadores II. Cap. 4 Funções
Programação de Computadores II Cap. 4 Funções Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
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 maisIntrodução à Programação
Introdução à Programação Aula 10 Matrizes Edirlei Soares de Lima Conjuntos Bidimensionais Uma matriz representa um conjunto bidimensional de valores. Exemplo de matriz de inteiros:
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 mais1. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume.
Instituto Federal do Pará Professor: Ricardo José Cabeça de Souza Disciplina: - Algoritmos e Construção de Programas LISTA DE EXERCÍCIOS 1. Faça uma função que recebe por parâmetro o raio de uma esfera
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 maisIntrodução à Programação
Introdução à Programação Aula 09 Vetores Edirlei Soares de Lima Introdução Até agora nós temos usado variáveis simples para armazenar valores usados por nossos programas. Em várias
Leia maisAula 16: Laços aninhados e desvios
Aula 16: Laços aninhados e desvios 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 Comandos de Repetição (Parte
Leia maisComputação eletrônica: Funções
Computação eletrônica: Gurvan Huiban ghuiban@cin.ufpe.br 13 de maio de 2014 Plano de aula 1 Princípio 2 Declaração de funções 3 Escope de variáveis Introdução O que é? Bloco de instruções desenvolvido
Leia maisLinguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná
Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída
Leia maisAula 10 Oficina de Programação Matrizes. Profa. Elaine Faria UFU
Aula Oficina de Programação Matrizes Profa. Elaine Faria UFU - 27 Variáveis Compostas Homogêneas O que uma variável composta homogênea? - Conjunto de variáveis do mesmo tipo - É chamada de forma geral
Leia maisAula 2 Comandos de Decisão
Departamento de Sistemas de Computação Universidade de São Paulo SSC 502 Laboratório de Introdução a Ciência de Computação I Aula 2 Comandos de Decisão Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)
Leia maisCCO 016 Fundamentos de Programação
CCO 016 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 09 Agregados Homogêneos Variáveis Indexadas Vetores EXEMPLO 1 Um programa deve calcular quem
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 maisLaboratório de 13 de maio de 2019
Laboratório de 13 de maio de 2019 O laboratório de hoje irá permitir que o aluno revise diversos dos conceitos e ferramentas estudados ao longo do curso. São 6 atividades em níveis crescentes de dificuldade,
Leia maisESTRUTURAS COMPOSTAS VETOR
ESTRUTURAS COMPOSTAS Variáveis Compostas Unidimensionais VETOR slides desenvolvidos pela Profa. Rosely Sanches 2 ESTRUTURAS COMPOSTAS Pode-se organizar tipos simples em tipos mais complexos formando as
Leia maisComputação 2. Diego Addan Aula 3. Funções
Computação 2 Aula 3 Funções Diego Addan diegoaddan@gmail.com Funções Função é um subprograma que auxilia o programa principal através da realização de uma determinada subtarefa. As funções são chamados
Leia mais