SlideShare a Scribd company logo
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

More Related Content

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

Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
Elaine Cecília Gatto
 
Pesquisa ppi 2
Pesquisa ppi 2Pesquisa ppi 2
Pesquisa ppi 2
Otaviano Viana
 
Linguagem C - Strings
Linguagem C - StringsLinguagem C - Strings
Linguagem C - Strings
Elaine Cecília Gatto
 
ASP.Net Módulo 2
ASP.Net   Módulo 2ASP.Net   Módulo 2
ASP.Net Módulo 2
michellobo
 
01 logica
01 logica01 logica
Aula4
Aula4Aula4
Aula4
softeam
 
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
PAULO Moreira
 
Algoritmo
AlgoritmoAlgoritmo
RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptx
Claudia Ferlin
 
Ed1
Ed1Ed1
Ud2
Ud2Ud2
Aula de C e C++
Aula de C e C++Aula de C e C++
Aula de C e C++
Maurício Moreira Neto
 
Aula 7 pc - estrutura
Aula 7   pc - estruturaAula 7   pc - estrutura
Aula 7 pc - estrutura
Elaine Cecília Gatto
 
Python e django na prática
Python e django na práticaPython e django na prática
Python e django na prática
Rafael Cassau
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
Naldo Falaschi
 
Slides do cuso_php
Slides do cuso_phpSlides do cuso_php
Slides do cuso_php
Jesse Oliveira
 
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
Kievnny Mendonca
 
Subalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca LopesSubalgoritmos Profª Letíca Lopes
Subalgoritmos Profª Letíca Lopes
marcosnem
 
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...
Os Fantasmas !
 
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
Mario Jorge Pereira
 

Similar to 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
 

Recently uploaded

O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4
DouglasMoraes54
 
497417426-conheca-os-principais-graficos-da-radiestesia-e-da-radionica.pdf
497417426-conheca-os-principais-graficos-da-radiestesia-e-da-radionica.pdf497417426-conheca-os-principais-graficos-da-radiestesia-e-da-radionica.pdf
497417426-conheca-os-principais-graficos-da-radiestesia-e-da-radionica.pdf
JoanaFigueira11
 
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
fran0410
 
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdfO Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
silvamelosilva300
 
Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
Professor Belinaso
 
Gênero Textual sobre Crônicas, 8º e 9º
Gênero Textual sobre Crônicas,  8º e  9ºGênero Textual sobre Crônicas,  8º e  9º
Gênero Textual sobre Crônicas, 8º e 9º
sjcelsorocha
 
Dicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de cursoDicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de curso
Simone399395
 
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptxSlides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
LuizHenriquedeAlmeid6
 
Aula Contrato Individual de Trabalho .pdf
Aula Contrato Individual de Trabalho .pdfAula Contrato Individual de Trabalho .pdf
Aula Contrato Individual de Trabalho .pdf
Pedro Luis Moraes
 
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIASA SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
HisrelBlog
 
FUNCAO EQUAÇÃO DO 2° GRAU SLIDES AULA 1.ppt
FUNCAO EQUAÇÃO DO 2° GRAU SLIDES AULA 1.pptFUNCAO EQUAÇÃO DO 2° GRAU SLIDES AULA 1.ppt
FUNCAO EQUAÇÃO DO 2° GRAU SLIDES AULA 1.ppt
MarceloMonteiro213738
 
Roteiro para análise do Livro Didático.pptx
Roteiro para análise do Livro Didático.pptxRoteiro para análise do Livro Didático.pptx
Roteiro para análise do Livro Didático.pptx
pamellaaraujo10
 
Slide de biologia aula2 2 bimestre no ano de 2024
Slide de biologia aula2  2 bimestre no ano de 2024Slide de biologia aula2  2 bimestre no ano de 2024
Slide de biologia aula2 2 bimestre no ano de 2024
vinibolado86
 
UFCD_6580_Cuidados na saúde a populações mais vulneráveis_índice.pdf
UFCD_6580_Cuidados na saúde a populações mais vulneráveis_índice.pdfUFCD_6580_Cuidados na saúde a populações mais vulneráveis_índice.pdf
UFCD_6580_Cuidados na saúde a populações mais vulneráveis_índice.pdf
Manuais Formação
 
As sequências didáticas: práticas educativas
As sequências didáticas: práticas educativasAs sequências didáticas: práticas educativas
As sequências didáticas: práticas educativas
rloureiro1
 
cronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdfcronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdf
todorokillmepls
 
A Núbia e o Reino De Cuxe- 6º ano....ppt
A Núbia e o Reino De Cuxe- 6º ano....pptA Núbia e o Reino De Cuxe- 6º ano....ppt
A Núbia e o Reino De Cuxe- 6º ano....ppt
WilianeBarbosa2
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
joseanesouza36
 
slides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentarslides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentar
JoeteCarvalho
 
Caça-palavaras e cruzadinha - Dígrafos.
Caça-palavaras  e cruzadinha  - Dígrafos.Caça-palavaras  e cruzadinha  - Dígrafos.
Caça-palavaras e cruzadinha - Dígrafos.
Mary Alvarenga
 

Recently uploaded (20)

O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4O Profeta Jeremias - A Biografia de Jeremias.pptx4
O Profeta Jeremias - A Biografia de Jeremias.pptx4
 
497417426-conheca-os-principais-graficos-da-radiestesia-e-da-radionica.pdf
497417426-conheca-os-principais-graficos-da-radiestesia-e-da-radionica.pdf497417426-conheca-os-principais-graficos-da-radiestesia-e-da-radionica.pdf
497417426-conheca-os-principais-graficos-da-radiestesia-e-da-radionica.pdf
 
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
Telepsiquismo Utilize seu poder extrassensorial para atrair prosperidade (Jos...
 
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdfO Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
O Mito da Caverna de Platão_ Uma Jornada em Busca da Verdade.pdf
 
Introdução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escolaIntrodução à Sociologia: caça-palavras na escola
Introdução à Sociologia: caça-palavras na escola
 
Gênero Textual sobre Crônicas, 8º e 9º
Gênero Textual sobre Crônicas,  8º e  9ºGênero Textual sobre Crônicas,  8º e  9º
Gênero Textual sobre Crônicas, 8º e 9º
 
Dicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de cursoDicas de normas ABNT para trabalho de conclusão de curso
Dicas de normas ABNT para trabalho de conclusão de curso
 
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptxSlides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
Slides Lição 12, CPAD, A Bendita Esperança, A Marca do Cristão, 2Tr24.pptx
 
Aula Contrato Individual de Trabalho .pdf
Aula Contrato Individual de Trabalho .pdfAula Contrato Individual de Trabalho .pdf
Aula Contrato Individual de Trabalho .pdf
 
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIASA SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
A SOCIOLOGIA E O TRABALHO: ANÁLISES E VIVÊNCIAS
 
FUNCAO EQUAÇÃO DO 2° GRAU SLIDES AULA 1.ppt
FUNCAO EQUAÇÃO DO 2° GRAU SLIDES AULA 1.pptFUNCAO EQUAÇÃO DO 2° GRAU SLIDES AULA 1.ppt
FUNCAO EQUAÇÃO DO 2° GRAU SLIDES AULA 1.ppt
 
Roteiro para análise do Livro Didático.pptx
Roteiro para análise do Livro Didático.pptxRoteiro para análise do Livro Didático.pptx
Roteiro para análise do Livro Didático.pptx
 
Slide de biologia aula2 2 bimestre no ano de 2024
Slide de biologia aula2  2 bimestre no ano de 2024Slide de biologia aula2  2 bimestre no ano de 2024
Slide de biologia aula2 2 bimestre no ano de 2024
 
UFCD_6580_Cuidados na saúde a populações mais vulneráveis_índice.pdf
UFCD_6580_Cuidados na saúde a populações mais vulneráveis_índice.pdfUFCD_6580_Cuidados na saúde a populações mais vulneráveis_índice.pdf
UFCD_6580_Cuidados na saúde a populações mais vulneráveis_índice.pdf
 
As sequências didáticas: práticas educativas
As sequências didáticas: práticas educativasAs sequências didáticas: práticas educativas
As sequências didáticas: práticas educativas
 
cronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdfcronograma-enem-2024-planejativo-estudos.pdf
cronograma-enem-2024-planejativo-estudos.pdf
 
A Núbia e o Reino De Cuxe- 6º ano....ppt
A Núbia e o Reino De Cuxe- 6º ano....pptA Núbia e o Reino De Cuxe- 6º ano....ppt
A Núbia e o Reino De Cuxe- 6º ano....ppt
 
Educação trabalho HQ em sala de aula uma excelente ideia
Educação  trabalho HQ em sala de aula uma excelente  ideiaEducação  trabalho HQ em sala de aula uma excelente  ideia
Educação trabalho HQ em sala de aula uma excelente ideia
 
slides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentarslides de Didática 2.pdf para apresentar
slides de Didática 2.pdf para apresentar
 
Caça-palavaras e cruzadinha - Dígrafos.
Caça-palavaras  e cruzadinha  - Dígrafos.Caça-palavaras  e cruzadinha  - Dígrafos.
Caça-palavaras e cruzadinha - Dígrafos.
 

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