Sobre o blog

quarta-feira, 30 de abril de 2025

Tipos de Linguagem de Programação

    Não dá pra escrever coisas em código de máquina, mesmo sendo instruções de baixo nível e simples, pois são MUITAS.

    Por isso, usamos linguagens de alto nível pra escrever códigos, essas linguagens e recursos de alto nível são chamadas de linguagens de programação, como JavaScript, Java, Python, C, C++, etc...

TIPOS

Linguagem compilada

    Uma vez que o programador escreveu as instruções usando essa linguagem, ele usa um compilador na linguagem pra ver se tá tudo certo e avisa de tem algo errado. Se tiver certo, o compilador traduz pro binário, pra linguagem de máquina.
  • Compilador: Talvez tem uma instrução "if" no código, mas não tem uma instrução específica "if" em código de máquina, mas talvez tenha uma sequência de 5 instruções em código de máquina que no fim chegam ao mesmo resultado de uma instrução "if". O compilador gera isso.
    Não dá pra fazer o contrário, não dá pra pegar o binário e traduzir pra um código de alto nível perfeito. Fica imperfeito. 

Linguagem interpretada/dinâmica

    É executado linha por linha, sem compilar tudo antes. O programa é lido e executado na hora por um interpretador. Ele detecta um erro de cada vez. A tendência caminha para esse tipo de linguagem, pois é mais simples e eficiente.

JIT

Existe isso, se chama Just In Time Compiler, que junta as duas linguagens. O JIT examina trechos grandes do código e compila em tempo real.

Sistema Operacional

  • Um conjunto de tipos de programas que organizam, administram e supervisionam todo o sistema.
  • Um tipo de software que deixa o usuário usar o PC, a interface entre o usuário e o dispositivo.
    • Tá em tudo, no PC (Windows, Linux) e no celular (Android, iOS)
  • Kernel: o núcleo do sistema operacional. Gerencia todos os softwares do PC. Contém os drivers.
  • O SO mantém coisas organizadas em segundo plano pra vários programas serem executados ao mesmo tempo, conhecido como "multitarefa"
    • Ele também separa os programas por janela, pra cada um só poder usar seus recursos apenas, limitando o que um programa mal-intencionado pode fazer
  • O SO controla outros softwares e dita o que eles fazem na máquina
    • Deixa você baixar e remover programas
    • Dita que produtos e quando os softwares podem consumir do hardware

Boot e reboot

  • O sistema operacional é a primeira coisa a ser executada quando seu computador é ligado, então, qual é o programa que cuida da inicialização DO SO?
    • COMO O PC LIGA:
      • Tem um programa gravado de fábrica no hardware que se chama firmware.
      • O firmware ativa quando um PC tá ligado, ele realiza uns testes no hardware e procura um dispositivo de armazenamento persistente (HD ou SSD) que tenha um sistema operacional instalado.
      • Depois disso ele começa o carregamento. Copia as instruções do SO pra a RAM e diz pra CPU rodar as instruções do SO
      • O firmware controla o PC até o sistema operacional assumir o controle
      • A função do firmware é inicializar o hardware e depois inicializar o SO
    • REBOOT: É quando o PC é reiniciado.

Softwares

    Essa parte do curso é TODA sobre softwares, vou tentar colocar tudo em um post só, mas não prometo nada, pois esse curso é bem louco.

    Softwares são programas de computador. São um conjunto de instruções que vão ser usadas pelo PC pra executar um objetivo. Um conjunto de funções executadas na programação de um computador, que a CPU roda uma por uma. Sempre que vemos um PC ligado, estamos vendo um software sendo executado.

    Instruções são mandadas pro PC por meio dos softwares, tem infinitos programas com infinitas finalidades. Os softwares são executados pelo processador (CPU). Não só o PC, na verdade, qualquer dispositivo eletrônico pode ter softwares, até geladeiras. Máquinas são burras, os softwares dão sentido ao PC, pois o ser humano está transmitindo sua inteligência pra máquina.

    Uma boa analogia pra softwares é: um chef iniciante não sabe criar pratos, ele pode receber uma lista de instruções e ingredientes básicos, que ele vai seguir até ter um prato no final. O chef é o PC, as instruções são dados de entrada dado pelo programador e o prato é o objetivo final

    Cada família de PCs tem um conjunto de instruções binárias (0 e 1). Como é difícil pro ser humano entender essa língua binária, foram criadas línguas de programação pro ser humano escrever a língua de uma forma mais fácil.

3 tipos de software

    Prova de como o curso que eu tô fazendo é meio louco. Eu tava estudando HARDWARE e do nada teve uma informação de software muito pertinente que eu adorei e achei bom de anotar. Três terminologias de software.
  1. Software de sistema: sistemas operacionais.
  2. Software de aplicação: programas de computador
  3. Software de desenvolvimento: compiladores e editores de código

Representação e armazenamento das instruções em hardware




    O software dá as instruções, né? Bem, vamos agora ver como o HARDWARE processa elas.

    A CPU que roda as informações. A CPU roda trilhões de informações por segundo.

    As instruções ficam armazenadas numa memória volátil (se você desligar o PC ela some), a memória RAM. Através do barramento (um circuito que conecta a CPU até a memória) a CPU busca cada instrução e executa uma por uma da forma mais rápida que consegue.

    As instruções são super simples, tipo:
  1. Adicione 2 números.
  2. Compare e veja o maior.
    Feitas só com 1 e 0 (binário) esse conjunto de instruções são instruções de baixo nível, ou código de máquina. O código de máquina tá conectado no hardware e não pode ser mudado a vontade. Cada família de CPUs compatíveis tem seu próprio código de máquina e não é compatível com o código de máquina de outras máquinas.

    Os códigos que escrevemos são instruções de alto nível, PCs não entendem elas e o software traduz ela pras instruções de baixo nível pro PC fazer.

    Se tiver um erro no seu código, você vai no código fonte, conserta e depois compila o código de novo pro PC compilar uma versão do código com os ajustes realizados no código fonte.

Softwares de código aberto e fechado


SOFTWARES DE CÓDIGO ABERTO: Open source! Tô ligado no que é. O software é disponibilizado e o código fonte também, pra qualquer um usar e editar. Você pode editar o código livremente como quiser. Tem várias licenças e termos, mas, na maioria das vezes, eles exigem que você compartilhe com a comunidade suas alterações.

SOFTWARES DE CÓDIGO FECHADO: Só o fornecedor tem o código e pode editar. Normalmente de cunho comercial.

O que é um programa

    Na foto acima, a CPT tá executando várias instruções. Um programa é basicamente uma enorme sequência de instruções assim. Tudo no PC só ocorre porque a CPU tá rodando trilhões dessas instruções SUPER rápido! Essas instruções são totalmente triviais e simples, uma analogia pra elas é: cada uma dessas instruções é um grão de areia, inútil e pequeno. Mas, se você juntar o bastante, pode fazer estruturas complexas com ela.

    Pra rodar esses códigos, a CPU usa um bagulho chamado ciclo busca-execução ou fetch execute cycle. Ela busca uma instrução, executa, vai buscar outra, executa, e assim por diante sequencialmente. Quando falamos que uma CPU opera a 4 GHz (gigahertz) ou 4 bilhões de operações por segundo, estamos falando dessas instruções.

    Tem várias dessas instruções, mas abaixo, vamos falar de dois tipos dessas instruções:
  • INSTRUÇÃO PRA ALTERAR A ORDEM DE EXECUÇÃO DE INSTRUÇÕES: Normalmente a CPU só desce a lista e faz a execução na ordem, mas, se usarmos goto podemos mandar ela voltar pra instruções passadas. É assim que loops são feitos na CPU! goto é uma instrução na linguagem que literalmente significa "vá para". Vá para a linha indicada e execute dela.
  • INSTRUÇÃO QUE TESTA ALGUMA CONDIÇÃO: Declaração if. Se uma condição for verdadeira, ele faz algo, se for falsa, faz outro algo. Se for verdadeiro, ele manda o computador pular pra uma parte especifica do código, se for falsa, o PC continua normalmente pra próxima parte.

Como o programa vai parar na memória RAM?


    Ao serem instalados, programas são colocados em um dispositivo de armazenamento persistente como HD, SSD ou pendrive. A CPU lê os dados do dispositivo de armazenamento e grava eles na memória RAM, isso se chama iniciar um programa.
    
    Um programa é um arquivo com muitos bytes. Normalmente, esses bytes são apenas as instruções que compõem o programa, além de alguns ícones e fotos.

  1. Os bytes (instruções) vão do dispositivo de armazenamento pra memória RAM.
  2. A CPU busca pelas informações com o ciclo busca-execução.
  3. A CPU roda e executa as instruções.

quinta-feira, 24 de abril de 2025

Entendendo o código na prática

     Como diz o título, eu aprendi o código na prática na atividade. Então, não tem muito o que colocar aqui. Ainda sim, consegui fazer umas notinhas simples. São de conceitos que eu já sabia, mas mesmo assim, é legal de relembrar.

  • SINTAXE: Basicamente o código que você tá escrevendo. Cada linguagem de programação tem sua sintaxe única e lidar com erros de sintaxe é normal e uma parte diária da vida do programador que é muito importante se aprender.
    • Erros de sintaxe são comuns, é importante e útil aprender a solucionar eles.
  • STRINGS: Um tipo de dado, capaz de lidar com nomes, endereços, links, e-mails ou até um parágrafo! Textos no geral!
    Essa parte do curso explica algumas coisas em Python, mas como eu estou focado em outras linguagens no momento, eu só vou ler rapidinho.
    Eu tô pensando mais em estudar C, que é o principal do curso, e também estudar JavaScript, pra praticar a fazer jogos online. Eu sei que Python é muito importante, mas no momento tô assim.

Código de instrução de computadores

     Aqui vamos ver sobre instruções de computadores e conceitos básicos sobre isso. Não que eu saiba o que esse título significa. Na verdade vamos aprender sobre linguagem de programação.

    As LINGUAGENS DE PROGRAMAÇÃO são ferramentas que permitem os programadores criar programas, softwares e sistemas. As instruções dos programadores são traduzidas para o computador através da linguagem de programação.

    A linguagem de programação está ENTRE a necessidade humana de um produto e a máquina, ela viabiliza sua necessidade até a execução. Ela comunica com o computador, traduzindo instruções humanas em comandos que o computador pode executar.

    Podemos usar as linguagens de programação para fazer várias coisas, no dia de hoje, incluindo:

  1. Automatizar tarefas repetitivas
  2. Desenvolver e criar softwares (até mesmo softwares escaláveis, que você melhora com o tempo)
  3. Manipular dados
  4. Fazer previsões
  5. Criar interfaces
  6. Controlar dispositivos e aparelhos domésticos tipo luz, portas, televisões, carros e etc...
  7. Criar sites, permitir compras, desenvolvimento web, segurança e criptografias através da Internet
  8. Simular e modelar
  9. Educar e aprender
  10. Interoperabilidade: Fazer as mesmas coisas não importa o modelo operacional ou plataforma ou lugar. Hoje em dia, você pode escrever textos e gravar vídeos tanto pelo computador ou pelo celular sem problemas.
  11. Desenvolvimento de jogos


quarta-feira, 23 de abril de 2025

Lei de Moore

    A Lei de Moore, formulada por Gordon Moore, destaca a contínua evolução da tecnologia, falando que "A cada 18 ou 24 meses, a capacidade do computador tinha que dobrar."

     A evolução veio super rápido, em 1940 a 1950 nois já tinha dois computadores. Essa lei foi falada em 1950, e se aplica até hoje em dia. Mas hoje em dia essa velocidade de desenvolvimento está muito mais rápida.

    Outra parte do curso, já fala que essa lei fala sobre transistores, o que também faz sentido. A cada 2 anos, dobra o número de transistores em um chip.

Sobre FLOPS

Floating-point Operations per Second, indica quantas operações matemáticas com casas decimais o processador consegue realizar por segundo.
  1. Alguns PCs antigos faziam 14 por segundo
  2. Celulares fazem 40 bilhões por segundo
  3. Um PC de mesa faz 400 bilhões por segundo
  4. Um supercomputador consegue fazer TRILHÕES por segundo

ATIVIDADE

    O curso passou uma atividade: escrever um texto sobre como a tecnologia, em suas fases de desenvolvimento, impactou sua vida.
    
    Achei interessante, por que não fazer? Abaixo está minha resposta:

    A tecnologia impactou imensamente a minha vida desde que eu era criança. Seja pra entretenimento ou pra pesquisa. Antigamente eu jogava pra caramba no computador, brincava com meus amigos, reunia a rua toda na calçada pra mexer no notebook e no celular, e todos jogávamos juntos. Eu me lembro do meu primeiro celular, que minha vó me deu.
    
    Na escola, eu sempre fazia trabalhos com ajuda do Google, claro. E tudo foi evoluindo tanto que fiz o ultimo ano escolar totalmente online, por EAD. Hoje em dia, uso o computador o tempo, antigamente eu queria ser designer gráfico, hoje em dia eu quero ser programador, basicamente tudo envolvendo computador.

    A tecnologia me moldou e me ajudou a me descobrir, eu sou um artista por causa dela, eu gosto de escrever e programar e desenhar por causa dela. Ela mudou minha vida, quando eu estava triste, eu assistia um vídeo no YouTube que me deixava feliz. Eu desabafava online pra ninguém em um blog secreto.

    Esse blog mesmo, onde eu anoto coisas, me ajuda a estudar. Eu uso o ChatGPT e inteligências artificiais pra me ajudar no estudo. A tecnologia é tudo, e eu agradeço por ela existir.

Algoritmo

    Algoritmo é um conjunto de instruções e passos. Atividades sequenciais pra um resultado. Ele norteia o sequenciamento correto das tarefas todas. Para implementá-lo, se escreve um código de linguagem de programação, e ele só é válido quando alcança seu propósito.

    O algoritmo, de acordo com o curso que tô fazendo, é literalmente uma lista de tarefas. Uma lista de tarefas em linguagem comum. Mais tarde eu procuro mais sobre isso.

CÓDIGO VS ALGORITMO

  • CÓDIGO: Instruções escritas numa linguagem de programação para o PC entender.
  • ALGORITMO: Pode ser escrito até em português se quiser, é mais completo e não precisa ser escrito só em linguagem de programação.

O conceito de código

    Códigos são instruções sequenciais executadas rapidamente pelo computador, criadas pelos programadores para solucionar necessidades humanas, como uma tarefa muito repetitiva ou verificação de erros e dados.

    Programadores criam algoritmos que transformam as demandas humanas em funcionalidades. Por exemplo, se uma pessoa pede por um aplicativo que tire olhos vermelhos de fotos, o programador faz o seguinte:

  1. Procura a cor vermelha na foto
  2. Escreve várias instruções simples que o PC possa executar. Isso também é chamado de algoritmo.
  3. Testa tudo e vê se todas as instruções estão funcionando perfeitamente até dar o efeito preciso.
  4. Tem a função de reduzis olhos vermelhos funcionando.

Entendendo a lógica do computador

    Hoje em dia, o PC, celulares e máquinas ajudam muito, com várias funções e aplicativos, mas, pro PC fazer isso tudo, ele precisa de uma LÓGICA! Vários códigos e instruções que, no fim, cumprem seu papel e levam a uma instrução maior. Ou seja, a lógica do computador é basicamente os códigos do PC.

    Quem cria essa lógica são os programadores. Que pegam a necessidade do usuário leigo, veem se conseguem traduzir o pedido corretamente em código, fazem uma lógica de programação, programam tudo, e finalizam o programa. 

    Basicamente, sem o código e os programadores, nada seria possível no computador.

    Quero aproveitar esse momento pra falar como estou orgulhoso, pois consegui condensar um texto massivo e um vídeo em 3 parágrafos simples. O curso que estou fazendo usa linguagem muito florida e repetem muita coisa, que bom que eu consigo resumir tudo.

Humanos VS Máquinas

  • Humanos e máquinas tem uma relação complexa e estão sempre evoluindo. Uma relação as vezes conflitante e as vezes em sincronia. Abaixo, vamos comparar humanos e máquinas, mas no geral:
    • HUMANOS: São criadores de interface, desenvolvem as coisas para facilitar a interação com as máquinas. Interfaces como de clicar, biometria, reconhecimento de voz, face, pesquisas por voz, coisas ativadas por voz em casas, tudo criado por nós.
    • MÁQUINAS: São projetadas pra entender e responder a comandos humanos, melhorando a colaboração.

INTELIGÊNCIA NATURAL VS ARTIFICIAL

  • HUMANOS: Tem inteligência natural, raciocínio abstrato, criatividade e emoções. Vem de experiências de vida.
  • MÁQUINAS: Usam IA baseadas em algoritmos dados e aprendizado de máquina. São rápidas e precisas, mas limitada em programação e dados disponíveis. Humanos implementam o conhecimento deles pra máquina.

TOMADA DE DECISÃO

  • HUMANOS: Tomam decisões baseadas em experiência, intuição e contexto emocional, etc. Tem nuance e ambiguidade, emoção.
  • MÁQUINAS: Tomam decisões baseadas em lógica e dados. Boas para tarefas repetitivas e com regras, limitadas em situações complexas e imprevisíveis. 

CRIATIVIDADE E INOVAÇÃO

  • HUMANOS: Excelentes, sempre gerando novas ideias e soluções originais.
  • MÁQUINAS: Se baseia em padrões e exemplos preexistentes, não são criativos.

EMOÇÕES E EMPATIA

  • HUMANOS: Possuem.
  • MÁQUINAS: Não possuem, podem simular, mas não possuem.

CAPACIDADE DE APRENDIZADO

  • HUMANOS: Aprendem com experiências e interação social.
  • MÁQUINAS: Aprendem com algoritmo de aprendizado de máquinas e com exposição a dados.

VELOCIDADE E PRECISÃO

  • HUMANOS: Menos veloz e sucessível a erros.
  • MÁQUINAS: Rápida e precisa. Boa pra grande volumes de dados.

TRABALHO E PRODUTIVIDADE

  • HUMANOS: Adaptáveis, mas com limitações físicas e mentais.
  • MÁQUINAS: Não tem fadiga, boa pra coisas repetitivas e perigosas.

ÉTICA E MORALIDADE

  • HUMANOS: Possuem (ás vezes não usam)
  • MÁQUINAS: Seguem regras programadas, tem ética e moralidade dada por humanos.

CAPACIDADE DE ADAPTAÇÃO

  • HUMANOS: Extremamente adaptáveis
  • MÁQUINAS: Limitados a softwares e reprogramação.

LIMITAÇÕES E POTENCIAIS NO GERAL

  • HUMANOS: Limitados pelo físico e pela mente, mas com potencial ilimitado de criatividade e inovação.
  • MÁQUINAS: Limitadas pela programação e recursos, mas com potencial de processamento e precisão imenso.

EXEMPLOS PRATICOS

  • HUMANOS: Criam arte, soluções inovadoras, liderança e gestão. No futuro, humanos vão continuar inovando e criando novas tecnologias.
  • MÁQUINAS: Automatizam processos, analisam coisas grandes, diagnosticam pessoas, tudo ajustado por IA. No futuro vão ser mais e mais inseridas no nosso dia a dia.
  • A sinergia entre esses dois mundos pode avançar muito a sociedade. Máquinas só funcionam por causa do conhecimento humano.

terça-feira, 22 de abril de 2025

Equação essencial dos computadores

  • A equação fundamental dos computadores é essa abaixo:
    • Imensa capacidade de processar VS Terrível deficiência do pensar
  • Isso significa que computadores são extremamente poderosos, podendo fazer bilhões de operações e gerar dados em 1 segundo, mas também são tolos, pois as operações que eles fazem são super simples e ainda são dadas por humanos.
  • O humano dá várias instruções simples, que quando unidas, se tornam poderosas.
  • Os processadores fazem manipulação de dados, executando operações matemáticas básicas por meio de instruções especificas.

quarta-feira, 16 de abril de 2025

Princípios da computação

  • Decidi fazer o curdo da forma que os colegas alunos recomendaram. Eles falaram que da forma que tá no site da faculdade é mais difícil e fizeram uma versão otimizada de estudos, vou seguir ela. O assunto vai ficar muito mais simples a partir de agora.

INTRODUÇÃO

  • Hoje, temos uma grande dependência em computadores e dispositivos eletrônicos.
  • Computadores são divididos em:
    • HARDWARE: Peças, componentes físicos. Tipo a CPU (o cérebro do PC), memória RAM, disco rígido, placa mãe, periféricos, dispositivos de entrada e saída (mouse, teclado, monitor, etc.) telas, telas touch screen, etc...
    • SOFTWARE: Parte mais abstrata. Tipo o sistema operacional (que faz todas as peças do PC se comunicarem), aplicativos, e drivers que fazem o hardware funcionar.
      • O professor aqui no curso falou que softwares são "atividades executadas dentro do seu PC, como uma leitura de e-mail, uma planilha, um calculo, uma aplicação, etc." eu não sei 100% se isso é verdade, depois eu vou pesquisar mais e colocar aqui em baixo:
  • Sistemas operacionais: deixa você usar os recursos de hardware dentro dos PCs pra que eles funcionem direitinho.
  • Os PCs processam e armazenam dados em bits.
    • O armazenamento pode ser volátil ou não volátil.
      • VOLÁTIL: Perde dados quando o PC é desligado. Memória RAM, memória cache, registradores.
      • NÃO VOLÁTIL: Discos rígidos e SSDs, salvam os dados mesmo com o PC desligado.
  • PCs são muito usados para se conectar em redes, e eles se conectam em redes para a otimização de recursos.
    • A conexão de rede veio pra potencializar as comunicações e compartilhamento de recursos.
  • Tem vários apps e recursos no PC, aumentando a produtividade, tem app de escritório, foto, apresentação, planilha, mensagem, comunicação instantânea, etc...

quinta-feira, 10 de abril de 2025

Operador ternário em C

  • uma versão simplificada de if-else. muito útil se a lógica da decisão for simples. dá pra fazer a comparação toda em uma linha só. deixa tudo mais organizado
  • um problema que tive com essa atividade é que o texto ensinou uma forma de fazer que grudou na minha mente e depois o professor explicou de uma forma completamente diferente. a forma que o professor explicou é mais simples, então, vou ignorar o texto e focar só nela
  • sintaxe: condição ? o que sair se for verdadeiro : o que sair se for falso;
  • exemplo: idade >= 18 ? printf("Você é maior de idade!\n") : printf("Você é menor de idade\n");
  • é fácil fácil, abaixo estão alguns exemplos:
  • sintaxe do operador ternário, e também, mostrando como ele seria se fosse feito em if-else


  • exemplinho todo feito, e também mostrando como seria em if-else, viu como é fácil?

  • agora, novamente, o professor tá explicando de uma outra forma, kkkkkkk sinceramente eu to achando essa outra forma que ele tá explicando confusa, mas foda-se vou tentar explicar aqui:
    • sabe aquela variável "resultado" que tem ali? não é por nada, basicamente o que o professor tá falando é:
      • 1. a gente pode fazer assim: resultado = idade >= 18 e tipo, armazenar o resultado desse bagui nessa variável resultado.
      • 2. ao invés de colocar os printf depois da interrogação, a gente coloca 1 e 0 apenas, 1 pro verdadeiro e 0 pro falso
      • 3. depois, a gente faz um if-else e coloca os printf lá. se o resultado for 1, toca um printf, se for 0 toca outro
      • 4. PUTA QUE PARIU ISSO É MT MAIS CONFUSO, NÃO GOSTEI NÃO, VOU CONTINUAR SÓ USANDO A PRIMEIRA A NÃO SER QUE ELE ME OBRIGUE A USAR A SEGUNDA PÔ
    • olha como fica mais complicado:

    • olha ai, eu pensei q o objetivo era fazer SEM o if-else? tanto faz

exemplo comparando dois números

  • mais um exemplo abaixo: ele explicou direitinho um negócio, vamos comparar dois números, ver qual dos dois é o maior, e então vamos imprimir o maior número usando o operador ternário!

  • botando isso aqui pq gostei da forma que ele explicou essa lógica: numero 1 é maior que número 2? se for, a variável maior recebe o valor de número 1, caso contrário, a variável maior recebe o valor de número 2. fácil assim, gostei!

  • ele completo :D




















quinta-feira, 3 de abril de 2025

Menus interativos em C

  • Tem como fazer menus interativos em C usando o switch. É bem legal e bem fácil de fazer, então não vou explicar muito não, só o super básico.

  • Só botar:
    • Opções
    • Um scanf pro usuário escolher
    • E respostas pra cada opção usando o switch, dentro do switch, cada case é uma opção diferente
  • Dá até pra fazer switches DENTRO dos switches. Tipo, nas regras do jogo, dá pra fazer mais opções de qual regra você quer ver. E é bem fácil.
  • Super fácil, me dá até ideias de jogos.
  • srand: srand(time(o));
    • Inicializa o gerador de números aleatórios.
    • O prof explicou muito mal o que isso é, não é muito importante no momento de qualquer forma, mas depois eu vou perguntar ao ChatGPT pra me explicar sobre isso.

Switch

  •  é bem parecido com if-else, mas é mais organizado, simples, legível e eficiente.
    • é especialmente útil quando se tem muitas condições pra verificar e quer evitar muitos if-else-ifs
  • esse é bem fácil, viu. eu ia mostrar a sintaxe aqui, mas fica mais fácil de se ver no código todo


  • vc põe a variável e cada case verifica um valor específico da variável. se um dos casos for correspondente, ele é executado
  • break: você coloca break no fim de casa case pra parar a operação, se não o programa executa TUDO
  • default: é tipo o else no if-else, é uma ultima opção cada nenhuma os cases forem certos. é uma boa prática só colocar tipo "opção inválida" pra avisar o usuário

quarta-feira, 2 de abril de 2025

Estruturas de decisão aninhadas

 antes de eu estudar mais

  • são decisões novamente no if else, mas dessa vez, em forma hierárquica ou algo assim, é um if dentro do outro if
    • essa aí me confundiu um pouco mas eu acho que eu entendi minimamente, talvez eu ainda tenha que procurar mais um pouco sobre...
  • essas decisões permitem ver várias condições me níveis diferentes
  • sintaxe: 
  • realmente me confundiu na hora de fazer, mas vou tentar explicar direitinho, mas ok, ok, ok, ok, vamos ver se eu entendi, olha, vamos usar esse print de exemplo ó:

  • vamos lá:
    • o usuário digita tudo que precisa
    • o código if com a estrutura aninhada, basicamente calcula tudo de uma vez só
    • o primeiro if é pra ver a idade da pessoa, o segundo imediatamente vê a renda, e o terceiro vê o numero de dependentes
    • se tudo tá certo, ele manda logo o primeiro, tá tudo certinho, mas aí aqui tá o negócio que me confundiu, a parte dele conferir se tá errado
      • aparentemente, ele corrige coisas ao contrário, na parte do IF ali, o idade é o primeiro, é o maior, agora na parte do ELSE o idade tá lá no ultimo
      • eu fiz uma troca e troquei o dependente pelo renda em um código recente (não no da foto) e realmente, quando eu coloquei uma renda maior, ele falou "Você não atende ao critério dependente" então realmente acho que é isso, mais fácil do que parece, agora sim acho que entendi:
        • se vc colocar, idade, renda, dependentes no IF nessa ordem, na parte do ELSE, você vai ter que colocar dependentes, renda, e idade. ao contrário.
    • tudo bem, acho que entendi, bem é basicamente isso, se tiver algo errado e você não atender os 3 critérios, eles vão falar exatamente o que está faltando pra você, deu pra entender eu acho...
  • cara, na verdade, acho que vou procurar mais sobre decisões aninhadas, não sei se entendi direito, vou procurar mais sobre isso pra entender, se eu não entender em 5 vídeos, desisto e passo pro próximo pra também não ficar no mesmo assunto

depois de eu estudar mais

  • ok, tô revendo o vídeo do curso aqui, pode usar o código acima que mandei de referência, é o mesmo código:
  • e olha, o que ele faz na hora que ele tá codando é basicamente isso:

  • sei que nem pra ler dá, mas tô usando isso só pra fixar na minha mente


    • o professor faz um código if inteiro, ele digita a condição verdadeira e depois a falsa toda. ele coloca o "if" e depois o "else", mas aí ele APAGA a condição verdadeira e deixa só a falsa. (a falsa é o texto falando q a pessoa não atende o critério de renda
      • ele faz isso pra cada uma delas, tipo, ele escreve um código if todo só pra idade, e depois apaga a condição verdadeira do código da idade e deixa só o else do código da idade
    • na condição verdadeira ele troca pelo if aninhado, ele coloca a próxima coisa que vai analisar. por exemplo, a condição verdadeira de idade virou o "if" de renda
    • e a condição verdadeira de renda virou o "if" de dependentes. como o if de dependentes é o último, pode colocar "você atende todos os critérios" na condição verdadeira
  • entendi mais ou menos, vou ter mais vídeos e ficar de boas

ok, depois de ver o curso, tenho mais 4 vídeos no youtube sobre decisão aninhada que decidi ver

  • se depois desses todos, eu ainda não entender, eu passo pro próximo
  • tudo bem, assisti, e continuo entendendo só o que eu entendo agora, não entendi mais nada não, fazer o que, vou só continuar

Estruturas de decisão encadeadas

  •  o curso ensinou dois tipos de estrutura de decisão: encadeadas e aninhadas

estruturas de decisão encadeadas


  • como pode ver, são várias decisões em sequência, isso também é chamado de "if-else"
  • cada condição é verificada uma após a outra até que uma seja verdadeira, quando uma é verdadeira o código é executado e as outras são ignoradas
  • vou dar como exemplo ó código acima, que é um código pra mostrar se você é criança adolescente adulto ou idoso:
    • primeiro manda vc digitar sua idade
    • vc digita sua idade e ele fala quantos anos você tem
    • o programa calcula se o número que você colocou é menor que 12, se for, ele toca a primeira opção, de vc ser uma criança
    • se o número for maior que doze e menor que 18, ele ignora a primeira opção e passa logo pra segunda, de vc ser adolescente
    • se o número for maior de 18 e menor que 60, ele ignora as duas opções anteriores e vai logo pra terceira, de vc ser um adulto
    • e se sua idade for maior que 60, ele vai ignorar TUDO e vai logo pro ultimo comando que é o else, o else basicamente diz "se NENHUMA das opções for a certa, você toca essa" e se sua idade for mair que 60, ele te considera um idoso e executa isso
  • é bem fácil de entender

estruturas de decisão aninhadas

  • cara, eu ia botar aqui, mas me confundi no meio do assunto, então, tá em outro post, um post só de decisão aninhada

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...