E aí [Música] é muito bem muito bem seja bem-vindo seja bem-vinda ao nosso curso de lógica de programação em linguagem C o objetivo desse curso aqui é de fato ensinar lógica de programação é óbvio que por se tratar da linguagem ser estaremos já também aprendendo uma linguagem de programação poderíamos estar falando de outras linguagens como o visual e o pseudocódigo que são linguagens e geralmente são utilizadas para lógica de programação toda via aprendendo diretamente em linguagem C A gente vai ter algumas vantagens que a gente vai ver que ao longo dos slides antes de mais nada primeiro aquela me apresentar aqui eu sou professor Pietro caso você não me conheça eu sou mestre em Ciência da Computação pela Universidade Estadual de Maringá que também formado na graduação enquanto bacharel em engenharia da computação pela Estadual de Ponta Grossa aqui não fala nada beleza eu tenho experiência com desenvolvimento Eu já trabalhei enquanto a desenvolvedor Júnior enquanto desenvolvedor analista dava suporte em Sistemas de telecomunicação sistemas de saúde enfim voltado mais para o back-end nunca fui um programador muito interessado em front-end domínio lógica de programação desde o primeiro ano da faculdade quando eu entrei lá em 2007 e desde então trabalho com isso desde sempre estou no ensino superior aí desde 2016 e portanto eu tenho bastante noção sobre como ensinar programação especificamente em linguagem C E também é tem uma noção gordo o que que o pessoal tem de dúvida né porque geralmente quando você tá iniciando na programação cara tem muita dúvida né pessoa fica lá batendo a cabeça sai fumaça do crânio da pessoa ela não consegue de fato avançar muitas vezes e o que você vai receber nesse curso aqui é justamente esse nivelamento para que você destrave para que você realmente problema é muito importante dizer que não basta você simplesmente ver os vídeos desse curso é importante que você pega nossas listas de exercícios e resolva que tem que ir resolvendo aqui botando a mão na massa você não vai aprender simplesmente lendo simplesmente vendo vídeo ok os códigos-fonte das aulas é importante que vocês executem os códigos Fontes também beleza não percam essa oportunidade de prática é só assim que você vai aprender legal então tem que a gente vê nessa primeira aulinha a gente dá uma visualizada aí no histórico da linguagem C como que ela surgiu a gente não vai ficar perdendo muito tempo nisso só para você saber é de onde veio a gente falava as características da linguagem ser positivos e negativos aí depende de quem está interpretando isso a gente vai mostrar para vocês A ideia é o ambiente de programação que a gente vai usar aqui que é o mais famosinho um dos mais famosos mais simples de ser utilizados juntamente porque quem tá começando e com algo simples e fácil de ser compreendido por causa que o deve ser mais mais Voltaremos a de alguma coisinha sobre a questão das bibliotecas especificamente nessa aula a gente vai focar na biblioteca essa TV aí ou não vamos a fundo só vou mostrar para vocês que isso existe ao longo do curso vocês vão vendo você vai ver que tem várias outras bibliotecas que dá para ser utilizado E aí a gente vai implementar o nosso primeiro programinha ou hello world beleza E então é só a linguagem ser criada aí por Dennis Ritchie na Bell Labs desde 1972 a linguagem é utilizada nos meios informáticos aí para desenvolver programas legal e o contexto no qual a linguagem surge foi uma época aqui aonde havia necessidade de se criar uma linguagem mais simples do que a linguagem assembly que era mais utilizada para se programar de modo geral nos ambientes de programação cada processador tinha a sua própria linguagem a senha e isso se repete até hoje então o Dennis Ritchie a sua equipe está mudando criar uma linguagem que estivesse acima do a sempre e que entre "unificasse todas as linguagens a sêmen de forma que você escrevesse um único código e pudesse daí traduzir esse código para todos os processadores o para a maioria dos processadores da época então sim é linguagem de alto nível foi por aí que muitas muitas autores dizem que a linguagem de baixo o dinheiro é você a mais mas não você é uma linguagem de alto nível apesar de dar as possibilidades de se trabalhar a um nível de administração muito próximo do Ryder e da linguagem em linguagem de alto nível atualmente Aonde se usa linguagens e por incrível que pareça por mais que se fale mal por aí sem falar mal sem muita fundamentação porque você ainda é extremamente relevante em sistemas operacionais como Windows Linux etc sistemas desktop de modo geral quando você não quer deixar um sistema web você geralmente faz um sistema que fica local Stand Alone na sua máquina local Beleza tem que você faz programa em ser por quê Porque eu sei é muito comum é sério sistemas embarcados então comecei a desenvolver no computador de bordo de um carro quando está desenvolvendo uma placa embutida em uma pela uma televisão Smart ou numa numa geladeira Smart é um dispositivos de internet das coisas e eu ti lá Provavelmente você vai trabalhar com você beleza programar Arduino essas coisas telecomunicações E por aí afora até que sistemas web utilizam ser em alguns momentos no seu deck and se aproveitando de tecnologias por exemplo como o Web assembly enfim dela para você a linguagem ser ela é relevante ainda hoje características portanto da linguagem C Como eu disse ela surgiu num contexto onde existiam várias tecnologias distintas várias linguagens de baixo nível distintas e o servem para criar essa unificação essa linguagem de alto nível portanto para que fosse possível programar um único código e serviço para múltiplas plataformas tanto do ponto de vista de sistemas operacionais distintos quanto do ponto de vista de arquiteturas de hardware de processador existe beleza é uma linguagem focada ou que apresenta na verdade um alto desempenho ela quando foi criada ela é bastante enxuta e continua mantendo enxuta até hoje quando comparado por exemplo a linguagem de como Python como o Java que são linguagens que não são compiladas como é o caso da linguagem ser o pai tomo Java São linguagens interpretadas e por ter uma camada de software intermediário entre o código-fonte e a execução do programa de fato linguagens Como faz tão e usava de certo modo a grosso modo a gente pode dizer que o desempenho delas tende a ser menor se comparado a um programa em linguagem C que foi desenvolvido com foco em desempenho você pode sim ter um programa em linguagem C que tem menos desempenho por exemplo tem problema igualzinho pai só que depende Claro é do programador aqui nesse curso foco não vai ficar analisando desempenho é fazer com que você aprenda a lógica você está começando a programar beleza mas saiba que se for para trabalhar com sistemas de Alto desempenho provavelmente a linguagem que você vai ser uma boa escolha e ela também tá muito próximo a recursos de hardware Então você consegue manipular a memória consegue trabalhar com dispositivos de entrada e saída de uma maneira muito mais específica e mais poderosa do que você poderia com outras linguagens ela tem uma sintáxi bastante rebuscada quando comparado a outras linguagens e esse aqui é um ponto que pode ser visto como negativo E também como ponto positivo e negativo porque do ponto de vista da curva de aprendizagem que a pessoa tem como está aprendendo a programar em ser uma pessoa ela tem que se esforçar um pouco mais para entender sem táxi Só que também não é o fim do mundo depois que você acostuma percebe aqui também não é tão difícil assim não há e por outro lado já que assim táxi dela é um pouquinho mais rebuscada se você aprende a linguagem C que é mais difícil de aprender quando você tem que migrar para outras linguagens como é o caso do Pai tô indo já vi dos echarpe enfim você já vem mais calejado você já vem sabendo melhor como lidar com a idade de uma sintaxe da linguagem por sim Pax de linguagem entendo que são as regras de pontuação aonde você coloca parentes aonde você botar conter, onde você bota a chave de que forma você escreve o código segundo as regras da linguagem esse assim táxi se você falta portanto você para mim gradinha iguais mas é muito mais simples quando você vem de uma linguagem mais simples e Tenta vir para você você talvez tenha muito mais dificuldade do que você teria quando você vem você direto para outra linguagem beleza é uma linguagem com amor isso é você que é relevante há décadas então se você pesquisar hoje por linguagens e você vai ver que existem vagas em aberto você vai ver que você paga muito bem quando comparado principalmente a salários nacionais você consegue uma vaga internacional Você tá muito bem obrigado tá E é uma linguagem que se manter relevante passa Ano sai ano entra ano falar linguagem ser nas cop 10 top 20 linguagens mais procurados pelo mercado e a linguagem muito voltada para sistemas web sistemas mobile o que não impede que ela seja usada nesses temos Por que que não é muito utilizado juntamente porque existem outros primeworks outras linguagens que surgiram com o intuito de ser específicas para web e mobile não fica mais fácil realmente de você aproveitar os recursos das linguagens toda via 16 está em constante evolução e nada impede que daqui a pouco algumas bibliotecas e algumas outras funcionalidades você ganha e maturidade suficiente para que ilumine até uma parte do mercado web o acho que isso seja muito provável porque você é muito bom e sistemas tenda long muito bom sistemas embarcados então talvez a gente não veja muito realmente você em web e mobile mas a lógica de programação que você vai aprender nesse curso independente da linguagem ser essa assim é imprescindível para qualquer tipo de sistema desktop web ou mobile já que o foco aqui é a lógica e são e você está aprendendo lógica de programação em linguagem C então de novo você vai ter depois mais facilidade para migrar para outras linguagens beleza a linguagem C estritamente falando ela não dá suporte a orientação a objetos que é um paradigma de programação pouco mais avançado a linguagem C + + que é baseada na linguagem C essa assim da orientação a objetos então a gente não vai focar orientação a objetos aqui é lógica de programação estrita beleza muito bem saímos lá cês tão vendo aí a ideia é que a gente vai utilizar é o deve ser mais mais você consegue baixar essa ideia é ali no link da sorte forge. net você não conseguir acessar se ele que dá uma googlada nha e você vai ver lá em algum lugar em algum canto você vai conseguir baixar o deve ser mais mais uma interface super intuitiva de se utilizar e a gente vai ver ela aqui agora vamos lá eu já instalei ele na máquina é bem tranquilo de instalar ele ó e aqui tá o bicho aqui tá o cara então né só o programa em linguagem de ser olha aqui até falando do hello world já falamos de bibliotecas que eu prometi para vocês o programa em ser ele depende basicamente dessas duas coisas se você precisa de funcionalidade que já estavam prontas que alguém já programou para você utilizar você vai ter que incluir bibliotecas no seu código e também todo o programa em linguagem ser fica dentro do que a gente chama de Man a função em o corpo principal do seu código no seu programa dos o algoritmo ele fica na função bem então vamos lá vamos pra prática Olha só depois você tiver baixado o seu o seu deve se você não fez isso ainda para o vídeo Baixa instala e depois você volta para cá não continua o vídeo Se você não tiver um de venda beleza o fundeb instalado a gente vai então incluir as bibliotecas nesse caso aqui eu vou incluir a biblioteca STD em o ponto H EA que eu faço uma ressalva eu chamo a sua atenção beleza Fala o seguinte a a biblioteca stdi o ela vai está Provavelmente em todos os seus problemas porque porque era biblioteca que permite que a gente em voc funcionalidades e comandos que são utilizados para que o usuário entenda o que está acontecendo com o programa você vai ter que dar uns problemas aqui eles não tem botões eles não tem interface gráfica não tem telinha bonitinha nada aqui o programa ele é seco e ele só executa na interface de comandos de texto Você lembra lá do INSS dose do Windows ou quem é do Linux tem os terminais Shell beleza é aquela telinha preta contexto os nossos problemas vão ser basicamente isso aqui não se decepcione com isso a gente e tudo mais simples para depois entender o que é o mais complicado como por exemplo a gente faz espiráculos os botõezinhos as caixinhas de texto mas antes de chegar lá a gente vai ficar na lógica com a telinha preta e a telinha preta ela é justamente o lugar aonde usuário se comunica com a máquina Beleza então a telinha preta usuário ver mensagens na telinha preta usuário digita alguma coisa daí não tem no teclado para que o usuário consiga ler mensagem de Nossos programas e para que ele consiga ver o texto que ele está inserindo e digitar inserir dados via teclado ele vai precisar fazer operações de entrada e saída a gente vai tomar aula ou duas horas específica sobre isso o mais importante é que é o seguinte e a gente vai usar funções de entrada e saída pré-programadas que são da biblioteca STD em o pão pagar Então olha só quando a gente digita essa linha de código aqui ó galinhão includ STD e o pagar Entre esses parentes angulares aqui nós estamos informando ao programa que nós vamos aproveitar dessa biblioteca isso aqui na verdade no fundo no fundo é um programa que já programaram já está pronto para nós simplesmente utilizar Não sem problema aqui ok a gente vai a gente vai simplesmente aproveitar o que já tá pronto então quando eu coloco isso aqui aqui estou dizendo para máquina estou dizendo para o programa olha vamos usar isso já está pronto OK E aí indo adiante nós vamos pra função Man Então é assim que a gente digita a função bem assim que a gente escreve determina o corpo principal do algoritmo que é inte nem m a n (fecha parentes abre chave que} e se abre e fecha parentes aqui é obrigatório depois no futuro a gente vai aprender o que que vai dentro de seus parentes por enquanto a gente não precisa se preocupar com que vai aqui dentro agora a chave Zinha daqui é importante saber que tudo que estiver entre as chaves ou seja todo o código que eu digitar aqui dentro ó eu vou escrever aqui ó código Tudo que tiver entre as chaves vai ser executado pela máquina e só o que estiverem entre as chaves vai ser executado pela máquina se eu não colocar instruções comandos aqui dentro nada é executado pela máquina beleza e a gente vai portanto usar agora uma operação uma função de entrada e saída que já está pronta dentro da Speed ai o no nosso programa Então porque eu influência biblioteca para poder usar essa função print essa aqui ó em inglês que significa print print a imprimir Ok então print é filha linguagens e ele é uma função que já está pré-programada dentro da biblioteca esperar eu que vai mostrar uma mensagem para o usuário lá na nossa telinha preta lá no nosso programa nós falamos portanto uma operação de saída de dados legal então o print f é do bem DF eu abro chave abro "duplas e" duplas e aqui dentro eu coloco o texto e e eu quero imprimir na tela eu quero terminar tela a mensagem olá mundo inglês hello world esse aqui é o problema é mais comum que seu pagamento que todo iniciante ele acaba fazendo na sua primeira vez que tá programando então assim Recomendo nesse momento que você Copie esse código aqui tem que executar mas eu vou fazer isso aqui para você ver olha só então tudo o que está dentro das aspas duplas vai ser impresso na tela para que o meu programa seja executado eu preciso salvar o arquivo fonte olha só tá no começo do vídeo aqui que eu fiz gente olha eu tinha ficado aqui em new você pode clicar também ou em New Port Fairy ou pelo seu teclado teclado teclas ali control N E aí ele vai abrir o novo código fonte a gente escreveu o nosso código fonte aqui ele foi aberto com o título de jantar todo ano aqui tá até com asterisco mostrando aqui esse arquivo não foi salvo então eu vou em salvar ele antes Aqui só não salvar eu não consigo executar Então vou salvar esse texto esse arquivo fonte Beleza vou salvar ele aqui e como Hello Words hello world pontos e não vou falar como CPP toma cuidado porque o CPP por padrão ele deixa como CPP que o nosso deve mas eu não vou falar como CPP porque eu quero arquivo pontos e sem orientação a objetos Maravilha salvei E aí olha só para eu conseguir executar o programa primeiro eu tenho que compilar o programa que compilar compilar é o meio ambiente de programação junto com o compilador vai analisar todo o código que eu tenho aqui e vai transformar esse código em um executável o arquivo que eu tenho aqui é de extensão. C e esse ponto c é um arquivo texto normal aqui no texto como se a gente fosse a digitar um texto lá no Notepad por exemplo só que para eu transformar ele em ponto exz que executável eu preciso passar pelo processo de compilação e aqui no deve eu posso vir aqui ou apertar a tecla F Nobre o teclado ouvir aqui é quilt com pai ou ouvem aqui no atalho direto aqui na minha barra e Dom Paio compilar olha compilou mostrou que não existem em nenhum erro nenhum Alerta ou ele falou para mim que ele gerou um arquivo ao to files name nessa pasta toda aqui e o nome do arquivo é hello world.
Esses Então nesse momento eu vou tentar executar esse hello world. Fechei beleza olha fala o tamanho do arquivo que foi gerado então meu programa resultado ele tem 127 acabar de tamanho e ele foi compilado em 10 36 segundos maravilha então depois que eu compilei eu já posso executar aqui pela interface eu clicar em Orlando ou apertar o F10 no meu teclado ouvir aqui no menu ex ecut hum nós teremos a execução do programa vamos lá clicando aqui olha só executamos o problema então o que que a máquina fez a máquina passou linha a linha do nosso código aqui a e foi transformando e foi executando isso então a biblioteca foi incluída na linha um nas minhas três a linha 7 a máquina interpretou e viu que ali estava o seu programa e entre as chaves do nosso Man aqui do código Olha só na linha 5 dentro das chaves nós temos a Invocação desse comando que é para imprimir na tela a mensagem hello world Ok então está sendo impresso literalmente essa mensagem está destacado em azul aqui ó olha lá o nosso problema hello world Webert mas esse/invertida em aqui ó o \Aline é uma espécie de Sub comando que eu coloco no meu texto a ser impresso porque quando a máquina encontra o h ela empreende joga na tela aí só quando ela encontro e ela é imprimir o e na tela também e assim sucessivamente nesse caso até o exclamação foi impresso literalmente o que eu coloquei para ser impresso quando eu coloquei o bairro inverte o impeça literalmente quê que foi feito foi quebrado uma linha então pulou de linha a máquina quando encontrou a Raiane ela pulou de linha legal então tá aí o seu primeiro programa O hello world olha só ele mostrou para nós que o programa foi executado e ele se encerrou depois de 0. 04 quase 05 segundos Ok 0.
05 segundo foi bem rapidinho né com o retorno e vela 10 que significa o quê fio programa do ponto de vista do sistema operacional o processo que tem que tava de programa ele se encerrou e se encerrou com um retorno zero ele produziu um código zero ele se encerrou com um código dizendo assim ó o programa foi finalizado com sucesso porque o código zero é o código Ok para o Windows para o Linux ou orever para o sistema operacional que faz executando esse programa se eu retorno e vela Aqui é zero significa nosso programa se encerrou sem erro algum Beleza se aparecer se por outro lado um número diferente de zero aqui significaria que o nosso código tinha algum erro ou de syntaxe ou não Sim táxi não vai mas de semântica e aí Provavelmente tem algum problema de execução E aí só apertar qualquer tecla do teclado aqui olha só vai sumir minha telinha preta Oi e aí o nosso programa se encerrou se eu quiser contar de novo programa eu vim aqui Aperta aqui 10 Olha lá eu sei que eu tô de novo tá só para você ter noção de como que é que isso fica quando eu e quando eu comprei um lá com essa pasta aqui ó quando eu compilei o programa e olha só nós temos aqui esse arquivo hello world pontos e esse Hello hoje quando você é o texto que nós estamos vendo aqui na interface não deve ser mais quando eu apertei o F9 e compilei o programa olha só aqui foi gerado o hello world. Eixo Z então quando eu venho agora olha só apertei assim 9 gerou esse Z Beleza quando eu venho aperto F10 o meu deve ele vai lá e invoca aquele esses Olha que ele mostrou aqui no topo ele está executando o Hello Outro ponto xz beleza E se eu vier portanto aqui ó e dê um duplo clique no Reload. Esse Z não dá nem para ver mas ele executa tão rápido que a gente nem vê se eu vier pelo deve ele Execute para olha Executor e mesmo processo tendo sido finalizado a telinha preta não sumiu por quê Porque o deve segura o programa o programa executa tão rápido que é menos do que um décimo de segundo é um centro o segundo por isso que quando a gente dá um duplo clique direto pelo Windows aqui ó a gente não vê nada então para corrigir isso porque quando a gente vai executar pelo Windows a gente consiga ver o que que tá acontecendo a gente incluir mais uma função uzinha no nosso código fonte que é o que eu deixei em destaque para você ver slide aqui ó lembrar do System pause não como você quer executar pelo Windows você coloca um System pause aqui mas esses tem pause não é uma função que já tá pronta na estive aí você tem que fazer está indo outro biblioteca que essa aqui ó STD Lib.
H Então sou obrigado a incluir mais uma biblioteca que essa delivery eu invoco mais esse comando que vai fazer o que a máquina vai vir uma máquina for executar o programa ela vai vir vai incluir as bibliotecas vai começar a Executar a partir do meio vai imprimir a mensagem na tela e vai aguardar para que o usuário pressione alguma tecla para daí o programa continuar quando o usuário pressionar mais uma tecla para dar e o programa segue e sincera porque não tenho mais nenhuma instrução aqui para que isso aqui funciona ele é só para que se tome é feito eu preciso recompilar o código seu alterei o código portanto eu preciso recompilar mais uma coisa que eu vou chamar a atenção aqui pegar ela sempre faz quando tá começando a galera vai programa compila e executa e depois de um tempo a pessoa vai lá e altera o código mas esquece de recompilar e executa o programa anterior se eu não clicar em compilar aqui de novo olha mesmo que eu tenho alterado o texto seu clicar direto em executar ele não faz o que eu preciso então eu preciso de fato compilar compilei sem erro aqui beleza e olha só quando eu executo agora assim olha imprimir hello world ou seja executou a linha de código 6 e ele ficou parado na linha de código hoje olha só pressione alguma tecla para continuar essa mensagem aqui e ela vem do System pause Beleza tem no se tem pausa se eu vier aqui portanto e pressionar uma tecla aí ele encerra o processo E aí a gente pode finalizar de fato pelo Windows beleza pela ideia não faz tanto sentido porque antes de eu usar os tem Paulo ele já parava e eu já conseguia ver a mensagem calor só que agora olha a diferença quando eu venho pelo Windows ele não executa o programa rapidinho já encerra a hora que ele faz quando eu venho pelo Windows e pra aumentar aqui para você o tamanho a mensagem mas só pelo Windows ele mostra agora hello world e fica esperando o pressionar uma tecla antes de encerrar-se o apertar uma tecla aqui ó aí o programa assim Serra beleza eu não tenho mais aquela mensagem que pisca a tela o pretinho já some não agora ó agora pelo Windows eu consigo ter um pouco mais de controle do que está acontecendo no meu programa E aí antes da gente finalizar essa aula aqui eu vou mostrar para vocês a questão do e olha só apaguei o ponto e, a importância da linguagem C é que a Ampla maioria dos Comandos quase sua totalidade sincera com.