para o contexto, leia o post 1
Anotações amadoras e mal feitas de um estudante de programação. Não leve nada a sério, eu tô começando agora.
quarta-feira, 26 de fevereiro de 2025
Perguntas que eu tinha e Respostas que achei #2
segunda-feira, 24 de fevereiro de 2025
Manipulação e conversão de tipos de dados
manipulação de variáveis inteiras e de ponto flutuante
- o prof começa explicando sobre as variáveis inteiras e sobre ponto flutuante, isso tudo eu já sei, mas tem motivo pela explicação:
- a unica diferença é a divisão:
- se a divisão não for exata, não for um número inteiro, ela vai gerar um número decimal. por exemplo, 10 dividido por 3 daria um número decimal. se ela for rodada como um número inteiro, ela vira só "3" e não o normal, que seria "3,333333". ou seja, ele seria abreviado, cortado. só mostraria a parte inteira, isso não é adequado.
- pra evitar o problema acima, é bom usar variáveis de ponto flutuante (float e double)
conversão entre tipos de dados
conversão implícita
mas isso também vem com riscos, a conversão implícita é útil mas o PC fazer o bagui automaticamente pode dar problema.
- pode ter perda de dados ou perda de precisão
- tipo, se ele converter um float pra inteiro, a parte decimal será perdida, como já vimos que ele faz
- se você não souber que essa conversão tá rolando, tu vai ficar confuso, e pode levar a comportamentos inesperados no seu programa
conversão explícita
como pode ver, antes do resultado ali tem um (float). é isso. se você colocar esse (float) usando casting, o resultado dessa divisão vai dar "3.33" direitinho mas se você tirar, vai ficar "3.00". forçando a mudança e não causando problema nenhum que a conversão implícita pode causar.
dicas gerais
- verifique os tipos de dados ao realizar essas operações, pra evitar resultados inesperados
- "tô fazendo int com int, float com float" = de boas
- "tô trabalhando com variáveis diferentes" = hora de usar o casting
- use casting quando necessário
- cuidado com a precisão. lembre que float ainda podem ter alguns erros de precisão. use double pra ter precisão máxima
Operadores matemáticos
operadores aritméticos
- soma +
- subtração -
- multiplicação *
- divisão / (algo minimamente notável sobre esse é que se você inteiros usando "int" o resultado vai ser um inteiro também, sem vírgula)
operadores de atribuição
no fim, se você quiser, você pode escrever por extenso, então ao invés de numero1 += 5; vai ficar numero1 = numero1 + 5
operadores de incremento ou decremento
pré e pós incremento/decremento
agora se o ++ for usado antes, sendo o prefixo, ai sim ele realmente vai somar normal.
outro exemplinho
quinta-feira, 13 de fevereiro de 2025
Planejamento de soluções
pseudocódigos
- basicamente é escrever descrições das partes dos códigos
- descreve a lógica do algoritmo só que em linguagem normal
- basicamente só isso, só escrever uma lista antes de fazer o código onde cada coisa vai ficar pra te ajudar
- da pra escrever em ferramentas online e offline ou até em papel e caneta
- PQP GENTE É SÓ UMA LISTA DE COISA MANO, ISSO DEVIA ESTAR EM TIPO UMA LISTA DE DICAS, NÃO SER O ASSUNTO PRINCIPAL ASSIM
fluxogramas
- eu sei oq diabos é um fluxograma mermão, não precisava de 150 parágrafos não
quarta-feira, 12 de fevereiro de 2025
Perguntas que eu tinha e Respostas que achei #1
perguntas e respostas
pra que vou usar coisa tipo especificadores de formato?
- RESPOSTA DA NET: Especificadores de formato são usados principalmente para exibir valores na tela com a função
printf()
e para ler entradas comscanf()
. Eles dizem ao computador como interpretar os dados que você quer exibir ou receber. [VÁRIOS EXEMPLOS] Isso é útil porque o C não sabe automaticamente como exibir certos tipos de dados. Você precisa dizer qual formato ele deve usar. O mesmo vale parascanf()
, quando você quer ler entradas do usuário e armazenar em variáveis. - MINHA RESPOSTA: pro pc entender o que calcular, já que cada um dos especificadores representam uma variável, só colocar ela ali que fica de boas.
sobre formatar saída de ponto flutuante?
RESPOSTA DA NET: "Formatar saída de ponto flutuante" significa controlar como os números decimais (float/double) são exibidos, e isso resolve esse problema dos valores bugados com um monte de zeros ou casas decimais estranhas. O motivo disso acontecer é que os números de ponto flutuante são armazenados de uma forma que pode gerar pequenas imprecisões, então, quando você imprime, às vezes aparecem números esquisitos tipo
0.30000000000000004
ao invés de0.3
. [DEU VÁRIOS EXEMPLOS E DICAS]MINHA RESPOSTA: é o que eu suspeitava. são só formas de escrever direitinho pra sair tudo direito o número flutuante, usando coisa tipo ".2f" ou ".5f" coisa desse tipo que organiza melhor o ponto
o que é solicitação pull e git fetch no github?
- REPOSTA DA NET: O pull request (PR) é uma maneira de propor mudanças em um repositório no GitHub. Quando você termina de trabalhar em uma branch (ramificação) local e quer que suas alterações sejam incorporadas à branch principal (geralmente
main
oumaster
), você cria um pull request. É como se fosse um "pedido" para que suas alterações sejam revisadas e, se aprovadas, mescladas ao código principal. O git fetch é um comando do Git usado para baixar (fazer download) as últimas atualizações de um repositório remoto (como o GitHub) sem fazer alterações no seu código local. Isso vai baixar todas as atualizações da origem (que geralmente é o GitHub) para o seu repositório local, mas não vai mudar nada no seu código. Para integrar essas mudanças à sua branch, você pode usargit merge
ougit rebase
. - MINHA RESPOSTA: o pull request é você pedir pra que suas alterações numa branch sejam revisadas e colocadas no código principal. o git fetch é pra baixar atualizações sem alterar seu código.
segunda-feira, 10 de fevereiro de 2025
Funções de Entrada e Saída de Dados
- prinft: é usado pra mostrar as informações tudo direitinho na tela, é a saída de dados. o printf imprime na "saída padrão" que é um nome chique pra "tela"
- scanf: é como o usuário bota a informação, é a entrada de dado. você lê dados botados pelo usuário pela "entrada padrão" que é um nome chique pra "teclado ou mouse". ele pega informação do usuário e coloca nas variáveis.
![]() |
outras inúteis que ninguém liga e não serão exploradas agora |
printf
explicação do curso:
- %d: Imprime um inteiro no formato decimal.
- %i: Equivalente a %d.
- %f: Imprime um número de ponto flutuante no formato padrão.
- %e: Imprime um número de ponto flutuante na notação científica.
- %c: Imprime um único caractere.
- %s: Imprime uma cadeia (string) de caracteres.
- %d: mostra um número inteiro
- %i: mesma coisa que o %d.
- %f: mostra um número com vírgula, no formato padrão.
- %2f: força o numero com virgula a acabar só com duas casas decimais eu acho
- %e: número com vírgula, mas na notação científica.
- %c: um único caracter, tipo uma letra (A) ou número (1)
- %s: mostra uma string de caracteres. ou seja, vários caracteres
forma de usar o printf e o especificador de formato
exemplo com uma linha só
exemplo com mais de uma linha
merda extra que o prof tá explicando e achei pertinente anotar
printf("%formato1 %formato2 %formato3", variavel1, variavel2, variavel3);
se tu quiser tu pode fazer algo semelhante, tipo
scanf
scanf lendo strings
quinta-feira, 6 de fevereiro de 2025
Variáveis e Tipos de Dados
Me falaram pra não tentar decorar TODAS porque é difícil demais. Vou só anotar algumas dicas sobre como escrever elas direitinho e vou aprendendo elas com o tempo.
Regras para a criação de nomes de variáveis em C
- Comece com letra ou _, não pode começar com número
- Em seguida, use apenas letras, números e _
- Case sensitive: cuidado com letras maiúsculas e minúsculas, "idade" e "Idade" vão ser diferentes
- Evite usar palavras da linguagem C, tipo outros nomes de variáveis pra não confundir o programa
- Escolha nomes fáceis de entender e lembrar
- Pras variáveis do tipo char funcionar, tem que colocar o caractere entre aspas simples ' '
algumas variáveis
- int: numeros inteiros sem casas decimais | ex: int idade = 25;
- float e double: usados pra números com virgula. double é mais preciso mas float ocupa menos espaço na memória | ex: float altura = 1.75; e double salario = 3000.50;
- se precisa de precisão muito alta nos calculos, use double
- void: aparentemente é quando não tem nada, é a ausência de um tipo, não usei esse ainda
- char: tu usa pra colocar caracteres | ex: char inicial = 'A';
- char nome[20] = "Alice"; da pra tu colocar mais q um caractere no char, se tu usar strings, que é basicamente tu colocando um limite de letras
Primeiro Programa em C
- Inclusão da biblioteca: #include inclui a biblioteca padrão de entrada e saída, necessária para usar a função printf.
- Função principal: int main() é onde o programa começa a execução. Toda aplicação em C começa pela função main.
- Saída de dados: A linha printf("Olá, Mundo!\n"); imprime a mensagem "Olá, Mundo!" na tela. O \n adiciona uma nova linha ao final da mensagem.
- Fim do programa: return 0; indica que o programa terminou com sucesso.
segunda-feira, 3 de fevereiro de 2025
Processo de Programação e Linguagem C
Processo de programação
- Entendimento do problema
- Planejamento de como resolver o problema
- Escrever o código
- Compilar o código
- Testar o código
- Corrigir erros até funcionar direito
- Manutenção: depois de tudo, ajustar e melhorar no futuro. Guardar o código pra usar novamente no futuro.
Linguagem de programação
Vantagens da linguagem C
Processo de tradução
- Escrevemos o código e o programa e salvamos o arquivo (chamado código fonte). Vai ficar tipo "meu_programa.c"
- Usamos o compilador pra converter esse arquivo escrito em C e criar um executável.
- Usamos um linker, combinando o código criado com bibliotecas necessárias pra criar o arquivo executável.
- Executamos o arquivo.
Conceitos de Solução Estruturada
Organização no código
- INDENTAÇÃO: Espaço extra no início de uma linha de código pra mostrar que ela tá dentro de um bloco de código específico.
- COMENTÁRIOS: Anotações breves nos códigos, não aparecem na versão final, só pro povo programando.
- Comentários de linha única: Começam com // e se estendem até o final da linha, super breve. Normalmente usados pra uma só linha.
- Comentários de múltiplas linhas: Começam com /* e terminam com */. Usados pra anotações maiores.
- NOMES SIGNIFICATIVOS: Use nomes de variáveis e funções que façam sentido. Ao invés de x ou y use soma ou resultado. Mais fácil.
Raciocínio lógico e pensamento computacional
- RACIOCÍNIO LÓGICO: É a capacidade de pensar de forma clara e ordenada.
- PENSAMENTO COMPUTACIONAL: Nos permite abordar problemas de forma que um computador possa entender. Definir os passos que o PC deve usar pra resolver o problema de uma forma estruturada (esses passos são chamados algoritmos).
- DECOMPOSIÇÃO: Dividir o problema em partes menores para a resolução ficar mais fácil. Dividir ele e ir fazendo cada passo de uma vez.
- RECONHECIMENTO DE PADRÕES: Identificar soluções parecidas para problemas similares.
- ABSTRAÇÃO: Focar apenas no importante. Se tu tem por exemplo uma função que vai conter o processamento de dados de uma coisa, você não precisa de preocupar com cada coisinha dentro dessa função no futuro, só saber como e onde usar a função inteira e tá de boas
- ALGORITMOS: São os procedimentos pra resolver um problema. Uma lista de instruções. Você pode passar isso pro computador para ele resolver algum problema.
- MODULARIDADE: No início, eu achei que era o mesmo que decomposição, mas não, é diferente. Modularidade é dividir um grande problema em subproblemas menores, mas ao contrário de decomposição, é pra fazer isso LOGO NO CÓDIGO!
- Exemplo: se você for fazer um programa pra calcular a média de temperaturas de uma semana. Você cria uma por uma com FUNÇÕES DIFERENTES (e dando nome pra elas) para a entrada de dados, uma função para o processamento dos dados (pra calcular essa média), e uma função pra saída de dados (pra exibir uma média), uma por uma bem organizadinho
- Ai depois você coloca o int main() { e coloca as funções pra rodarem nele, fica bem mais organizadinho assim
- Com isso aí tu pode até reutilizar o mesmo código pra outras coisas, e também pode mudar cada função uma por uma só aquela função. Facin, facin
Sobre o blog
Essa vai ser uma postagem que vou tentar deixar fixada, talvez no cabeçalho, pra todo mundo ver. Só pra explicar direitinho esse blog, c...

-
Vamos aprender conceitos básicos de programação usando imagens. ATENÇÃO: Vão ter códigos em JavaScript abaixo, mas o professor do cu...
-
manipulação de variáveis inteiras e de ponto flutuante o prof começa explicando sobre as variáveis inteiras e sobre ponto flutuante, isso tu...
-
Essa vai ser uma postagem que vou tentar deixar fixada, talvez no cabeçalho, pra todo mundo ver. Só pra explicar direitinho esse blog, c...