Olá, seja bem-vindo de volta.
Vamos falar sobre o fundamentos de um programa.
Já que isso é um começo aula de programação, especificamente,
vamos falar sobre C, antes que você possa entender até mesmo uma
linguagem de programação, você precisa para entender o que é um programa.
Então, eu quero descrever alguns aspectos básicos, conceitos básicos para você antes de
começarmos nos detalhes de C.
Os computadores são máquinas muito burras.
Vocês são, tenho certeza, mais do que mais do que não estar familiarizado com
o que um computador pode fazer e o que faz.
Especificamente, porém, sob o capô e o que está acontecendo em termos de
quando você clica em seu navegador, quando você clica seus diferentes aplicativos que você usa, o
que está acontecendo nos bastidores é que existe algum tipo
de programa em execução e esse programa está dizendo ao computador o que fazer.
Os computadores são realmente burros.
Eles só fazem o que lhes é ordenado.
Portanto, as operações básicas de um computador formará o que é conhecido como
conjunto de instruções do computador.
Um conjunto de instruções, se você puder pense nisso, é assim que vai
fazer alguma coisa. Então, precisamos
dizer a este computador como vai fazer.
Fazemos isso na forma de um programa em um nível ainda mais baixo.
Cada computador tem o que é chamado de conjunto de instruções.
Um conjunto de instruções é basicamente as instruções na CPU,
o processador do computador.
Então, para resolver um problema usando um computador dizendo o que fazer, você
fornece essa solução enviando estes instruções para o conjunto de instruções.
Então é isso que acontece quando
você escreve um programa de computador está enviando instruções específicas para resolver um problema
específico por meio de comandos para a CPU, o processador.
E a abordagem ou método que é usado para resolver o problema é conhecido
como um algoritmo.
Então, para vocês que entendem matemática, um algoritmo é como você está resolvendo
um problema.
Por exemplo, se você fosse criar um programa inteiro e tudo o
que ele faz é testar se um o usuário insere um número ímpar ou par.
O que seria descrito como o o próprio algoritmo é o teste, se o número
é par ou não ou estranho, esse é o algoritmo.
As afirmações que resolvem o problema em sua totalidade torna-se o programa.
E vamos discutir isso conceito e algoritmo.
Algoritmo é uniforme é uniforme mais tipo de relação - relacionada à programação
do módulo.
Então, falaremos sobre isso quando fale mais sobre os detalhes para ver.
Mas, novamente, eu quero deixar você entenda o que você está fazendo quando está
escrevendo o código.
O que está acontecendo no camada muito, muito mais baixa.
Voce vai escrever esses algoritmos
que estão contidos dentro de um programa.
Então, para escrever um programa, você vai
precisar escrever corretamente as instruções para implementar o algoritmo.
Essas instruções podem ser expressas em qualquer tipo de instrução de
uma linguagem de programação específica.
Então, vamos nos concentrar em c para esta aula, mas tenho certeza
que você já ouviu falar de outra programação linguagens como java,
c ++, objetiva c usadas em aplicativos iOS, mas na verdade, mais agora, o Swift é usado.
Mas há toda essa programação idiomas que você
pode aprender e que essencialmente permitirão que você enviar instruções para a CPU
na forma de algoritmos e instruções.
Além disso, quero falar sobre alguns terminologia básica, a CPU, a
unidade central de processamento.
Este é o cérebro do computador.
É aqui que a maioria o trabalho está sendo feito.
Aqui é onde as instruções são executadas.
Memória, você frequentemente ouvir este termo memória.
E os alunos costumam ter memória muito confuso com o disco rígido.
Memória não é a mesma como o disco rígido.
A memória é muitas vezes referida como RAM, que é a memória de acesso aleatório.
Todos os dados armazenados na memória são
um componente de hardware separado.
Não é uma unidade de disco real.
Todos os dados do programa é armazenado na memória, o componente
de hardware separado.
Portanto, ele armazena os dados programa enquanto está em execução.
E vamos falar sobre variáveis e o que elas significam.
Mas um programa precisa ter dados a fim de realizar
cálculos a fim de fazer algoritmos.
Esses dados vão ser armazenado na memória RAM.
A razão pela qual o armazenamos na memória em vez de armazená-lo em um
disco rígido é que a memória é muito mais rápido, permite que o
programa seja executado muito mais rápido.
Mas a memória também é geralmente não persistente nas reinicializações, outro
tipo de esclarecimento.
Mas você deve entender apenas este termo RAM.
Significa memória.
São as variáveis e os dados em o próprio programa onde está armazenado.
O hardware separado componente e, em seguida, o disco rígido.
A unidade de hardware é algo você compra quando o computador - isso
é armazenamento permanente.
Isso geralmente é muito, muito grande. Isto contém gigabytes, terabytes de dados.
Isso armazena arquivos que podem ser recursos de um programa.
E quando você liga o computador desligue e ligue-o novamente, esses arquivos
ainda estão lá.
Quando você liga o computador liga e desliga para um programa, o programa realmente
para de ser executado e não há nada na memória RAM.
Então entenda a diferença entre ram e disco rígido.
É um conceito importante.
Novamente, pense em ram como algo relacionado para programar, pois o disco
rígido está relacionado
ao armazenamento permanente e normalmente colocamos recursos nele.
Teremos arquivos do sistema operacional, todos tipos de recursos de programa diferentes.
Um sistema operacional é desenvolvido para basicamente torna sua vida muito mais fácil quando você deseja
usar o computador.
Porque em um nível muito baixo, um computador está apenas
fazendo o que é dito e são apenas instruções usando um conjunto de instruções.
Seria muito dificil para usar se você tivesse que
entender todas essas instruções.
Portanto, há um programa chamado sistema operacional que torna mais
fácil para o usuário usar um computador.
Ele controla toda a operação do computador, lida com todas as entradas
e saídas via hardware para ele entende como interagir
com um teclado, um mouse, um monitor.
Ele também gerencia o computador recursos, lida com a execução
de diferentes aplicativos.
Um sistema operacional é um classe completamente separada.
Há muito que entra em um sistema operacional,
mas entenda seus fundamentos.
Só permite que você use seu computador de uma maneira mais fácil.
Alguns exemplos de muito sistemas operacionais comuns são coisas como
o Windows, certo.
Todo mundo usa o Windows.
Windows 10, Windows
XP, seja qual for o caso.
Linux, UNIX, que iremos falar mais sobre quando falamos
sobre a história de C.
Android é um sistema operacional para dispositivos móveis, iOS.
Estes são programas específicos que são muito grandes que podem conter muitos programas
diferentes que interagem, tornar sua vida muito mais fácil ao interagir
com o computador.
O ciclo de execução de busca.
Este é o ciclo de vida da CPU.
Eu só menciono isso porque, novamente, estamos apenas
descrevendo a terminologia básica.
É assim que você envia instruções para um computador, a CPU, o que realmente
está acontecendo é que você buscar as instruções da memória
porque esse é o programa.
E então você vai execute isso na CPU, e é esse tipo
de loop que você fazendo isso indefinidamente.
Você está repetindo isso.
E se você já ouviu falar do termo gigahertz, uma CPU gigahertz pode fazer cerca
de um bilhão de vezes por segundo, um bilhão de instruções por segundo.
Então você pode imaginar o que está acontecendo quando
você está executando um computador com este busca ciclo de vida de execução.
E aqui está uma pequena ilustração que tirei de uma imagem
na internet que mostra esses efeitos ciclo de execução um pouco mais claro.
O que está acontecendo quando você
está interagindo com a CPU e essas instruções.
O que está acontecendo é você está agarrando de carneiro.
E ram, lembre-se, contém dados de programas.
Você está coletando dados lá para obter instruções.
E você está constantemente decodificando o dados que são armazenados em registros e memória RAM
e, em seguida, executá-los diferentes partes da CPU, a unidade de
controle ou a ALU.
Mas isso é um loop.
Apenas se repete e mais e mais.
E novamente para CPUs hoje em dia bilhões de vezes por segundo.
Então, quando falamos sobre programas c e escrevendo programas c, em um nível muito baixo,
por baixo de tudo, estamos apenas interagindo com a CPU por meio de nossa linguagem de
programação de nível superior.
Então, um nível mais alto linguagem de programação.
Linguagens de programação de nível superior tornar mais fácil escrever programas.
Agora, se tivéssemos que novamente, entenda todas
essas instruções na CPU, ser muito difícil de escrever.
E para entender todo o instruções, isso geralmente significa que é
uma linguagem assembly.
Se você já ouviu o termo assembléia linguagem, significa apenas que você está
escrevendo um programa em um nível muito baixo onde é um nível tão baixo que você
entende o conjunto de instruções.
E você pode imaginar que se você fosse escrever todos
os seus programas com todas essas instruções, seria muito ineficiente
e muito difícil escrever um programa.
Então, programação de nível superior linguagem são o oposto
de uma linguagem assembly.
É um nível muito mais alto.
Um exemplo é c.
C é um nível superior linguagem de programação.
Ele descreve as ações que o programa terá um
desempenho muito mais abstrato.
Você não tem que memorizar as instruções na CPU.
Você acabou de entender a linguagem em si, e você resolve problemas por
meio desses algoritmos.
Parece muito mais com a língua inglesa.
É muito mais fácil de entender.
Se você olhasse para um linguagem
assembly, o que você verá é mover comandos com registradores, com números,
basicamente apenas declarações numéricas.
E usando um nível mais alto linguagem como c, você não precisa
se preocupar com nada disso.
Você não precisa se preocupar sobre o conjunto de instruções.
Você não precisa se preocupar com declarações em linguagem assembly.
Então é muito mais eficiente e é muito mais
fácil realizar e resolver problemas.
E então vamos estudar c como nosso linguagens
de programação de nível superior, mas outros exemplos seriam java, objetivo c, coisas que mencionei.
Trata-se de programação de alto nível linguagens que tornam sua vida
muito mais fácil e eficiente.
Além desses níveis superiores linguagens de programação, se você tiver esta linguagem que
é mais abstrata, você tem que ser capaz de pegar
essa linguagem e executá-la em uma CPU.
Você deve convertê-lo essencialmente para instruções que a CPU entende.
E então é aqui que um compilador entra em jogo.
Freqüentemente, quando você escreve código em programação, você vai usar
um compilador que traduz esta linguagem de alto nível, o
código-fonte em detalhes instruções em linguagem de máquina,
basicamente, linguagem assembly.
Então você vai escrever um programa que
fará um pensamento de alto nível e mais abstrato.
E então o compilador vai para gerar todos os
milhões de instruções que vão para o CPU no conjunto de instruções.
Então, vamos usar um compilador nesta classe para fazer exatamente isso.
Vamos escrever o código-fonte em uma forma abstrata de nível muito mais alto.
E então vamos executar um programa chamado
o compilador para converter esse código em algo que a CPU entende.
Agora, aqui está outra coisa sobre compiladores é que eles também vão verificar se
o seu programa tem sintaxe válida ou não.
Então, quando você escreve código, você tem que você tem que
seguir as regras do idioma.
As regras da linguagem são essencialmente a sintaxe, quer você tenha
ou não um ponto e vírgula em no final de uma declaração,
quer você use ou não certas palavras-chave.
Se você fizer essas coisas incorretamente, você
não conseguirá executar seu programa.
Então, o compilador vai encontrar todos esses erros, e isso vai
te dizer e relatar para você e diga, ei,
você não escreveu seu código corretamente,
você tem que consertá-los antes de realmente convertermos essas coisas para a instrução definida na CPU.
Então, vamos nos familiarizar com compiladores em
um sentido geral, como usá-los, como entender, o que eles estão nos dizendo.
Linguagens de alto nível são muito mais fácil de aprender, muito mais fácil de programar
do que em linguagens de máquina.
Essa é a essência deste slide agora é que, ao utilizar uma linguagem como
c, vai ser muito mais eficiente e fácil.
Quando escrevemos um programa, estamos vai realmente executar várias,
várias etapas.
E eu encontrei esta ilustração que realmente descreve as
etapas de uma maneira muito boa.
Então, tirei isso de um livro.
É um conjunto básico de etapas quando você escreve qualquer tipo de programa.
Desde a primeira etapa de definição do objetivos do programa,
compreensão dos requisitos, para manter e modificar o programa.
Então, vamos examinar esses passos bem rápidos e você
vai descobrir que está fazendo - indo fazer isso nesta aula.
Quando você começa a escrever um programa, você
vai seguir todas essas etapas.
O primeiro passo será definir os objetivos do programa.
É para onde você está indo compreender os requisitos.
Você não pode começar a escrever código a menos você entende o que precisa fazer.
Então você precisa ter um claro ideia do que
você deseja realizar nesta etapa.
Depois de entender o requisitos, você começará
a projetar o código.
Quando você projeta o código, é assim que o código
atenderá aos requisitos.
Como vai a interface do usuário para parecer se for necessário.
Como você vai organizar o seu programa, você
vai criar funções diferentes e tentar criar algoritmos diferentes e assim por diante.
Então você vai para comece a implementar o código.
É aqui que você realmente escreve o código e colocá-lo em um editor
em um ambiente de desenvolvimento integrado.
Você traduz o design para o sintaxe da linguagem de programação, neste
caso c, entender as regras da linguagem c.
Portanto, você pode usar qualquer editor de texto.
Vamos realmente usar algo chamado de blocos frios.
Você normalmente vai querer usar algo mais do que um editor de texto,
algo chamado IDE, sobre o qual falaremos.
Assim que terminar de escrever o código, você tem
que compilá-lo porque ele precisa convertê-lo em fonte código para a linguagem de baixo nível.
Já falamos sobre isso, então esta é uma etapa bem básica.
E então você executa o programa. Executar o programa
é executá-lo, é usá-lo.
E então isso vai para ser o quinto passo.
Depois de executar o programa, você está não feito porque mesmo
que você escreveu o código e talvez ele atenda aos requisitos do idioma, ele pode não fazer
o que se destina a
fazer, então você tem que testá-lo e para encontrar e corrigir seus erros.
Então, só porque um programa é correndo, não significa que funcione.
Eu recebo muitos alunos para digamos, hey, compilado, terminei. Não.
Você tem que ter certeza de que quando você o executa,
ele atende aos requisitos e faz o que você acha que vai servir.
Portanto, você tem que testar constantemente.
E você executará as etapas um através de seis vezes
sem conta. Você vai ser
descobrir que você vai escrever código, testar, escrever código testando, escrevendo código, testando.
E normalmente, quando você faz isso, você quero fazer isso em pedaços muito pequenos.
Você quer escrever duas linhas de código, teste. Outras duas linhas de código, teste
e assim por diante.
Portanto, você precisa testar e depurar.
A depuração é outro conceito.
Teremos muitas palestras sobre depuração, mas é quando você encontra e corrige
seus erros de programação.
Existem certas técnicas que você pode fazer, certas ferramentas que você pode usar para ajudá-lo
a encontrar esses erros.
E você aprenderá muito testando e depuração porque você sempre pode
aprender uma grande quantidade de informações cometendo erros.
E isso vai ser normal.
Você vai compilar e o programa não vai fazer
o que você fez, o que você disse que fez e você vai aprender com isso.
E é isso que somos vai fazer nesta aula.
Eu não vou apenas mostrar a você a maneira correta de fazer as coisas.
Eu vou te mostrar o errado maneira de fazer as coisas, e então você
verá por que isso está errado.
A última etapa é a manutenção.
É quando os programas são lançado e usado por
muitas pessoas, mas ainda pode ter bugs.
Por exemplo, quando o Windows 10 é lançado, você notará que ele ainda
tem bugs ou travamentos.
E então você está constantemente recebendo atualizações.
E quando você recebe essas atualizações, isso é chamado de manutenção do programa.
Então, só porque você terminou escrever o código
e liberá-lo para o público, não significa que você terminou de mantê-lo.
A manutenção é frequentemente o fase mais extensa, a etapa mais extensa porque
quando você lançar um programa que poderia durar cinco
ou dez anos.
Você vai ter que consertar estes bugs para que seus clientes fiquem felizes.
Você também pode querer adicionar novos recursos para mantê-lo atualizado no mercado.
Então, a manutenção é realmente importante também.
A manutenção acontece depois de você libere o produto para o cliente.
Então, para todas essas etapas, você pode pular, executar etapas
em ordem diferente, dependendo de qual metodologia de programação, isso é
outra aula também.
Você nem sempre vai necessariamente siga estas etapas em uma abordagem em cascata, onde você
começa no início e termine no - termine na última etapa.
Você pode estar projetando e então voltar e fazer seus testes e depois
voltar e redesenhar e assim por diante.
Então você vai pular em torno de tudo
dependendo do que é mais prático.
Pela minha experiência, muitos novos programadores em muitas
das classes em udemy estão ignorando etapas um e dois e indo diretamente
para escrever o código.
Eles estão mostrando como escrever o código, mas não estão mostrando
por que você está escrevendo o código.
Portanto, este é um grande erro.
Quando você começa a escrever código, você precisa entender os conceitos,
você precisa entender os requisitos.
E você pode fugir com isso em programas
muito pequenos, mas com programas maiores, você vai precisa se concentrar totalmente no design.
Portanto, quanto maior e mais complexo o
programa, mais planejamento requer.
Você deve desenvolver o hábito de planejamento antes de codificar.
Não basta mergulhar, e você vai perceber nas palestras dessa
aula que eu planejo muito.
Eu vou te contar no desafios quando você começa a escrever algum
código que você precisa fazer e como você deve projetá-lo.
Porque isso vai torná-lo mais fácil para você realmente implementar o código,
que é a etapa três.
Portanto, mantenha isso em mente muitas vezes pode plantar coisas escrevendo
coisas no papel.
Há todos os tipos de boas documentação projetando linguagens e coisas que
você pode usar.
Mas você sempre quer basicamente planejar com eficiência.
E então, enquanto você está codificando, eu mencionei
isso antes, mas este é outro muito, muito importante conceito, você
sempre quer trabalhar em pequenos passos, dividir e conquistar você deseja testar constantemente.
Você não quer escrever 100 linhas de código e diga, oh,
terminei, deixe-me fazer o teste.
Porque agora, se não trabalho, pode haver um erro em quaisquer 100
linhas de código.
Vai ser muito mais dificil para resolver esse problema.
Mas se você escrever código em pouco pedaços, cinco linhas de código, teste e,
em seguida, escreva outras cinco linhas de código, teste, será muito mais
fácil encontrar e corrigir seus erros.
Então, vamos nos concentrar em dividir e conquistar quando escrevemos nosso código nesta classe.
Espero que tenha ajudado.
Novamente, este é apenas o básico.
Eu queria fornecer alguma terminologia básica.
Muitos de vocês já devem saber muitas dessas informações.
Mas quando você está aprendendo um linguagem de programação, você
tem que entender esses fundamentos.
Obrigada.