Buscar

linguagem c

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 27 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Cálculo Numérico
JONAS HENRIQUE MENDONÇA
LINGUAGEM C
Seja o problema: Ler 9 valores, calcular a média aritmética dos
mesmos e imprimir a média e os valores iguais ou superiores à
média.
Pergunta-se:
Quantas variáveis serão necessárias para ler os
valores?
9?
Ou 1?
Resposta: 9 variáveis (de mesmo tipo!)
abc
0 1 2 3 4 5 6 7 8
(...)
Solução para o problema das múltiplas variáveis de mesmo tipo:
um vetor
Nome: comum a todas as variáveis
A posição dentro do vetor (índice) identifica os valores individuais
Ex.: abc[0] … abc[8] 
Vetores:
variáveis compostas
homogêneas
• Um só tipo;
• Um só nome;
• Múltiplas posições de memória 
identificadas por índices.
valor[i]
0 1 2 3 4 5 6 7 8i =
(...)
Seja um vetor inteiro de 9 elementos chamado valor
Declaração de um vetor 
( = arranjo de uma só dimensão)
Exemplo: 
int valor[9];
//valor corresponderá a 9 variáveis, com 
// índices variando de 0 a 8
valor[i]
0 1 2 3 4 5 6 7 8i =
(...)
ATENÇÃO
• A primeira posição de um vetor é a posição zero.
Ex.: maior = vet[0]; // inicializacao de variável maior
//com o primeiro valor do vetor vet
 Vetores não são inicializados automaticamente pelo sistema. 
Inicialmente contém valores quaisquer (= “lixo”).
 O sistema não controla a correção dos índices usados. 
Quem deve garantir que os índices estejam dentro do intervalo 
correto é o programador.
Por leitura:
for (i = 0; i <MAX;i++)
scanf(“%d”, &valor[i]);
Algumas formas de inicialização de um vetor: 
Por atribuição, para garantir valor inicial zero a posições que 
funcionarão como contadores ou acumuladores:
for (i = 0; i <MAX;i++)
cont_valores[i]= 0;
O que pode ser usado como índice de um vetor?
Tanto variáveis inteiras quanto constantes numéricas.
Ex.: 
printf(“Escore do aluno %d: “, escore[i]);
printf(“Escore do primeiro aluno %d: “, escore[0]);
Variáveis diferentes podem ser usadas para acessar um vetor em 
momentos diferentes de um programa:
Ex.: scanf(“%d”,&valor[i]);
...
printf(“Valor: %d ”, valor[j]);
Uma mesma variável pode ser usada no mesmo momento 
ou em momentos diferentes para acessar vetores diferentes.
Ex.: 
printf(“\n%d %d”, gabarito[i] , resultado[i]);
Ainda sobre índices de vetores:
Não existe vinculação permanente entre um 
valor ou variável e um vetor.
Qualquer índice (variável ou constante) 
usado para acessar um vetor deve 
corresponder a um valor dentro do 
intervalo de índices válidos para o vetor.
12
Um arranjo multidimensional é o arranjo que 
necessita de mais de um índice para referenciar
seus elementos.
Ex.: arranjo bidimensional ou matriz de duas
dimensões.
Arranjo multidimensional 
#define MAXLIN 7
#define MAXCOL 6
…
float notas [MAXLIN] [MAXCOL];
Acesso a um elemento de Notas:
Declaração de notas como matriz bidimensional:
printf(“%6.2f” , notas[1] [2]);
linha coluna
…
float notas [7] [6];
Outra forma:
14
Arranjos bidimensionais em C
• Primeiro índice : linha;
• Segundo índice : coluna.
Primeira nota do primeiro aluno:
printf(“Nota 1 do Primeiro Aluno: %6.2f“, notas[0] [0]);
Acesso a elementos determinados da matriz:
Primeira nota do terceiro aluno , ou seja, i = 2 j = 0:
scanf(“%f”, &notas[i] [j]);
Última nota do último aluno:
if (notas[6] [5] > 9.5)
... 
Considerando uma matriz definida como notas[7][6] com as notas de 
alunos, em que cada linha corresponde a um aluno e cada coluna a uma 
prova:
ATENÇÃO:
Seja qual for o número de dimensões*
os elementos de um arranjo são sempre de 
mesmo tipo!
* (número de índices necessários para acessar um 
elemento da matriz = número de dimensões da 
matriz)
Funções são segmentos de programa que 
executam uma determinada tarefa específica.
Funções (também chamadas de rotinas, ou sub-
programas) são a essência da programação 
estruturada. 
Ex: sqrt(), strlen(), etc.
O programador também pode escrever suas 
próprias funções, chamadas de funções de 
usuário, que tem uma estrutura muito semelhante 
a um programa.
Funções
tipo_da_funcao nome_da_função (lista_de_parâmetros)
{
//declarações locais
//comandos
}
•tipo_da_funcao: o tipo de valor retornado pela função. Se não especificado, por
falta a função é considerada como retornando um inteiro.
•nome_da_função: nome da função conforme as regras do C
•lista_de_parâmetros: tipo de cada parâmetro seguido de seu identificador, com
vírgulas entre cada parâmetro. Mesmo se nenhum parâmetro for utilizado, os
parênteses são obrigatórios.
Os parâmetros da declaração da função são chamados de parâmetros formais.
Forma geral da declaração de uma função
Ex.: 
soma_valores (int valor1, int valor2) // por falta é inteira
void imprime_linhas(int num_lin)
void apresenta_menu ( )
float conv_dolar_para_reais(float dolar);
Exemplos de cabeçalhos de funções
Ao ser executado o return numa função, um valor é
atribuído à função e ela encerra sua execução.
No ponto onde ocorreu a chamada da função, um valor
passa a estar disponível para processamento.
Comando return
Quando uma função encerra sua execução?
Uma função encerra sua execução quando:
•o fim do seu código é atingido;
ou
•um comando return é encontrado e 
executado.
A declaração da função.
A chamada da função.
Dependendo do caso, o protótipo da função.
O quê é necessário para usar-se uma 
função em Linguagem C?
Matrizes e Funções
#include <stdio.h>
#include <stdlib.h>
#define NUM_ALUNOS 3
int main()
{
float notas [NUM_ALUNOS][2], media_turma;
int i;
for ( i = 0; i < NUM_ALUNOS; i++ )
{
printf ("Digite a 1a. nota do %d o. aluno \n: ", i+1);
scanf ("%f", &notas[i][0]);
printf ("Digite a 2a. nota do %d o. aluno \n: ", i+1);
scanf ("%f", &notas[i][1]);
}
media_turma = media_geral ( notas, NUM_ALUNOS );
printf ( "A media da turma eh %.2f \n", media_turma);
system ("Pause");
return 0;
}
Matrizes e Funções
float media_geral ( float notas[][2], int n )
{
int i = 0;
float m = 0.0;
float notaaluno = 0.0;
for ( i = 0; i < n; i++ )
{
notaaluno = ( notas[i][0] + notas[i][1] )/2;
m = m + notaaluno;
}
m = m / n;
return m;
}
Vetores, Matrizes e Funções
Exercício 1:
• Fazer um programa para ler os dados de duas matrizes 3x3, e 
imprimir:
– A matriz resultante da soma das duas matrizes;
– A matriz resultante da subtração das duas matrizes;
– A matriz resultante da multiplicação das duas matrizes;
• Utilizando funções para a realização dos cálculos;
Vetores, Matrizes e Funções
Exercício 2:
• Fazer um programa para ler os dados de duas matrizes 3x3, e 
imprimir:
– A matriz resultante da soma das duas matrizes;
– A matriz resultante da subtração das duas matrizes;
– A matriz resultante da multiplicação das duas matrizes;
• Utilizando funções para a realização dos 
cálculos;
• Utilizando funções para a leitura das matrizes!!!
Obrigado!

Outros materiais