SlideShare uma empresa Scribd logo
1 de 24
Lucas Perpétuo Moreira
Em programação, vetor ( array ) é um tipo especial de variável capaz de armazenar
diversos valores “ao mesmo tempo” usando um mesmo endereço na memória.
Por armazenar diversos valores também é chamado de variável composta
 A capacidade do vetor, ou seja, quantos elementos ele consegue guardar, deve ser
determinada no momento em que se declara essa variável especial.
 O vetor é uma variável composta unidimensional, ou seja, o acesso a seus dados
tanto para leitura como para escrita precisa apenas de um índice.
 Um vetor pode ser homogêneo, ou seja, armazenar apenas um tipo de valor (real,
inteiro, caracter etc.), ou pode ser heterogêneo e armazenar valores de diferentes
tipos. Caso ele seja heterogêneo o nome struct (estrutura) é mais adequado para
identificar esse tipo.
Para criar um vetor homogêneo basta escrever o tipo da variável seguido do nome
do vetor seguido de colchetes e a quantidade de elementos.
Para armazenarmos um valor dentro de um vetor usamos seu índice.
 Em qualquer vetor o primeiro índice é sempre 0, portanto se declaramos que o
vetor tem capacidade para 5 elementos, seu índice irá variar de 0 a 4 (de n até
n-1).
 Não é obrigatório que todas as posições sejam ocupadas, você pode declarar um
vetor com 10 posições e usar somente 5.
 A atribuição em vetores do tipo char é feita de maneira diferente, usando a função
strcpy (destino,“texto”), disponível na biblioteca <string.h>. Exemplo:
strcpy(produto, “Processador i7”), guarda no vetor produto o texto Processador i7 .
#include <stdio.h>
void main()
{
int numeros[5];
printf("Digite um numero: ");
scanf("%d",&numeros[0]);
printf("Voce digitou o valor: %d",numeros[0]*2);
getchar();
}
O comando getchar() é usado
para fazer uma parada no
sistema, sem esse comando a
janela de execução abre e
fecha e não conseguimos ver o
programa funcionando.
O tipo char é primitivo em qualquer linguagem e uma variável desse tipo tem
capacidade para armazenar um único caractere. Porém, o mais comum é
armazenarmos palavras ou frases, estes nada mais são do que um conjunto de
caracteres. Portanto, para representar tal conjunto precisamos de uma variável que
armazene uma cadeia de caracteres, ou seja, um vetor de caracteres.
Esse tipo de dado é chamado de string, e não é considerado um tipo primitivo
Para guardar valores que o usuário digitou
é preciso usar a função scanf ou fgets
(destino, tamanho, fluxo), ambas
pertencentes à biblioteca <stdio.h>
#include <stdio.h>
void main()
{
char equipamento[20];
char departamento[20];
printf("Digite o equipamento: ");
scanf("%s",equipamento);
printf("Digite o departamento:
");
fflush(stdin);
fgets(departamento,20,stdin);
getchar();
}
1. #include <stdio.h>
2. void main()
3. {
4. char equipamento[20];
5. char departamento[20];
6. printf("Digite o equipamento: ");
7. scanf("%s",equipamento);
8. printf("Digite o departamento:
");
9. fflush(stdin);
10. fgets(departamento,20,stdin);
11. getchar();
12. }
Na linha 6 utilizamos a função scanf () para
guardar o equipamento digitado pelo usuário,
veja que usamos o código “%s” para “informar”
a função que vamos guardar uma string . Já na
linha 9 usamos a função fgets () para guardar o
departamento, que possui um tamanho máximo
de 20 caracteres e seu fluxo de dados está vindo
do “ stdin ” ou seja, da entrada padrão que é o
teclado
Diferença entre as funções:
A função scanf(“%s”) armazena apenas palavras simples, ou seja, ela interrompe o
armazenamento quando encontra um “espaço em branco”.
Já a função fgets() tem outro comportamento, ela armazena qualquer caractere,
inclusive espaços em branco, até que seu tamanho suporte.
O último parâmetro dessa função se refere ao fluxo de origem da string, de onde
está vindo, e pode ser do teclado (stdin) , de arquivo de texto, ou até de banco de
dados. Para que o comando funcione corretamente adicionamos a função
fflush(stdin) antes de capturar a entrada pois essa função limpa qualquer “lixo” que
esteja na memória (buffer) do fluxo de entrada.
Na linha 1 é usado o comando struct para iniciar o bloco que
cria a variável composta seguido de um nome para
identificar tal estrutura, no nosso caso o nome escolhido foi
“ficha_ manutencao”
Das linhas 2 a 6 é feita a declaração dos campos que farão
parte dessa estrutura. O bloco deve estar entre chaves e a
chave que fecha o bloco tem que vir acompanhada por ponto
e vírgula (linha 7).
Na linha 8 temos a variável “ordemServico” sendo declarada
com seu tipo “struct ficha_manutencao”, pois é através
dessa variável que acessaremos os campos para leitura e
escrita.
#include <stdio.h>
void main()
{
struct ficha_manutencao
{
int codigo;
char equipamento[20];
float valor;
};
struct ficha_manutencao ordemServico;
printf("Digite o código da ordem de serviço: n");
scanf("%d",&ordemServico.codigo);
printf("Digite o equipamento: n");
scanf("%s",&ordemServico.equipamento);
printf("Digite o valor: n");
scanf("%f",&ordemServico.valor);
printf (“O equipamento é %s ",
ordemServico.equipamento);
getchar();
getchar();
}
Quando utilizamos campos que não são do tipo char dentro da struct , podemos
atribuir valores direto sem a função scanf() da seguinte forma:
ordemServico.codigo = 12345;
ordemServico.valor = 2130;
Para os campos de caracteres essa atribuição não é permitida na linguagem C. Se
quisermos fazer essa atribuição direta sem uso do scanf() , devemos utilizar a
função strcpy(destino,“texto”) que pertence à biblioteca <string.h>. Então usando
essa função podemos atribuir caracteres da seguinte forma:
strcpy(ordemServico.maquina,“Braçomecânico”);
strcpy(ordemServico.departamento,“Produção”);
Para que os vetores sejam melhor aproveitados é interessante utilizá-los juntamente com
as estruturas de repetição, principalmente a estrutura com variável de controle.
A variável de controle da estrutura de repetição será usada como o índice para a
leitura/armazenamento de dados no vetor, portanto a sintaxe será:
#include <stdio.h>
float main ()
{
float x[10];
int i;
i=0;
for (i=0;i<10;i++)
{
printf("n digite o valor %d ", i);
scanf ("%f", &x[i]);
}
printf ("%f e %f", x[1], x[7]);
}
Sub-rotinas, ou como são mais comumente chamadas, funções, são utilizadas para
organizar o programa e evitar a repetição de comandos.
A sintaxe da declaração de uma função pode ser feita antes ou depois da função da
principal (main) e é feita da seguinte forma:
#include <stdio.h>
void CalcularMedia(float
temperatura)
{
float media;
media = temperatura / 3;
printf("A média diária da
temperatura foi: %.2f",media);
}
void main()
{
float temperaturas[10];
float total;
int i;
for(i=0;i<3;i++)
{
printf("Informe a temperatura %d: ",i);
scanf("%f",&temperaturas[i]);
total = total + temperaturas[i];
}
CalcularMedia(total);
getchar();
}
Faça um programa que armazena o combustível gasto por cada um dos quinze
automóveis da empresa em que você trabalha. O formulário deve permitir a entrada
de dados nas unidades: quilômetro, metro ou milha, e você deve garantir que o dado
que será guardado estará na unidade quilômetro. A conversão da unidade deve ser
feita em uma sub-rotina.
#include <stdio.h>
float TestarUnidade (int unidade, float km)
{
switch (unidade)
{
case 1:
printf ("A distãncia percorrida foi %.2f km", km);
break;
case 2:
printf ("A distãncia percorrida foi %.2f km", km/1000);
break;
case 3:
printf ("A distãncia percorrida foi %.2f km", km/0.621371);
break;
default:
printf ("UNIDADE NÃO ENCONTRADA");
}
}
void main()
{
float distancia [15];
float total, totalConvertido;
int unidadeusada;
int i;
for (i=1; i<=15; i++)
{
printf("digite o valor da quilometragem do carro %d
", i);
scanf ("%f", &distancia[i]);
total = total + distancia[i];
}
printf( "nEscolha a opção da unidade utilizada");
printf("n 1 - km");
printf("n 2 - m");
printf("n 3 - milha n");
scanf("%d", &unidadeusada);
totalConvertido = TestarUnidade
(unidadeusada,total);
getchar();
}
Faça um programa que calcule a média de notas dos alunos de um determinado
professor. Sabendo que esse professor ministra 4 matérias diferentes e em todas as
turmas existem 10 alunos:
A média deve ser calculada por uma subrotina.
Disciplina Nº de provas
Algoritmos 2
Projeto de Máquinas 5
Mecânica Geral 4
Usinagem 6
Faça um algoritmo que calcule a despesa com energia gasta por um processo produtivo de
aquecimento em forno mufla.
A taxa de aquecimento do forno é de 3°C/min e o processo deve ocorrer a uma temperatura de
315°C. O custo do processo é de R$1,50/min.
As informações serão fornecidas em °F e o programa deve conter uma subrotina que seja capaz de
converter a temperatura para °C.
O relatório final deve apresentar o custo em US$, considerando a cotação de 1 real=5,3 dólares

Mais conteúdo relacionado

Semelhante a Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código

Semelhante a Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código (20)

Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
 
Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
 
01 logica
01 logica01 logica
01 logica
 
Aula4
Aula4Aula4
Aula4
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptx
 
Ed1
Ed1Ed1
Ed1
 
Ud2
Ud2Ud2
Ud2
 
Aula de C e C++
Aula de C e C++Aula de C e C++
Aula de C e C++
 
Aula 7 pc - estrutura
Aula 7   pc - estruturaAula 7   pc - estrutura
Aula 7 pc - estrutura
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 
Slides do cuso_php
Slides do cuso_phpSlides do cuso_php
Slides do cuso_php
 
1 exercicio funcoes com string e manipulacao com arquivo
1 exercicio  funcoes com string e manipulacao com arquivo1 exercicio  funcoes com string e manipulacao com arquivo
1 exercicio funcoes com string e manipulacao com arquivo
 
Subalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca LopesSubalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca Lopes
 
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 12 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
Guia Rápido de Referência Java
Guia Rápido de Referência JavaGuia Rápido de Referência Java
Guia Rápido de Referência Java
 

Último

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - DissertaçãoMaiteFerreira4
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFtimaMoreira35
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 

Último (20)

PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
análise de redação completa - Dissertação
análise de redação completa - Dissertaçãoanálise de redação completa - Dissertação
análise de redação completa - Dissertação
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Ficha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdfFicha de trabalho com palavras- simples e complexas.pdf
Ficha de trabalho com palavras- simples e complexas.pdf
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 

Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código

  • 2. Em programação, vetor ( array ) é um tipo especial de variável capaz de armazenar diversos valores “ao mesmo tempo” usando um mesmo endereço na memória. Por armazenar diversos valores também é chamado de variável composta
  • 3.  A capacidade do vetor, ou seja, quantos elementos ele consegue guardar, deve ser determinada no momento em que se declara essa variável especial.  O vetor é uma variável composta unidimensional, ou seja, o acesso a seus dados tanto para leitura como para escrita precisa apenas de um índice.  Um vetor pode ser homogêneo, ou seja, armazenar apenas um tipo de valor (real, inteiro, caracter etc.), ou pode ser heterogêneo e armazenar valores de diferentes tipos. Caso ele seja heterogêneo o nome struct (estrutura) é mais adequado para identificar esse tipo.
  • 4. Para criar um vetor homogêneo basta escrever o tipo da variável seguido do nome do vetor seguido de colchetes e a quantidade de elementos.
  • 5. Para armazenarmos um valor dentro de um vetor usamos seu índice.
  • 6.  Em qualquer vetor o primeiro índice é sempre 0, portanto se declaramos que o vetor tem capacidade para 5 elementos, seu índice irá variar de 0 a 4 (de n até n-1).  Não é obrigatório que todas as posições sejam ocupadas, você pode declarar um vetor com 10 posições e usar somente 5.  A atribuição em vetores do tipo char é feita de maneira diferente, usando a função strcpy (destino,“texto”), disponível na biblioteca <string.h>. Exemplo: strcpy(produto, “Processador i7”), guarda no vetor produto o texto Processador i7 .
  • 7. #include <stdio.h> void main() { int numeros[5]; printf("Digite um numero: "); scanf("%d",&numeros[0]); printf("Voce digitou o valor: %d",numeros[0]*2); getchar(); } O comando getchar() é usado para fazer uma parada no sistema, sem esse comando a janela de execução abre e fecha e não conseguimos ver o programa funcionando.
  • 8. O tipo char é primitivo em qualquer linguagem e uma variável desse tipo tem capacidade para armazenar um único caractere. Porém, o mais comum é armazenarmos palavras ou frases, estes nada mais são do que um conjunto de caracteres. Portanto, para representar tal conjunto precisamos de uma variável que armazene uma cadeia de caracteres, ou seja, um vetor de caracteres. Esse tipo de dado é chamado de string, e não é considerado um tipo primitivo
  • 9. Para guardar valores que o usuário digitou é preciso usar a função scanf ou fgets (destino, tamanho, fluxo), ambas pertencentes à biblioteca <stdio.h> #include <stdio.h> void main() { char equipamento[20]; char departamento[20]; printf("Digite o equipamento: "); scanf("%s",equipamento); printf("Digite o departamento: "); fflush(stdin); fgets(departamento,20,stdin); getchar(); }
  • 10. 1. #include <stdio.h> 2. void main() 3. { 4. char equipamento[20]; 5. char departamento[20]; 6. printf("Digite o equipamento: "); 7. scanf("%s",equipamento); 8. printf("Digite o departamento: "); 9. fflush(stdin); 10. fgets(departamento,20,stdin); 11. getchar(); 12. } Na linha 6 utilizamos a função scanf () para guardar o equipamento digitado pelo usuário, veja que usamos o código “%s” para “informar” a função que vamos guardar uma string . Já na linha 9 usamos a função fgets () para guardar o departamento, que possui um tamanho máximo de 20 caracteres e seu fluxo de dados está vindo do “ stdin ” ou seja, da entrada padrão que é o teclado
  • 11. Diferença entre as funções: A função scanf(“%s”) armazena apenas palavras simples, ou seja, ela interrompe o armazenamento quando encontra um “espaço em branco”. Já a função fgets() tem outro comportamento, ela armazena qualquer caractere, inclusive espaços em branco, até que seu tamanho suporte.
  • 12. O último parâmetro dessa função se refere ao fluxo de origem da string, de onde está vindo, e pode ser do teclado (stdin) , de arquivo de texto, ou até de banco de dados. Para que o comando funcione corretamente adicionamos a função fflush(stdin) antes de capturar a entrada pois essa função limpa qualquer “lixo” que esteja na memória (buffer) do fluxo de entrada.
  • 13.
  • 14. Na linha 1 é usado o comando struct para iniciar o bloco que cria a variável composta seguido de um nome para identificar tal estrutura, no nosso caso o nome escolhido foi “ficha_ manutencao” Das linhas 2 a 6 é feita a declaração dos campos que farão parte dessa estrutura. O bloco deve estar entre chaves e a chave que fecha o bloco tem que vir acompanhada por ponto e vírgula (linha 7). Na linha 8 temos a variável “ordemServico” sendo declarada com seu tipo “struct ficha_manutencao”, pois é através dessa variável que acessaremos os campos para leitura e escrita.
  • 15. #include <stdio.h> void main() { struct ficha_manutencao { int codigo; char equipamento[20]; float valor; }; struct ficha_manutencao ordemServico; printf("Digite o código da ordem de serviço: n"); scanf("%d",&ordemServico.codigo); printf("Digite o equipamento: n"); scanf("%s",&ordemServico.equipamento); printf("Digite o valor: n"); scanf("%f",&ordemServico.valor); printf (“O equipamento é %s ", ordemServico.equipamento); getchar(); getchar(); }
  • 16. Quando utilizamos campos que não são do tipo char dentro da struct , podemos atribuir valores direto sem a função scanf() da seguinte forma: ordemServico.codigo = 12345; ordemServico.valor = 2130; Para os campos de caracteres essa atribuição não é permitida na linguagem C. Se quisermos fazer essa atribuição direta sem uso do scanf() , devemos utilizar a função strcpy(destino,“texto”) que pertence à biblioteca <string.h>. Então usando essa função podemos atribuir caracteres da seguinte forma: strcpy(ordemServico.maquina,“Braçomecânico”); strcpy(ordemServico.departamento,“Produção”);
  • 17. Para que os vetores sejam melhor aproveitados é interessante utilizá-los juntamente com as estruturas de repetição, principalmente a estrutura com variável de controle. A variável de controle da estrutura de repetição será usada como o índice para a leitura/armazenamento de dados no vetor, portanto a sintaxe será:
  • 18. #include <stdio.h> float main () { float x[10]; int i; i=0; for (i=0;i<10;i++) { printf("n digite o valor %d ", i); scanf ("%f", &x[i]); } printf ("%f e %f", x[1], x[7]); }
  • 19. Sub-rotinas, ou como são mais comumente chamadas, funções, são utilizadas para organizar o programa e evitar a repetição de comandos. A sintaxe da declaração de uma função pode ser feita antes ou depois da função da principal (main) e é feita da seguinte forma:
  • 20. #include <stdio.h> void CalcularMedia(float temperatura) { float media; media = temperatura / 3; printf("A média diária da temperatura foi: %.2f",media); } void main() { float temperaturas[10]; float total; int i; for(i=0;i<3;i++) { printf("Informe a temperatura %d: ",i); scanf("%f",&temperaturas[i]); total = total + temperaturas[i]; } CalcularMedia(total); getchar(); }
  • 21. Faça um programa que armazena o combustível gasto por cada um dos quinze automóveis da empresa em que você trabalha. O formulário deve permitir a entrada de dados nas unidades: quilômetro, metro ou milha, e você deve garantir que o dado que será guardado estará na unidade quilômetro. A conversão da unidade deve ser feita em uma sub-rotina.
  • 22. #include <stdio.h> float TestarUnidade (int unidade, float km) { switch (unidade) { case 1: printf ("A distãncia percorrida foi %.2f km", km); break; case 2: printf ("A distãncia percorrida foi %.2f km", km/1000); break; case 3: printf ("A distãncia percorrida foi %.2f km", km/0.621371); break; default: printf ("UNIDADE NÃO ENCONTRADA"); } } void main() { float distancia [15]; float total, totalConvertido; int unidadeusada; int i; for (i=1; i<=15; i++) { printf("digite o valor da quilometragem do carro %d ", i); scanf ("%f", &distancia[i]); total = total + distancia[i]; } printf( "nEscolha a opção da unidade utilizada"); printf("n 1 - km"); printf("n 2 - m"); printf("n 3 - milha n"); scanf("%d", &unidadeusada); totalConvertido = TestarUnidade (unidadeusada,total); getchar(); }
  • 23. Faça um programa que calcule a média de notas dos alunos de um determinado professor. Sabendo que esse professor ministra 4 matérias diferentes e em todas as turmas existem 10 alunos: A média deve ser calculada por uma subrotina. Disciplina Nº de provas Algoritmos 2 Projeto de Máquinas 5 Mecânica Geral 4 Usinagem 6
  • 24. Faça um algoritmo que calcule a despesa com energia gasta por um processo produtivo de aquecimento em forno mufla. A taxa de aquecimento do forno é de 3°C/min e o processo deve ocorrer a uma temperatura de 315°C. O custo do processo é de R$1,50/min. As informações serão fornecidas em °F e o programa deve conter uma subrotina que seja capaz de converter a temperatura para °C. O relatório final deve apresentar o custo em US$, considerando a cotação de 1 real=5,3 dólares