Baixe o app para aproveitar ainda mais
Prévia do material em texto
E-BOOK ALGORITMOS E PROGRAMAÇÃO Introdução a Lógica de Programação APRESENTAÇÃO A base fundamental de um programa de computador são os algoritmos e a lógica de programação. Esses conceitos, além de serem bases da programação de computadores, desenvolvem habilidades, como raciocínio lógico, que podem ser utilizadas na resolução dos mais diversos problemas das mais diversas áreas. Nesta Unidade de Aprendizagem, você estudará a construção de um algoritmo, os conceitos básicos envolvidos e como funciona a execução de um programa de computador. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Conhecer o conceito de algoritmo: apresentação, exemplos e definição.• Entender os conceitos de comandos, variáveis, expressões e instruções.• Compreender as formas de execução de um programa: compilação e interpretação.• DESAFIO Acompanhe o seguinte caso de uso de um algoritmo: Sua atividade é desenvolver um algoritmo que ajude na seguinte tarefa de pesquisa: qual sistema o celular usa? iOS ou Android? Todo dia a pesquisa deverá recomeçar, mas os valores do dia anterior deverão ser guardados. Este desafio consiste em você escrever quais os passos necessários para realizar essa pesquisa. Você deverá escrever um algoritmo que ajude na coleta de dados e na análise deles: quantas pessoas foram entrevistadas, qual a quantidade de usuários de um sistema e de outro? Qual a idade média dos seus entrevistados? Uma dica é escrever o algoritmo da forma mais detalhada possível. Lembre-se de que não existe certo e errado; o importante é atingir o objetivo. O foco desta atividade é um algoritmo, não um programa. INFOGRÁFICO Sabendo que um algoritmo nada mais é do que um conjunto de passos para se realizar uma tarefa, é importante compreender que não existe uma forma única de algoritmo, pois há várias formas de se cumprir um mesmo objetivo. Acompanhe no infográfico como desenvolver um algoritmo. CONTEÚDO DO LIVRO Aprender a programar é uma das habilidades mais interessantes da computação. Para que esse aprendizado seja consistente, é importante compreender toda a lógica que envolve o desenvolvimento de um programa: lógica de programação, conceitos básicos e execução de um programa são tópicos que introduzirão você ao universo da programação. Leia o capítulo Algoritmos e lógica de programação, da obra Algoritmos de programação, base teórica para esta Unidade de Aprendizagem. Boa leitura. ALGORITMOS DE PROGRAMAÇÃO Marcela Santos Introdução à lógica de programação Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Conhecer o conceito de algoritmo: apresentação, exemplos e definição. � Entender os conceitos de comandos, variáveis, expressões e instruções. � Compreender as formas de execução de um programa: compilação e interpretação. Introdução Já parou para pensar como é feito um jogo, um site da Internet ou um aplicativo do seu dispositivo móvel? Cada vez mais, usamos tecnologia desde o nosso trabalho até a nossa diversão. E que tal você aprender como os programas são desenvolvidos para poder criar seus próprios jogos, sites, etc.? A base fundamental de um programa de computador são os algoritmos e a lógica de programação. Esses conceitos, além de serem bases da programação de computadores, desenvolvem habilidades, como raciocínio lógico, que podem ser utilizadas na resolução dos mais diversos problemas nas mais diversas áreas. Neste capítulo, você vai acompanhar a construção de um algoritmo, os conceitos básicos envolvidos e como funciona a execução de um programa de computador. Algoritmo: apresentação, exemplos e definição Um algoritmo nada mais é do que um conjunto de passos para a realização de uma determinada tarefa. O que é importante entendermos é que um algo- ritmo não precisa ser necessariamente algo ligado à tecnologia. Na realidade, o tempo todo estamos criando algoritmos para realizarem diversas tarefas. Quer ver um exemplo? Quando você vai sair de casa a caminho da faculdade, existe uma sequência de passos que você realiza, que tem uma ordem. As ordens das coisas que você precisa fazer para chegar à faculdade são escolhidas para te ajudar a realizar a tarefa: “ir para a faculdade”. Outros exemplos: � Preparar um hambúrguer. � Fazer um avião de papel. � Trocar o pneu de um carro. Exemplo — Preparar um hambúrguer 1. Cortar o pão e deixá-lo aberto com as partes de dentro voltadas para cima; 2. lavar a alface e o tomate; 3. fritar o hambúrguer; 4. colocar o hambúrguer sobre uma das partes do pão que está aberta; 5. colocar uma fatia de queijo, uma rodela de tomate e uma folha de alface sobre o hambúrguer; 6. fechar o pão com a outra parte que ficou sem nada sobre ela. Pronto — sanduíche prontinho! Mas podemos fazer algumas perguntas sobre essa nossa aventura na cozinha: � Existe somente um jeito de fazer esse hambúrguer? � A ordem das atividades é importante? Não existe uma única forma; o importante é que essas atividades sejam organizadas de tal forma que a tarefa “preparar um hambúrguer” seja realizada. Nesse momento, o importante é fazer, não importando se mais rápido, mais gostoso ou com mais recheio. Assim, a ordem é de extrema importância para que consigamos chegar ao objetivo final. Afinal, o que isso tem a ver com computador? Bom, primeiro é preciso entender por que o uso de computador para resolução dos mais diversos pro- blemas e das mais diversas tarefas tornou-se tão imprescindível. Para isso, vamos comparar o ser humano a um computador. Introdução à lógica de programação2 O humano é um ser inteligente, capaz de realizar diversas tarefas, como, por exemplo, calcular o valor do desconto de um jogo que está prestes a comprar. Já um computador é uma máquina “burrinha”, que só executa o que mandamos. Em contrapartida, ele não se cansa. Imagina se você tivesse que calcular, durante o dia inteiro, o desconto da venda de uma loja? Poderia cansar-se e até cometer um erro, não é mesmo? Então, é por isso que, desde quando foi criado até hoje, o papel fundamental do computador é ajudar o ser humano nas suas tarefas. Mas quem ensina o computador o que ele tem que fazer? Esse papel é do ser humano, que o faz por meio dos programas. Os programas de computador são conjuntos de instruções que o computa- dor precisa realizar para poder concluir uma determinada tarefa. Então, um algoritmo, em computação, também é um conjunto de passos, só que o foco é desenvolver um programa de computador. Um algoritmo bastante famoso é o utilizado pelo Google, para realizar suas buscas. Ele foi desenvolvido a partir de 1995, pelos então estudantes Larry Page e Sergey Brin. Imagine que você tenha que realizar uma busca por nome em uma agenda telefônica — fica mais fácil se a agenda estiver organizada por nome, concorda? Então, os primeiros sistemas de busca ordenavam os sites dessa forma, sendo que o grande diferencial do Google foi utilizar um algoritmo que ordenasse os sites do mais acessado para os menos acessados. Dessa forma, a probabilidade do que o usuário estava procurando estar entre os primeiros é maior. Os algoritmos estão em várias áreas — medicina, bolsa de valores, mo- bilidade urbana. Seu uso está cada vez mais difundido, e aprender como escrever um algoritmo bem como torná-lo mais eficiente é uma habilidade muito importante para os profissionais das mais diversas áreas. Algoritmo pode ser definido como uma sequência de passos que visam a atingir um objetivo definido (FORBELLONE; EBERSPÄCHER, 2005). 3Introdução à lógica de programação Comandos, variáveis, expressões e instruções No nosso exemplo do hambúrguer, falta pensarmos em uma coisa: saber como escrever e definir quais são os passos necessários. Bom, cada pessoa pode definir de um jeito, e isso poderia acontecer também ao escrevermos um algoritmo paraum programa de computador, o que tornaria o trabalho dos computadores muito mais complicado, pois cada pessoa poderia definir esses passos de uma forma. Em computação, costuma-se padronizar grande parte dos conceitos envolvidos, e a definição dos passos de um algoritmo também foi padronizada. Por meio de comandos, podemos formar as instruções e as expressões. Assim, os comandos são os tijolos da nossa construção; com eles, o computador entende o que deve fazer. Escrever um texto na tela, por exemplo, pode ser a ação que será executada pelo comando “escrever <texto” que será escrito na tela. Existem vários tipos de comandos: comandos para atribuição de valor, comandos para entrada e saída de dados, comandos para estruturas de seleção ou de repetição — vamos conhecer todos eles. Agora, você precisa saber que comando denota uma ação (ou um conjunto delas) que o computador irá executar, tem forma e segue algumas regrinhas. Outra definição que usaremos ao longo de todo o nosso curso é a de variáveis. Durante a execução de um programa, dados são entregues ao computador, que, executando esse programa, modifica os dados e “responde” conforme o esperado. Exemplo — Operação de saque em um autoatendimento 1. Entrar com os dados de conta e senha; 2. solicitar qual opção o cliente deseja realizar; 3. se for saque, solicitar o valor a ser sacado; 4. se existir saldo, entregar o dinheiro; 5. se não, mostrar a mensagem de “saldo indisponível” na tela; 6. encerrar a operação. Introdução à lógica de programação4 Esse valor que você solicitou é um dado que precisa ser armazenado na memória do computador. Essa região da memória do computador, onde guar- damos, mesmo que temporariamente, o dado, chamamos de “variável”, e, como o próprio nome diz, pode sofrer mudança (variação) de valor. Memória de um computador é o meio físico para armazenar dados temporariamente ou permanentemente. Para saber mais, consulte TANENBAUM, 2000. Para podermos usar as variáveis, precisamos inicialmente criá-las. Em programação, a criação de uma variável é chamada de “declaração de uma variável”, que pode ser comparada ao ato de etiquetar pequenas gavetas para organizar diversos itens. A grande ideia por detrás da variável é que cada uma delas tem um nome e um tipo. Assim, somente os dados daquele tipo podem ser colocados na sua respectiva variável. Não daria para colocar um grampeador em uma gaveta etiquetada com canetas. Veremos mais detalhes sobre variável adiante. Com as variáveis e os comandos, podemos formar as instruções e/ou expressões. Uma expressão é uma combinação de variáveis, comandos e operadores. Já uma instrução é uma operação única, que é executada pelo processador do computador. Assim, o programa de computador é formado por várias instruções. Em resumo, as instruções são formadas por comandos e/ou variáveis. Todas essas ferramentas são usadas para escrever um programa, utilizando o conceito de algoritmo. Representação de um algoritmo Como foi visto, um algoritmo é um conjunto de passos para que uma tarefa seja realizada. Esses passos são organizados de forma lógica, a fim de se chegar ao objetivo final. Existem várias formas de se representar um algoritmo — até agora usamos o português para isso, mas existem representações gráficas: fluxograma e diagrama de Chapin. Vamos representar o algoritmo do saque, usando o fluxograma da Figura 1: 5Introdução à lógica de programação Figura 1. Algoritmo do saque. Fonte: Do autor. INÍCIO Solicitar dados do usuário Solicitar a opção de operação Se for saque Solicitar valor a ser sacado Saldo suficiente? Mostrar mensagem de saldo indisponível Entregar o valor solicitado FIM V F V As representações gráficas são mais fáceis de entender devido à sua própria natureza. A lógica envolvida fica mais clara, porém é preciso que se aprenda a padronização dos itens que podem ser usados. Por esse motivo, ao logo deste livro, usaremos o português para a representação dos algoritmos. Para saber mais sobre a representação de algoritmos, consulte FORBELLONE; EBERS- PÄCHER, 2005. Introdução à lógica de programação6 Execução de um programa: compilação e interpretação Bom, já sabemos que um programa é um conjunto de instruções que são entregues ao computador para que ele realize determinada tarefa. Essa ação de realizar uma tarefa em computação chamamos de “execução de um pro- grama”, e existem duas maneiras de um programa ser executado. Antes de passarmos para essa etapa, é importante dizer que os algoritmos, mesmo que padronizados, ainda não estão escritos em uma linguagem que o computador entenda. Existem várias linguagens que o computador entende: C, Java, Python são exemplos de linguagens de programação. Então, o processo de desenvolver um programa passa por estas etapas: 1. Entender o problema ou a tarefa que queremos que o programa execute. 2. Desenvolver um algoritmo. 3. Escrever o algoritmo em uma linguagem de programação — esse ar- quivo com o algoritmo escrito em uma linguagem de programação é chamado de “código-fonte”. 4. Enviar o programa para que o processador o execute, compilando ou interpretando o código-fonte. ■ Compilar um arquivo é traduzir de uma linguagem para outra. As- sim, quando compilamos um código-fonte, estamos transformando um arquivo escrito em uma linguagem de programação em uma linguagem que o processador pode executar, também chamada de linguagem de máquina. Exemplos de linguagens compiladas: C, C++, Erlang, Haskell. ■ Outras linguagens de programação são interpretadas, funcionando da seguinte forma: o código fonte é passado para o interpretador, que pega cada instrução escrita no código-fonte e a executa de forma direta, não realizando uma tradução de todo o código-fonte. Exemplos de linguagens interpretadas: Java, Python, Ruby, PHP. ■ A maior vantagem de uma linguagem compilada é a velocidade de execução. Como, nesse tipo de linguagem, o código-fonte é convertido diretamente em uma linguagem de máquina, a execução é mais rápida e eficiente quando comparada com uma linguagem interpretada especialmente em sistemas onde a complexidade é alta. ■ Já as linguagens interpretadas não precisam ser totalmente tradu- zidas para um código de máquina, pois cada uma das instruções é executada diretamente pelo seu interpretador. Logo quando foram 7Introdução à lógica de programação inventadas essas linguagens, a velocidade do tempo de execução, quando comparadas com as linguagens compiladas, era, sem som- bra de dúvidas, muito alta e a principal desvantagem quando feita essa comparação. Porém, com a invenção da tecnologia just-in-time (JIT), essa desvantagem continua existindo, mas bem menor. Essa técnica consiste em realizar uma tradução dinâmica, em tempo de execução e não antes da execução. Assim, a diferença de execução entre linguagens compiladas e interpretadas diminuiu. ■ Em contrapartida, um programa compilado precisa ser gerado para cada plataforma que for rodar: Windows, Linux, Mac OS. Já um programa interpretado pode rodar em qualquer máquina, já que sua “interpretação” é feita em tempo de execução, sendo que a única necessidade é ter o interpretador na máquina onde esse programa será executado. Para saber mais sobre JIT, consulte: https://goo.gl/GjiWhs FORBELLONE, A. L. V.; EBERSPÄCHER, H. F. Lógica de programação: a construção de algoritmos e estrutura de dados. São Paulo: Makron Books, 2005. TANENBAUM, A. S. Sistemas operacionais. Porto Alegre: Bookman, 2000. Introdução à lógica de programação8 DICA DO PROFESSOR Existem várias linguagens de programação no mercado, mas há uma característica muito importante que precisa ser levada em consideração na hora da escolha. No vídeo da Dica do Professor, você terá orientações sobre compiladores e interpretadores, ferramentas que nos auxiliam na tradução de um código-fonte. Conteúdo interativo disponívelna plataforma de ensino! EXERCÍCIOS 1) Um algoritmo pode ser considerado como um conjunto de passos para realizar determinada tarefa. Imagine que você precisa fazer um avião de papel e propõe para um amigo que cada um escreva um algoritmo para realizar essa tarefa. Cada um escreve o seu; vocês constatam que eles são diferentes tanto na quantidade de passos como na própria descrição dos passos. Depois dessa fase, vocês trocam os algoritmos: você faz o avião com o algoritmo escrito pelo seu amigo e vice-versa. Seguindo cada passo, os dois conseguem fazer um avião de papel. O que é possível afirmar sobre seus algoritmos? A) Algo está errado, pois não é possível ter mais de um algoritmo para resolver a mesma tarefa. B) Não existe algoritmo para fazer algo que não envolva tecnologia. Portanto, estes não são algoritmos. C) Somente quem escreve um algoritmo pode interpretá-lo. Assim, cada um deveria ter feito o avião de papel com o seu próprio algoritmo. D) Não é possível um ser humano escrever um algoritmo para fazer um avião de papel. E) Os algoritmos escritos estão funcionando bem, visto que atingiram o objetivo: fazer um avião de papel. 2) Imagine um jogo de adivinhação de número. O número deve ser sorteado aleatoriamente, e o usuário adivinha um valor; se ele acertar, ganha o jogo. Caso contrário, o jogo avisa se você adivinhou um número muito grande ou muito pequeno. Um possível algoritmo para esse jogo pode ser visto a seguir: Passo 1 – sortear um número; Passo 2 – perguntar ao usuário qual número ele adivinhou; Passo 3 – se for igual ao número sorteado, informar ao usuário que ele ganhou; Passo 4 – ? Passo 5 – ? Escolha a opção que completa o algoritmo com os passos 4 e 5. A) Passo 4 – se o número adivinhado for menor que o número sorteado, dar a dica para o usuário adivinhar um número menor; Passo 5 – se o número adivinhado for maior que o número sorteado, dar a dica para o usuário adivinhar um número maior. B) Não é possível, pois é preciso saber o número sorteado para completar o algoritmo. C) Passo 4 – se o número adivinhado for maior que o número sorteado, dar a dica para o usuário adivinhar um número menor; Passo 5 – se o número adivinhado for menor que o número sorteado, dar a dica para o usuário adivinhar um número maior. D) É impossível escrever um algoritmo para esse tipo de jogo de adivinhação. E) Passo 4 – se o número adivinhado for menor que o número sorteado, dar a dica para o usuário adivinhar um número maior; Passo 5 – se o número adivinhado for maior que o número sorteado, dar a dica para o usuário adivinhar um número maior. 3) Uma variável é uma região de memória que serve para armazenar ________ que estão envolvidos(as) num programa. As variáveis são definidas com um ________ e um ________. Qual opção completa de forma correta essa afirmação? A) Dados, nome e tipo. B) Dados, nome e valor inicial. C) Textos, tamanho e tipo. D) Dados, valor inicial e tipo. E) Letras, nome e tipo. 4) Um programa pode ser executado de duas formas: na primeira, o código-fonte é traduzido para a linguagem máquina e logo em seguida executado; na segunda, cada uma das instruções é executada de forma direta, sem a necessidade de tradução completa do código-fonte. Em qual das alternativas estão essas duas formas de execução, respectivamente? A) Interpretação e compilação. B) Simplificação e execução dinâmica. C) Compilação e tradução. D) Compilação e interpretação. E) Compilação e processamento. 5) Ao comparar o tempo de execução de uma tarefa por um programa de computador escrito em linguagem compilada com outro em linguagem interpretada, é possível afirmar que: A) os programas interpretados são mais rápidos que os programas compilados. B) não existe diferença entre o tempo de execução de programas compilados e interpretados. C) os programas compilados são mais rápidos que os programas interpretados. D) não é possível avaliar o tempo de execução de um programa somente sabendo como ele foi executado. E) o tempo de execução de dois programas não pode ser mensurado para fins de análise. NA PRÁTICA Rafael é um estudante de medicina que estudou algoritmo e lógica de programação durante o ensino médio. Ele está em um dos vários estágios do seu curso e precisa analisar os sintomas de um paciente para chegar a um diagnóstico. Usando seus conhecimentos de lógica de programação, Rafael desenvolve um algoritmo capaz de ajudá-lo. Como Rafael está em estágio, ele tem o auxílio do seu professor, que gostou da ideia e o parabenizou pela ótima ferramenta de apoio para os estudantes, salientando que pode ser melhorada com o tempo e a experiência. SAIBA MAIS Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Comece a Programar: 3 Passos Iniciais Para complementar seus estudos, assista ao vídeo, que mostra os três principais passos para começar a programar. Conteúdo interativo disponível na plataforma de ensino! CS Discoveries: Variables (tem legenda) O vídeo que mostra o que é uma variável e como sua definição é importante no desenvolvimento de algoritmos. Conteúdo interativo disponível na plataforma de ensino! A Hora do Código Esta página é uma iniciativa mundial que visa a levar o ensino de programação a crianças de 10 a 16 anos de forma divertida. Acesse e confira os cursos disponíveis. Conteúdo interativo disponível na plataforma de ensino! Introdução à Algorítmos e Lógica de Programação APRESENTAÇÃO É sem dúvida muito importante a programação em qualquer área, como na Engenharia, por isso, é de supra necessidade compreender um pouco o mundo da programação. Nesta Unidade de Aprendizagem, além de aprender o universo da programação, vocês terão os conceitos e a oportunidade de compreender um pouco dessa área. Para isso, utilizaremos um software chamado MATLAB, uma ferramenta que auxiliará no desenvolvimento de algoritmos. Nesta Unidade de Aprendizagem, você vai estudar o conceito de lógica, o que é um algoritmo e como está relacionado com a lógica. Também irá aprender a identificar e definir o que são tipos de dados, operadores aritméticos, operadores relacionais, operadores lógicos, expressões aritméticas, expressões relacionais e as regras de precedências entre os operadores. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Identificar os algoritmos e sua lógica de programação na solução de problemas, a representação e os tipos de dados na construção de algoritmos. • Aplicar os algoritmos e sua lógica de programação na solução de problemas.• Operar de forma correta os tipos de dados e suas relações.• DESAFIO O Desafio – A Torre de Hanói! A Lenda: o problema das torres de Hanói foi proposto pelo matemático francês Edouard Lucas, em 1883. Lucas elaborou para seu “invento” uma lenda curiosa sobre uma torre muito grande. A “torre de Brama”, que foi criada no “início dos tempos”, com três hastes contendo 64 discos concêntricos (mesmo centro). O “criador” do universo também criou uma comunidade de monges cuja única atividade seria mover os discos da haste original (“A”) para uma de destino (“C”). O “criador” estabeleceu que o mundo acabaria quando os monges terminassem sua tarefa. Porém, os monges deveriam respeitar as três regras para a sua execução. É interessante observar que o número mínimo de "movimentos" para conseguir transferir todos os discos da primeira estaca à terceira é 2n-1, sendo n o número de discos. Logo: Para solucionar um Hanói de 3 discos, são necessários 23 -1 movimentos = 7 movimentos. Para solucionar um Hanói de 7 discos, são necessários 127 movimentos. Para solucionar um Hanói de 15 discos, são necessários 32.767 movimentos. Para solucionar um Hanói de 64 discos, como diz a lenda, são necessários 18.446.744.073.709.551.615 movimentos. Usando um pouco de lógica e a ferramenta Matlab, você precisa escreverum algoritmo que solucione esse desfio! Acompanhe, na imagem a seguir, as orientações. INFOGRÁFICO Em programação, os tipos de estruturas de controle disponíveis mudam de linguagem para linguagem. Nessa visão, temos os fluxos de execução de algoritmos, o primeiro é a continuação da execução em uma instrução após a outra instrução, como na estrutura sequencial. O segundo é a execução de um bloco de código somente se uma condição é verdadeira, esta chamada de estrutura de seleção. O terceiro é a execução de um bloco de código enquanto uma condição é verdadeira, ou de forma a iterar uma coleção de dados, sendo esta chamada de estrutura de repetição. Acompanhe, no Infográfico a seguir, como esse conceito pode se inter-relacionar com essas estruturas. CONTEÚDO DO LIVRO Neste capítulo, você verá sobre a introdução a algoritmos e à lógica de programação e alguns conceitos, como fluxo e execução, com a estrutura sequencial, estrutura de seleção e de repetição, além do conceito de lógica, o que são algoritmos, tipos de dados, operadores aritméticos, relacionais, lógicos, precedência entre os operadores e expressões. Leia o capítulo Introdução a Algoritmos e Lógica de Programação do livro Algoritmos e programação que é base teórica desta Unidade de Aprendizagem. Boa leitura. ALGORITMO E PROGRAMAÇÃO Jeferson Faleiro Leon Introdução a algoritmos e lógica de programação Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Criar, reconhecer, interpretar e aplicar os algoritmos e sua lógica de programação na solução de problemas. Identificar, diferenciar e aplicar a representação e os tipos de dados na construção de algoritmos e na solução de problemas. Operar de forma correta os tipos de dados e suas relações. Introdução Neste capítulo, você estudará o conceito de lógica, verá o que é um algoritmo e como ele está relacionado com a lógica. Além disso, aprenderá a identificar e definir o que são tipos de dados, operadores aritméticos, operadores relacionais, operadores lógicos, expressões aritméticas e expressões relacionais. Conceitos de lógica de programação A lógica não tem uma defi nição específi ca: inicialmente, era ligada à ma- temática (lógica formal) e, atualmente, está relacionada a todas as áreas do conhecimento humano. Podemos relacionar a lógica com a “correção do pensamento”, pois uma de suas preocupações é determinar quais operações são válidas e quais não são, fazendo análises das formas e leis do pensamento. Como filosofia, ela procura saber por que pensamos assim e não de outro jeito; como arte ou técnica, ela nos ensina a usar corretamente as leis do pensamento (FORBELLONE; EBERSPACHER, 2005). Algoritmos Para Forbellone e Ebersoacher (2005), algoritmo é um conjunto fi nito de regras, bem defi nidas, que nos levam à solução de um problema em um tempo fi nito. Segundo Berg e Figueiró (2002), algoritmo é a descrição de um conjunto de ações que, obedecidas, resultam numa sucessão fi nita de passos, atingindo o objetivo. Para que se tenha um algoritmo, é preciso: a) que se tenha um número finito de passos; b) que cada passo esteja precisamente definido, sem possíveis ambiguidades; c) que existam zero ou mais entradas; d) que existam uma ou mais saídas; e) que exista uma condição de fim, sempre atingida em tempo finito, para quaisquer entradas. Os algoritmos são criados e reconhecidos por sua lógica de programação. Segundo Forbellone e Eberspacher (2005), a lógica está relacionada à coerência e à racionalidade; lógica de programação é a racionalização dos processos formais da programação de computadores e algoritmo é a sequência de passos que visam atingir um objetivo bem definido. Os algoritmos podem ser visualizados por meio de um fluxograma convencional ou por meio de um fluxograma do tipo Chapin. Forbellone e Eberspacher (2005) fornecem um exemplo básico da diferença entre ambos e destacam que há uma série de vantagens e desvantagens para cada um desses fluxogramas. Por exemplo, o fluxograma convencional é mais fácil de desenhar e é previsto em etapas, enquanto o fluxograma Chapin pode compactar as perguntas de F e V ou S e N em somente um bloco, sendo considerado mais técnico e formal. Na Figura 1, você pode observar essas diferenças. Introdução a algoritmos e lógica de programação2 Figura 1. Fluxograma convencional e fluxograma Chapin. Fonte: Forbellone e Eberspacher (2005). Tipos de dados (primitivos) Para entender os tipos primitivos, voltemos nossa atenção para um conceito muito importante: a informação. Antes disso, vamos entender o que é um 3Introdução a algoritmos e lógica de programação dado? Dados são códigos que constituem a matéria-prima da informação, ou seja, é a informação não tratada que ainda não apresenta relevância. A informação é constituída pelos dados tratados – o resultado do processa- mento de dados são as informações. As informações têm significado e podem contribuir no processo de tomada de decisões. Os dados podem ser classificados conforme seu tipo e os principais serão descritos a seguir. Tipos numéricos Inteiros: é um número que não possui casas decimais; por exemplo, a idade de uma pessoa ou uma quantidade de itens num estoque. Real: é um número que possui casas decimais, ou seja, é um número fracionário; por exemplo, a altura de uma pessoa ou o peso de um determinado produto. Tipos alfanuméricos Literal ou String: são os textos, que podem conter letras, números e caracteres especiais. Não são utilizados para cálculos. Tipos lógicos Booleano: é um dado que só pode conter 2 informações (verdadeiro ou falso). Expressões Expressões, no sentido matemático, são representações simbólicas de sequ- ências de operações a serem feitas sobre determinados operandos visando a obtenção de um resultado. Necessitam-se de dois tipos de expressões para a elaboração de algoritmos: expressões aritméticas e expressões lógicas. Introdução a algoritmos e lógica de programação4 Expressões aritméticas Expressões aritméticas são aquelas cujos operadores são aritméticos e cujos operandos são constantes e/ou variáveis do tipo numérico (inteiro ou real). Operadores aritméticos Soma + Divisão / Quociente da divisão inteira Div Radiciação // Subtração - Multiplicação · Resto da divisão inteira Mod 10 div 3 = 3 10 mod 3 = 1 3 div 5 = 0 25 div 5 = 5 25 mod 5 = 0 3 mod 5 = 3 5Introdução a algoritmos e lógica de programação Funções matemáticas Função Descrição Exemplo sqr (x) Quadrado de x (x2) sqr (4) = 16 sqrt (x) Raiz quadrada de x ( ) sqrt (25) = 5 sen (x) Seno de x sen (90) = 1 cos (x) Cosseno de x cos (90) = 0 tg (x) Tangente de x tg (45) = 1 int (x) Parte inteira de x int (23,49) = 23 frac (x) Parte fracionária de x frac (23,49) = 49 pot (x,y) X na potência y (xy) pot (3, 2) = 9 abs (x) Valor absoluto de x abs ( -39) = 39 Sinal (x) Fornece o valor –1, +1 ou zero conforme o valor de x seja negativo, positivo pu nulo. Sinal (-44) = -1 Precedência entre os operadores Os operadores de mesma precedência na tabela são resolvidos da esquerda para a direita, na ordem que aparecerem na expressão. Introdução a algoritmos e lógica de programação6 5 + 9 + 7 + 8 / 4 5 + 9 + 7 + 2 = 23 1 - 4 · 3 / 6 - 2 · 3 1 - 4 · 3 / 6 - 8 1 - 12 / 6 - 8 1 - 2 - 8 = -9 3 · 2 - 4 / 2 + abs (5 - 3 · 5) / 2 3 · 2 - 4 / 2 + abs (5 - 15) / 2 3 · 2 - 4 / 2 + abs (-10) / 2 3 · 2 - 4 / 2 + 10 / 2 9 - 4 / 2 + 10 / 2 9 - 2 + 5 = 12 Expressões lógicas Expressões lógicas são aquelas cujos operadores são lógicos e/ou relacionais e cujos operandos são relações e/ou constantes e/ou variáveis de tipo lógico. O resultado de uma expressão lógica sempre é uma constante lógica (F - falso ou V - verdadeiro). Operadores relacionais = Igual < > Diferente > Maior >= Maior ou igual < Menor <= Menor ou igual 7Introdução a algoritmos e lógica de programação 2 · 4 = 24 / 3 = 8 V 2 + (8– 7) > = 3 · 6 - 15 2 + 1 > = 18 - 15 3 > = 3 V Operadores lógicos Símbolo Função E Conjunção Ou Disjunção (não-exclusiva) Não Negação O operador lógico E é utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros. O operador lógico E faz com que somente seja executada uma determinada operação se todos as condições mencionadas forem simultaneamente verdadeiras, gerando, assim, um resultado lógico verdadeiro. SE (NÚMERO > = 20) E (NÚMERO < = 90) Então, escrever “Número válido no intervalo” Se NÃO, escrever “Número inválido, não está no intervalo” Fim-SE Introdução a algoritmos e lógica de programação8 O operador lógico OU é utilizado quando pelo menos um dos relaciona- mentos lógicos (quando houver mais de um relacionamento) de uma condição necessita ser verdadeiro. O operador lógico OU faz com que seja executada uma determinada operação se pelo menos uma das condições mencionadas gerar um resultado lógico verdadeiro. SE (SEXO = ‘Masculino’) OU (SEXO = ‘Feminino’) Então, escrever “O seu sexo é válido” Se não, escrever “O seu sexo é inválido” Fim-SE O operador lógico NÃO é utilizado quando se necessita estabelecer que uma determinada condição dever ser não verdadeira ou deve ser não falsa. O operador lógico NÃO se caracteriza por inverter o estado lógico de uma condição, isto é, inverte o resultado lógico da condição. Algoritmo prog1 Var A, B, C, X: Inteiro Início Ler (X, A, B) SE NÃO (X > 5) Então C: = (A + B) · X Se não C: = (A – B) · X Fim-SE Escrever (C) Fim 9Introdução a algoritmos e lógica de programação Tabelas verdade Tabela verdade é o conjunto de todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas, as quais se encontram em apenas duas situações, e um conjunto de operadores lógicos. Operador E A B A e B V V V V F F F V F F F F Operador OU A B A ou B V V V V F V F V V F F F Operador NÃO A A não B V F F V Introdução a algoritmos e lógica de programação10 Prioridades Entre operadores lógicos: Entre todos os operadores: BERG, A.; FIGUEIRÓ, J. Lógica de programação. 3. ed. Canoas: Ed. ULBRA, 2002. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson, 2005. Leituras recomendadas CHAPRA, S. C. Métodos numéricos aplicados com MATLAB® para engenheiros e cientistas. 3. ed. Porto Alegre: AMGH, 2013. OLIVEIRA, A. B.; BORATTI, I. C. Introdução à programação de algoritmos. Florianópolis: Visual Books, 2004. SOUZA, M. A. F. et al. Algoritmos e lógica de programação. 2. ed. São Paulo: Cengage, 2012. 11Introdução a algoritmos e lógica de programação DICA DO PROFESSOR A importância de aprender programação passa pela compreensão de um problema, entender o que é um dado, uma informação, os tipos de dados (alfanuméricos, numéricos e boolenos), operadores (aritméticos, relacionais e lógicos) e expressões (aritméticas, relacionais e lógica). Nesta Dica do professor, faço o convite para que você mergulhe nos estudos de algoritmos e compreenda ainda mais o conteúdo que está estudando. Conteúdo interativo disponível na plataforma de ensino! EXERCÍCIOS 1) O que são algoritmos? A) Algoritmo é um conjunto finito de regras, bem definidas, que nos leva à solução de um problema em um tempo finito. B) Algoritmo é um conjunto infinito de regras, bem definidas, que nos leva à solução de um problema em um tempo longo. C) Algoritmo é um conjunto finito de regras, nada definida, que leva à solução de um problema em um tempo finito. D) Algoritmo é a forma ambígua de escrever um programa de computador e que nos dá a ideia de um problema que o programador pensou em resolver. E) Algoritmo é um elemento finito de regras, pouco definidas, que nos leva à solução de um problema em um tempo finito. 2) O fluxo de execução de um algoritmo consiste em estruturas. Quais são essas estruturas? A) Sequencial, Aritmética e de Junção. B) Sequencial, Seleção e Repetição. C) Junção, de Seleção e de Repetição. D) Repetição, de Artimética e de Seleção. E) Aritmética, Seleção e Junção. 3) Existem alguns tipos de dados primitivos que podem ser números negativos, positivos ou nulos com e sem decimais, que apresentam letras e que apresentam valores de V ou F ou valores binários 0 ou 1. Quais são esses tipos primitivos de dados? A) Lógicos ou booleanos, inteiros, estatísticos, probabilisticos. B) Dados numéricos, dados científicos, lógicos, probabilísticos. C) Dados de números Inteiros, reais, com caractere, lógicos ou booleanos. D) Com caractere, simples, compostos, booleanos. E) Dados de números inteiros, reais, compostos, booleanos. As expressões são fórmulas matemáticas que auxiliam a obter um resultado numérico. Normalmente, são utilizadas para obter um resultado numérico para números inteiros e reais, ou para condições, ou para conjunções, disjunções e 4) negações. Quais são essas expressões? A) Exponenciais, Aritméticas, de Conjunção. B) Aritméticas, Relacionais, Lógicas ou Booleanas. C) Geométricas, de Razão, Exponenciais. D) Geométricas, Relacionais, Lógicas ou Booleanas. E) Lógicas ou Booleanas, de Razão, Geométricas. 5) Analise o seguinte trecho: algoritmo "Modelo" var n: inteiro inicio escreval("Insira um número inteiro: ") leia(n) n = n * n; escreval("O ................... é : ",n) fimalgoritmo O que o irá acontecer com o valor lido, o que será mostrado como resultado? A) O resultado é o QUADRADO do valor lido. B) O resultado é o DOBRO do valor lido. C) O resultado é a METADE do valor lido. D) O resultado não é calculado, pois o tipo de dado não pode ser utilizado para fazer cálculos. E) O resultado é o triplo do valor lido. NA PRÁTICA Vamos resolver um problema prático de um saltador de bungee jumping. Se um saltador de bungee jumping vai pular de um penhasco, qual é a velocidade final no período de queda livre, a fim de que se possa determinar o comprimento e a resistência da corda. Acompanhe, na imagem a seguir, como resolver esse problema. SAIBA MAIS Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Por que todos deveriam aprender a programar? No link a seguir, você verá pessoas famosas falando sobre como programação é algo muito legal, e que mais escolas deveriam ensinar programação para seus alunos. Conteúdo interativo disponível na plataforma de ensino! Lógica e programação No link a seguir, você terá acesso a um vídeo que apresenta uma introdução sobre o que é e por que a lógica é indispensável para quem deseja entrar no mundo da programação. Conteúdo interativo disponível na plataforma de ensino! Primeiro Algoritmo - Curso de Algoritmos No link a seguir, você terá acesso a uma videoaula que aborda sobre algoritmos de uma forma simples e intuitiva. Conteúdo interativo disponível na plataforma de ensino! A linguagem C - Conceitos Básicos APRESENTAÇÃO Da mesma forma que existem vários idiomas no mundo, na computação existem várias linguagens de programação, as LPs. LP é uma linguagem na qual os programas são escritos e que faz uma tradução do algoritmo para uma linguagem que o computador entenda. Nesta Unidade de Aprendizagem, você vai conhecer a linguagem C, também conhecida como a linguagem das linguagens, pois é bastante difundida no meio acadêmico e usada para que você dê os primeiros passos no mundo da programação. Você vai entender como surgiu a linguagem por meio do histórico da linguagem C, compreender a estrutura básica da linguagem, conhecer vários ambientes de desenvolvimento e configurar o que melhor se adaptar às suas necessidades. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Reconhecer o histórico da linguagem C.• Identificar a estrutura básica de um programa em C.• Instalar ambientes de desenvolvimento da linguagem C.•DESAFIO Assim, você precisa escolher um ambiente de desenvolvimento para a linguagem C e realizar a sua instalação. Você deve fazer uma pequena introdução do ambiente de desenvolvimento que foi escolhido, indicar qual sistema operacional utilizou e o passo a passo para a instalação, finalizando com um print da IDE. INFOGRÁFICO A linguagem de programação C é uma linguagem compilada: é preciso que o código-fonte passe por um programa chamado compilador. A saída desse processo é uma espécie de codificação que o computador entende. Acompanhe no infográfico como esse processo acontece. CONTEÚDO DO LIVRO Para desenvolver programas, é preciso conhecimento de alguma linguagem de programação. Neste capítulo, você aprenderá um pouco mais sobre o que são essas linguagens e como elas funcionam, e entrará em contato com a linguagem C, uma das mais populares. Leia o capítulo A linguagem C - Conceitos básicos, da obra Algorítmos de Programação, que serve de base teórica para esta Unidade de Aprendizagem. Boa leitura. ALGORÍTMOS DE PROGRAMAÇÃO Marcela Santos A linguagem C – conceitos básicos Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Conhecer o histórico da linguagem C. � Identificar a estrutura básica de um programa em C. � Instalar e conhecer ambientes de desenvolvimento da linguagem C. Introdução Da mesma forma que existem vários idiomas no mundo, na computa- ção, existem várias linguagens de programação, as LPs. Uma LP é uma linguagem na qual os programas são escritos e que faz uma tradução do algoritmo para uma linguagem que o computador entenda. Neste texto, você vai estudar sobre a linguagem C, também conhecida como a “linguagem das linguagens”, por ser bastante difundida no meio acadêmico e usada para que você dê os primeiros passos no mundo da programação. Você vai entender como surgiu a linguagem por meio do histórico da linguagem C, compreender a estrutura básica da linguagem, além de conhecer vários ambientes de desenvolvimento e configurar o que melhor adaptar-se às suas necessidades. Histórico da linguagem C Antes de começarmos a falar sobre C, que é a linguagem que usaremos, vamos entender o que é uma linguagem de programação. No capítulo Introdução à Lógica de Programação, falamos sobre Algoritmos e como o seu papel é importante no desenvolvimento de um programa. A Figura 1, a seguir, faz a representação de como um algoritmo ajuda na resolução de problemas. Figura 1. Diagrama de como um algoritmo ajuda na resolução de problemas. Problema Algoritmo ProgramaSolução Porém, se o algoritmo não está escrito em uma linguagem que o compu- tador entenda, é preciso, então, fazer uma tradução da linguagem que nós, humanos, usamos para a que a máquina entenda. Essa tradução é feita por meio da utilização de uma linguagem de programação (LP). Existem várias linguagens de programação, com paradigmas e níveis de abstração diferentes. Quando uma LP assemelha-se à linguagem falada ou escrita por um ser humano, ela é dita de alto nível, e, quando ela aproxima-se da linguagem de máquina, é dita de baixo nível. Da mesma forma que o Português, por exemplo, tem regras (sintaxe) para que seja compreendido por qualquer pessoa que fale esta língua, as LPs também têm um conjunto de regras com as quais é possível traduzir um algoritmo e gerar um programa. Dito isso, podemos começar a falar da linguagem que vamos utilizar neste livro: a linguagem de programação C. A linguagem C é uma LP bastante popular, criada por volta de 1970, por Dennis Ritchie. A linguagem C foi desenvolvida nos laboratórios Bell, onde muitas de suas ideias iniciais surgiram de outra linguagem, a B, que tem como antecessoras as linguagens BCPL e CPL. CPL foi uma linguagem desenvolvida com o propósito de ser uma linguagem de alto e baixo níveis. A maior desvantagem da CPL foi que era muito pesada para o desenvolvimento de algumas aplicações. Em 1967, foi desenvolvida a Basic CPL – BCPL, que mantinha as características básicas da CPL. Ken Thompson, que trabalhava na Bell Labs, utilizou esse projeto para A linguagem C – conceitos básicos2 o desenvolvimento da linguagem B. Assim, B foi uma versão de BCPL escrita para o desenvolvimento de sistemas. Em 1972, Dennis Ritchie, trabalhando com Ken Thompson, desenvolveu uma linguagem também baseada na linguagem BCPL, mas que mantinha parte da especificação para acesso a hardware, ou seja, a parte das características de baixo nível da linguagem, conhecida como C. A linguagem C é usada por programadores há muito tempo e poderosa no desenvolvimento dos mais diversos tipos de sistema, desde sistemas operacio- nais, passando por compiladores, editores de texto, etc. Além da diversidade de sistemas, é importante ressaltar que C é uma linguagem que pode ser utilizada em máquinas com um alto poder de processamento, bem como em máquinas mais simples e com baixo poder de processamento. Dentre as características de C, podemos destacar: � Portabilidade: os programas em C são compilados, gerando um único executável. Assim, é possível compilar um programa escrito em C para qualquer máquina, desde que exista compilador C para ela. Na prática, existem compiladores C para quase todos os computadores. � Poder e variedade dos operadores: é possível trabalhar com funções matemáticas, criação e manipulação de arquivos de Dos, dentre outras possibilidades. Isso tudo pode ser feito de forma simplificada, com adição de bibliotecas padronizadas, presentes na própria linguagem. � Sintaxe elegante, estruturada e flexível: indicada para quem está co- meçando a programar. � Acesso facilitado à memória e a todo o hardware, quando preciso: assim, é possível ir de um programa simples até o desenvolvimento de um sistema operacional. � Uso de procedimentos e funções para desenvolver sistemas desacopla- dos: sistemas desacoplados são sistemas onde é possível isolar pequenas partes para, por exemplo, encontrar erros sem causar nenhum dano ao restante do sistema. Pela natureza de como foi desenvolvida, C também é chamada de lingua- gem de Médio Nível, pois possui um conjunto de instruções necessárias para acesso ao hardware, como as linguagens de baixo nível (Assembly). Além disso, C pode ser simples e amigável, como uma linguagem de alto-nível deve ser. Uma linguagem de médio nível pode, em alguns casos, não prover as estruturas necessárias a uma linguagem de alto nível, mas certamente ela tem ferramentas que podem ser usadas como blocos para construção dessas estruturas necessárias. 3A linguagem C – conceitos básicos A primeira versão de C foi criada por Dennis Ritchie, em 1972, nos laboratórios Bell, para ser incluída como um dos softwares a serem distribuídos juntamente com o sistema operacional Unix do computador PDP-11. Estrutura básica da linguagem C Neste ponto, você deve estar querendo saber como é escrito um programa que utiliza a linguagem C. A primeira coisa que temos que entender é o processo da criação desse programa. � Com o algoritmo em mente, você deve traduzi-lo para C em um arquivo e salvá-lo com a extensão C. Por exemplo, imagine que eu escrevi meu primeiro programa em um arquivo que irei nomear de programa1; ao salvá-lo, esse arquivo precisa de um nome e de uma extensão; assim, esse arquivo ficaria como: programa1.c � A segunda parte é usar um compilador para gerar o programa. O com- pilador nada mais é do que um programa que vai fazer toda a conversa e tradução do seu código-fonte para a linguagem mais baixa do sistema, a linguagem da máquina. � Pronto, agora seu programa foi criado. Basta somente executá-lo. � A Figura 2, a seguir, demonstra, por meio de um esquema, a criação de um programa compilado. Figura 2. Como um programa compilado é criado? A linguagem C – conceitos básicos4 Agora vamos entender a estrutura básica do nosso código-fonte, escrito em linguagem C. Mais à frente, veremos com o usodas ferramentas precisamos, mas, por hora, imagine que você abriu qualquer editor de texto da sua preferên- cia e criou um arquivo novo, salvou-o com extensão C e, agora, chegou a hora de preenchê-lo com seu código em C, conforme exemplificado na Figura 3. Figura 3. Primeiro programa em C. Durante todo este livro, vamos explicar os códigos, usando os números das linhas na margem à esquerda dos códigos. Vamos a elas: � Falamos sobre uma das características do C, o uso de bibliotecas pa- dronizadas. A linha 1 é o comando para adicionar a biblioteca padrão stdio.h no seu código-fonte. Uma das possibilidades que ela traz são comandos de entrada e saída de dados. � Na linha 2, temos a declaração da função principal, que, em C, é cha- mada de main, e a palavra int antes dela indica que deverá “devolver” algo do tipo inteiro. Depois de main, temos um par de parênteses vazio, indicando que ela não tem nenhum argumento. � Nas linhas 3 e 6, temos um par de chaves, entre as quais a magia acontece, onde todo o seu algoritmo, agora traduzido para C, ficará. � Na linha 4, temos um exemplo de instrução que escreve um texto na tela. � Por fim, na linha 5, temos o valor que a função main retorna, 0. Sabemos que, a essa altura do livro, poucas dessas palavras parecem fami- liares, mas calma: foi assim com todos os programadores profissionais — todo mundo, no início de aprendizado, passou por essa etapa. É preciso que neste início (principalmente) você estude e pratique como se estivesse aprendendo um novo idioma, como o inglês. Só assim tudo ficará mais familiar e, como os programadores dizem, “no sangue”. 5A linguagem C – conceitos básicos No exemplo da Figura 4, o programa escreve algo na tela. Se você quiser escrever um programa, por exemplo, que soma 2 números, deverá substituir a linha 4 por toda a tradução do seu algoritmo. Então, a estrutura básica de um código C é a seguinte: Figura 4. Estrutura básica de um programa em C. Agora temos o código-fonte. Na próxima seção, vamos conhecer os am- bientes para desenvolvimento e, assim, gerar o programa em C. Ambientes de desenvolvimento com linguagem C Existem dois caminhos a seguir em se tratando de desenvolvimento de pro- gramas. Você pode usar um editor de texto e um compilador/interpretador da linguagem que escolher, ou um ambiente integrado de desenvolvido, também conhecido como IDE. Muitas pessoas dizem que, no início dos estudos de programação, é me- lhor usar um editor de texto, já que, em muitas vezes, uma IDE traz muita informação que ainda não é familiar ao estudante. Neste livro, vamos dar a você sugestões de editores de texto e IDE, para que, assim, você possa fazer suas escolhas. Começando com os editores de texto: � Sublime Text, que pode ser usado em ambientes OS X, Windows ou Linux. � Atom, que também pode ser usado em OS X, Windows ou Linux. � Editores-padrão do seu sistema operacional. A linguagem C – conceitos básicos6 Agora, as IDEs: � Dev-C++: ferramenta para desenvolvimento C e C++, para o ambiente Windows — essa ferramenta é bastante difundida no meio acadêmico. � Code::Blocks: ferramenta open-source, na qual se pode programar em C,C++ e Fortran. (existe versão para Windows, Linux e OS X) — uma das ferramentas mais flexíveis e com uma quantidade grande de plugins, o que pode ajudar durante o desenvolvimento de algum programa específico. � Visual Studio: ambiente de programação para o Windows e OS X — nessa IDE, é possível programar em várias linguagens, dentre elas a C. � Eclipse: uma das IDEs mais completas, na qual se pode programar (realizando a configuração adequada) em diversas linguagens — dis- ponível para OS X, Windows ou Linux. Alguns detalhes: � Se você escolher usar o editor de texto, é preciso instalar também o compilador C. � Se você escolher usar uma IDE, deve configurá-la para a linguagem C, no caso das IDEs que possuem uma vasta gama de possibilidade de linguagens de programação. Escolhido o ambiente de programação, vamos criar nosso primeiro pro- grama? Vamos usar aqui o editor de texto+compilador no ambiente Linux. No caso das IDEs, é preciso somente abrir um novo documento, “codar ”(termo da moda e moderninho pra programar!!!), e clicar no ícone responsável por compilar e/ou executar o programa. Como o editor simples foi o escolhido, é preciso, agora, ir para a linha de comando do Linux e digitar alguns comandos. É necessário acessar a pasta onde o arquivo.c esteja e, em seguida, basta digitar o seguinte: gcc nomedoarquivo.c -o nomedoprograma. 7A linguagem C – conceitos básicos Linha de comando para compilação de um programa em C: � gcc — comando para executar o compilador C; � nomedoarquivo — o arquivo deve ter sido salvo com extensão C e é preciso estar na mesma pasta que ele; � -o — opção necessária para gerar o executável em C; � nomedoprograma — nome do programa que vai ser gerado; se não for digitado, o compilador gera um programa cujo nome será a.out. Depois disso, e se tudo ocorreu bem, o compilador gera um programa com o nome nomedoprograma. Basta, agora, executá-lo — e você escreveu seu primeiro programa em C! Parabéns! Além de IDEs, existem outras ferramentas para otimizar o desenvolvimento de software. Para maiores detalhes, acesse o link a seguir ou o código QR. https://goo.gl/79C11q PINHEIRO, F. A. C. Elementos de programação em C. Porto Alegre: Bookman, 2012. Leitura Recomendada A linguagem C – conceitos básicos8 DICA DO PROFESSOR O que é uma linguagem de programação? De que é formada uma linguagem de programação e quais os conceitos básicos da linguagem C? Acompanhe o vídeo da Dica do Professor para receber orientações sobre esses conceitos e se familiarizar com a linguagem C. Conteúdo interativo disponível na plataforma de ensino! EXERCÍCIOS 1) Sobre a linguagem C, é correto afirmar que: A) sua portabilidade se dá pelo fato de que pode-se rodar um programa executável em qualquer sistema operacional, sem precisar recompilar. B) os programas escritos em C têm alto grau de segurança. C) essa linguagem tem características que permitem o uso do paradigma de orientação a objetos. D) não tem recursos de baixo nível, ou seja, de acesso direto ao hardware. E) é uma das linguagens indicadas para se começar a estudar programação, pois é considerada simples e bem-estruturada. O seguinte programa está escrito em linguagem C. Qual a função da linha 1? 2) A) Acrescentar a biblioteca padrão da linguagem C para que se possa fazer entrada e saída de dados. B) Incluir um tipo de arquivo de dados no programa. C) Essa instrução pode ser retirada de acordo com o que está se desejando escrever no programa. D) Não pode ser usada se serão feitas entrada e saída de dados. E) Permite que mais de um usuário utilize o código. 3) O que é uma linguagem de programação? A) É a linguagem utilizada pelos programadores para realizar documentação sobre os programas que eles escrevem. B) É a linguagem falada pelos humanos, mas, em vez de uma conversa entre humanos, trata- se de uma conversa entre humanos e um computador. C) É a linguagem utilizada para escrever programas de computadores. D) É a linguagem na qual os algoritmos são escritos. E) É a linguagem composta por 0 e 1 e impossível de ser utilizada por um ser humano. 4) Utilizando o editor e o compilador, quais os passos para que se tenha um programa em C pronto para execução? A) Escrever o programa em um arquivo, salvar o arquivo com extensão C e executá-lo na linha de comando. B) Escrever o programa em um arquivo com extensão txt, com a seguinte linha de comando: gcc -o nomedoprograma.txt nomedoexecutavel. C) Escrever o programa em um arquivo, salvar o arquivo com extensão c e compilar com a seguinte linha de comando: gcc nomedoprograma.c -o nomedoexecutavel. D) Não é possível desenvolver um programa em C somente com editor de texto e compilador. E) Escrever o programa em um arquivo com qualquer extensãoe compilar com a seguinte linha de comando: gcc -o nomedoprograma nomedoexecutavel. 5) A linguagem C é uma linguagem: A) de médio nível e compilada. B) de alto nível e interpretada. C) de baixo nível e compilada. D) de baixo nível e interpretada. E) Nenhuma das alternativas anteriores. NA PRÁTICA Taís está em seu primeiro dia de trabalho no setor de desenvolvimento de sistemas em uma empresa de alta tecnologia. Seu primeiro dia se dá junto com o primeiro dia de estágio de Felipe, o estagiário da equipe de apoio. SAIBA MAIS Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Linguagens mais Populares de 2017 Com tantas linguagens de programação no mercado, é interessante estar atento às linguagens de programação mais populares do ano para organizar os estudos. Neste video, você verá as linguagens de programação mais populares do ano de 2017. Conteúdo interativo disponível na plataforma de ensino! O que significa "COMPILAR" e quando você precisa fazer isso no Linux O vídeo mostra como se dá o processo de compilação de um programa no sistema operacional Linux. Conteúdo interativo disponível na plataforma de ensino! Dia do Programador: alguns GRANDES Programadores da História Quem foi a primeira pessoa a programar um computador? Quais foram as pessoas que começaram nesse universo incrível de programação? Neste vídeo, você vai conhecer alguns grandes programadores da história. Conteúdo interativo disponível na plataforma de ensino! O que eu preciso saber para virar engenheiro de software na Google? A Google é uma das principais empresas de tecnologia e um dos grandes sonhos de emprego de muitos dos estudantes de computação. Quer saber o que você precisa fazer para se tornar um engenheiro de software da Google? Acesse o artigo e fique por dentro. Conteúdo interativo disponível na plataforma de ensino! Tipos de dados e Variáveis APRESENTAÇÃO Os dados que utilizamos nos programas de computadores precisam ser armazenados na memória do computador. A memória é como um grande arquivo cheio de gavetas e, para uma melhor organização, essas gavetas podem estar etiquetadas. Outro detalhe desse grande arquivo é que as gavetas podem ter tamanhos diferentes e, de acordo com o tamanho, guardam determinado tipo de objeto. Usando essa analogia, cada gaveta é uma variável que tem um nome (etiqueta) e um tamanho que representa o tipo de variável. Nesta Unidade de Aprendizagem, você vai compreender o que são variáveis e como definimos os tipos de dados que podemos armazenar nessas variáveis. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Identificar a diferença entre os tipos de dados.• Realizar a inicialização e nomeação de variáveis.• Aplicar a declaração de variáveis.• DESAFIO O seu desafio é escrever os tipos de dados numéricos e o seu range. Você deverá escrever isso de forma que os meteorologistas possam ajudá-lo a escolher o melhor tipo. Uma dica é, em vez de escrever a quantidade de bytes de cada tipo, mostrar qual o menor e o maior número que pode ser armazenado naquele tipo. Para entender melhor os tipos de dados em C e as faixas de valores, acesse: Conteúdo interativo disponível na plataforma de ensino! INFOGRÁFICO Acompanhe no infográfico a relação entre os tipos de dados e o espaço reservado na memória do computador. CONTEÚDO DO LIVRO Em programação, os dados são tão importantes quanto o próprio código. Sem dados, o programa não pode realizar nenhuma operação. Por isso, conhecer como armazenar esses dados, bem como que tipo de dados utilizamos, é uma das tarefas iniciais e de muita importância. Leia o capítulo Tipos de Dados e Variáveis, da obra Algoritmos de Programação , que serve de base teórica para esta Unidade de Aprendizagem. Boa leitura. ALGORÍTMOS DE PROGRAMAÇÃO Marcela Santos Tipos de dados e variáveis Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Identificar a diferença entre os tipos de dados. Realizar a inicialização e nomeação de variáveis. Aplicar a declaração de variáveis. Introdução Os dados que utilizamos nos programas de computadores precisam ser armazenados na memória do computador. A memória é como um grande arquivo cheio de gavetas, e, para uma melhor organização, essas gavetas podem estar etiquetadas. Outro detalhe desse grande arquivo é que as gavetas podem ter tamanhos diferentes e, de acordo com eles, guardam determinado tipo de objeto. Usando essa analogia, cada gaveta é uma variável que tem um nome (etiqueta) e um tamanho que representa o seu tipo. Neste capítulo, você vai compreender o que são variáveis e como definimos os tipos de dados que podemos armazenar nelas. Diferença entre os tipos de dados Um computador é uma máquina que processa dados. Ao escrevermos um programa, estamos, na verdade, realizando essa tarefa com os dados que o usuário entrega para a máquina. Por exemplo, quando queremos que um pro- grama realize o cálculo da média entre duas notas, é preciso que, de alguma forma, o programa “receba” essas duas notas. Os dados são os insumos que entregamos aos computadores para que eles realizarem a tarefa, utilizando, para isso, um programa computacional. Esses dados são armazenados em regiões de memória que chamamos de variáveis. Podemos pensar na memória do computador como um grande armário cheio de gavetas, as variáveis são as gavetas e, para uma melhor organização, cada uma possui uma etiqueta indicando o tipo de material que pode ser guardado nela: papel, envelopes, canetas. As variáveis também possuem etiquetas que são os nomes das variáveis, e a classificação do que pode ser guardado em cada variável é dada pelos tipos de variáveis de uma determinada linguagem de programação. Existem cinco tipos de dados em C, e cada um representa um tipo de informação. Os tipos são representados por uma palavra reservada da lin- guagem, que são: int: números inteiros char: letras, caracteres, dados alfanuméricos float: números reais com precisão simples, ocupa 4 bytes na memória do computador double: números reais com precisão dupla, ocupa 8 bytes na memória do computador void:vazio Além dos tipos, existem em C os modificadores de tipo: short: diminui o espaço em memória reservado para uma variável long: aumenta o espaço em memória reservado para uma variável unsigned: indica que a variável será guardada sem sinal signed: indica que a variável será armazenada com sinal Como a ideia desse material é focar em algoritmos de programação, mas com nível básico, os modificadores não serão utilizados. Tipos de dados e variáveis2 Inicializando e nomeando variáveis Se retomarmos ao exemplo da gaveta, os nomes que estão escritos nas etiquetas identifi cam os elementos que estão na gaveta. Não é conveniente identifi car a etiqueta como caneta, sendo que o que está sendo guardado nela seja adesivos. Uma palavra reservada de uma linguagem é uma palavra que faz parte da sintaxe e tem uma funcionalidade especificada na linguagem, não podendo ser usada para outro fim. Com as variáveis, funciona da mesma forma. É conveniente colocar o nome das variáveis para ajudar na leitura de um código. Lembre-se de que você pode ter que reler o código para encontrar erros ou, até mesmo, outras pessoas precisem realizar a tarefa árdua de leitura de código alheio. Escolha nomes que identifiquem as variáveis. Existem algumas regras que podem ajudar na hora de nomear uma variável: Evite começar com letra maiúscula e nunca use um número para co- meçar uma variável. Não utilize caracteres especiais, como:, “, (,). Você não pode usar nenhuma palavra reservada como variável. Evite variáveis como a, b, n1,n2 , pois isso só tende a dificultar a leitura de código. Se a variável tem mais de uma palavra, a partir dasegunda, coloque a primeira letra da palavra em maiúscula, ou utilize underline. Não coloque sinais de pontuação na sua variável. Quando criamos um programa e utilizamos o conceito de variáveis, o compilador associa a uma região de memória o nome desta variável. A memória do computador é um recurso utilizado por todos os programas que estão sendo executados ou que pararam de ser executados em algum momento, ou seja, aquela região que agora é a variável do seu programa pode ter sido utilizada por outro programa, o que deixou alguma informação nessa parte da memória, como se fosse um lixo de dados. 3Tipos de dados e variáveis O que podemos fazer, então, para evitar erros no nosso código devido a valores deixados na memória? Podemos limpar essa região de memória, e isso pode ser feito inicializando o valor de uma variável logo em seguida à declaração. A Figura 1 mostra a declaração e a inicialização de uma variável. Figura 1. Declaração e inicialização de variáveis. Declaração de variáveis Quando um programa está sendo executado, signifi ca que ele está na memó- ria do computador, onde armazenamos os dados nas variáveis. Precisamos solicitar que o computador reserve essa região de memória que possuirá um nome e um tipo. O ato de solicitar essa região deve ser feito no programa e chama-se decla- ração de variáveis. Em C, podemos declarar uma variável da seguinte forma: Na linha 4, realizamos a declaração de uma variável; primeiramente, é preciso colocar o tipo da variável, seguida do nome dela, e, por fim, o ponto- -e-vírgula que finaliza toda e qualquer linha em C. Na linha 5, inicializamos a variável idade com o valor 0, para que, assim, não corramos o risco de ter um valor indesejado armazenado nessa variável, sendo utilizado no nosso programa. Vamos a outro exemplo. Imagine que você precise calcular a média de um aluno. O seu usuário precisa digitar duas notas e você precisa calcular a média. Vamos, nessa etapa, somente declarar e inicializar as variáveis necessárias. Tipos de dados e variáveis4 Figura 2. Declaração simultânea de variáveis. Observe que, na linha 4, declaramos na mesma linha 3 variáveis do tipo double, pois a média pode ser um número com vírgula. Essa é outra forma de declarar variáveis de mesmo tipo de forma simultânea. Nas linhas 5,6 e 7, inicializamos essas variáveis para evitarmos quaisquer erros causados por “lixo” de dados presente na memória. A Figura 2 apresenta uma declaração simultânea de variáveis. A definição do tipo das variáveis, do nome e de como você faz essas escolhas constitui uma etapa importante do desenvolvimento de programas. Faça essas escolhas com calma e analisando bem o que você utilizará e como. PAES, R. B. Introdução à Programação com a Linguagem C. São Paulo: Novatec, 2016. 296p. PINHEIRO, F. A. C. Elementos de programação em C. Porto Alegre: Bookman, 2012. 548p. Leituras recomendadas 5Tipos de dados e variáveis Encerra aqui o trecho do livro disponibilizado para esta Unidade de Aprendizagem. Na Biblioteca Virtual da Instituição, você encontra a obra na íntegra. Conteúdo: DICA DO PROFESSOR O que são variáveis e para que elas servem? Como definir os tipos de dados que serão utilizados em um programa? Acompanhe o vídeo da Dica do Professor e tenha orientações sobre esses conceitos e como a linguagem C trata essas questões. Conteúdo interativo disponível na plataforma de ensino! EXERCÍCIOS 1) Você precisa declarar uma variável "idade" do tipo inteiro. Qual a maneira correta de fazer isso em C? A) int idade; B) idade int; C) inteiro idade; D) Não é preciso declarar em C; o simples uso da variável faz ela passar a existir. E) float idade; 2) Ao declarar uma variável que armazena um caractere, você escreveu a seguinte linha de código: char -nome; Ao compilar o programa, verificou que essa declaração gerou um erro de sintaxe. Qual a alternativa que indica esse erro? A) -nome é uma palavra reservada; por esse motivo, ocorreu o erro. B) char não é um tipo existente em C. C) Variáveis não devem começar com caracteres especiais como o hífen utilizado na declaração. D) Durante a declaração, não é preciso o ponto e vírgula no final da linha de código. E) Faltou inicializar a variável, pois, em C, não podemos usar uma variável sem antes inicializá-la. 3) Qual a maneira correta de declarar uma variável em C? A) A declaração é feita primeiro colocando-se o tipo da variável, seguido do nome da variável e finalizando a instrução com ponto e vírgula. O tipo é dado por palavras reservadas da linguagem em que se está programando. B) Não se declara variável em C. C) A declaração é feita colocando-se o nome da variável, seguido do tipo de variável e finalizando a instrução com ponto e vírgula. O tipo é dado por palavras reservadas da linguagem em que se está programando. D) A declaração é feita colocando-se o nome da variável, seguido do caractere especial : (dois pontos). Em seguida, coloca-se o tipo de variável e finaliza-se a instrução com ponto e vírgula. O tipo é dado por palavras reservadas da linguagem em que se está programando. E) A declaração é feita colocando-se o tipo da variável, seguido do caracter especial : (dois pontos). Em seguida, coloca-se o nome da variável e finaliza-se a instrução com ponto e vírgula. O tipo é dado por palavras reservadas da linguagem em que se está programando. Você precisa armazenar os seguintes dados: - Salário bruto; 4) - Sexo, que será representado por F (Feminino), M (Masculino) ou N (prefiro não declarar); - Idade, em anos. Quais são os tipos dessas variáveis? A) int, char e double. B) double, char e double. C) double, char e int. D) int, char e int. E) char, double e int. 5) Por que, em alguns casos, é interessante inicializar uma variável em C? A) Porque o nome da variável pode já ter sido usado por algum programa. B) Porque essa técnica é obrigatória em todo programa e todas as variáveis em C. C) Porque é uma boa prática para um melhor entendimento do código-fonte. D) Para não corrermos o risco de utilizar um valor armazenado anteriormente por outro programa naquele espaço de memória. E) A inicialização de uma variável é desnecessária em C. NA PRÁTICA Fernando é estagiário do setor de recursos humanos de uma empresa e está desenvolvendo um programa em C para calcular salário bruto, salário líquido e descontos de funcionários da empresa onde ele trabalha. Além disso, ele gostaria de saber a quantidade de funcionários que se declaram do sexo masculino ou do sexo feminino e a quantidade de funcionários que não gostaria de declarar o seu sexo. Como dados, ele tem a quantidade de horas trabalhadas, o nome do funcionário e o valor da hora. Além disso, ele obteve as porcentagens de desconto. Porém, Fernando ficou confuso sobre quais aspectos precisa levar em consideração na escolha das variáveis para desenvolver esse programa e pediu ajuda a um colega da área de programação. SAIBA MAIS Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professor: Lógica de Programação Os algoritmos são formados por instruções e dados. Acompanhe no vídeo um resumo sobre tipos de dados, variáveis, constantes e instruções. Conteúdo interativo disponível na plataforma de ensino! Projeto torne-se um programador - Uso de variáveis Se você quer se tornar um programador, um passo muito importante é entender o que é uma variável e como usá-la. Assista ao vídeo para entender como uma variável é armazenada e como se dá o uso dela. Conteúdo interativo disponível na plataforma de ensino! Declaração de Variáveis, Leitura e Escrita de Dados Os algoritmos são formados por instruções e dados. Acompanhe no vídeo um resumo sobre tipos de dados, variáveis, constantes e instruções. Conteúdo interativo disponível na plataforma de ensino! Entrada e saída de dados APRESENTAÇÃO A tarefa de um programa de computador é receberdados por meio de instruções de entrada, processar essas informações de acordo com a lógica criada e traduzida para uma determinada linguagem de programação e entregar esses dados processados utilizando as instruções de saída de dados. Nesta Unidade de Aprendizagem, você irá estudar uma parte importante do desenvolvimento de sistemas: as instruções necessárias para realizar a entrada e a saída de dados em um programa de computador. Bons estudos. Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados: Definir função.• Aplicar as funções printf() e scanf().• Desenvolver códigos de formatação.• DESAFIO A linguagem C é uma linguagem amplamente utilizada pela comunidade de desenvolvedores e uma linguagem de referência para cursos de ciência da computação em todo o mundo, juntamente com Python e Java. Procedural e estruturada, C provavelmente é uma das linguagens de programação mais conhecida no mundo. Considere que você é funcionário do cinema de um shopping. Seu gerente pediu que desenvolvesse um programa em C para calcular o valor de ingressos do cinema e fornecer aos usuários. O programa deve apresentar ao usuário as opções de filme e o valor total dos ingressos, com custo de 12,50 reais cada. Além disso, o valor do ingresso deve ser facilmente modificado no código. As opções de filme são: Se o usuário escolher a opção 1: Vingadores 4 – da Marvel Se o usuário escolher a opção 2: Como Treinar o Seu Dragão 3 Se o usuário escolher a opção 3: Dumbo Se o usuário escolher a opção 4: Shazam! Neste desafio demonstre como organizar o código para fazer a entrada de dados usando as funções printf e scanf. Ao final o usuário tem que ser informado sobre as opções escolhidas. INFOGRÁFICO Uma função é um subprograma que só é executado quando chamado, evitando repetições, ou seja, podemos pegar esse trecho de código que irá se repetir e colocar dentro de um bloco - uma função. Outra característica é que as funções ajudam a dividir um programa, deixando o código mais organizado. Cada função executa uma operação predetermina. Existem funções predefinidas como: printf () e scanf(), e as funções definidas pelo usuário. Uma função pode ser pensada como uma caixa-preta, quando se utiliza uma função não é necessário "estar a par" de todo o código existente dentro dela, apenas saber o que precisa entregar para a função (se precisa) e o que ela vai entregar (se entregar). Acompanhe no Infográfico como a caixa-preta funciona, arrastando a seta. Conteúdo interativo disponível na plataforma de ensino! CONTEÚDO DO LIVRO Os computadores precisam de dados, que são processados pelos programas, para executar as suas tarefas. É preciso que nos programas existam instruções para que esses dados sejam inseridos e, além disso, instruções para que a resposta desse processamento seja mostrada. Essas instruções são as instruções de entrada e de saída. Leia mais no capítulo Entrada e saída de dados, da obra Algoritmos de programação, que serve como base teórica para esta Unidade de Aprendizagem. Boa leitura. ALGORITMOS DE PROGRAMAÇÃO Marcela Santos Entrada e saída de dados Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: � Descrever o conceito de função. � Aplicar as funções printf() e scanf(). � Usar códigos de formatação. Introdução Os programas de computador são sistemas que processam dados. A tarefa de um programa de computador é receber dados por meio de instruções de entrada, processar essas informações de acordo com a lógica criada e traduzida para uma determinada linguagem de programação e entregar esses dados processados, utilizando as instruções de saída de dados. Neste capítulo, você estudará uma parte importante no desenvol- vimento de sistemas: as instruções necessárias para realizar a entrada e saída de dados em um programa de computador. O conceito de função Para explicar o conceito de função, vamos começar com o seguinte código: Figura 1. Código-fonte: o conceito de função. Na linha 4, temos o uso de uma função existente em C, a printf. Esta função escreve na tela o texto existente em parênteses e entre aspas. Existe uma complexidade gigante para que seja escrito na tela do computador um valor e existam instruções específicas para isso. Uma função é um conjunto de instruções que realizam uma determinada tarefa. Para que fique mais fácil o uso, elas têm nome. Seria preciso um conjunto dessas instruções todas as vezes em que essa operação fosse necessária em um programa. Para facilitar esse trabalho, em programação, existem dois conceitos muito importantes: biblioteca e funções. Na vida real, também temos algo parecido. Imagine que você tenha que fazer café. Automaticamente nós já realizamos todas as tarefas que estão en- volvidas: colocar água para ferver, colocar o pó do café, esperar a água ferver e despejar a água quente sobre o pó de café (essa é a maneira que eu faço café!) Então todas as vezes que eu vou fazer café, mando essas informações automaticamente para o meu cérebro. Em programação, é a mesma coisa: uma função é um conjunto de instruções organizadas em bloco, que possuem um nome e, quando for preciso, é chamada por meio deste. As funções podem ser criadas pelos programadores ou podem estar in- cluídas nas bibliotecas de uma determinada biblioteca — e é aqui que entra o nosso segundo conceito: uma biblioteca de programação é um conjunto de funções que já foram pré-definidas por outros programadores; você precisa simplesmente adicionar a biblioteca ao seu programa e utilizar as funções. Esse é o caso da função printf, presente na linha 4 do código apresentado na Figura 1. Agora, vamos aprender mais sobre essa e outra função, que são as funções básicas de entrada e saída na linguagem C. Entrada e saída de dados2 As funções printf() e scanf() Um computador é uma máquina que faz uso de programas e dados para realizar tarefas. Esses programas recebem esses dados, processam e entregam-nos como resposta a algum tipo de problema. Os programas são compostos de instruções que fazem esse processamento. Essas instruções podem ser funções de entrada e de saída, e é sobre elas que iremos tratar. Vale a pena ressaltar que estamos tratando da linguagem de programação C, e essas funções sãos funções desta linguagem. Para usar as funções scanf e printf, é preciso incluir a biblioteca stdio.h no código-fonte, por meio da linha #include <stdio.h> A função printf é a função de saída de dados no vídeo. Todas as funções têm uma sintaxe, que é uma regra que mostra como ela deve ser usada e qual o resultado esperado. A sintaxe de printf está representada na Figura 2, a seguir: Figura 2. Sintaxe da função printf. printf(”entrada de dados”); aqui você digita o texto que deseja apresentar na tela. 3Entrada e saída de dados Essa é a forma mais básica para utilizarmos essa função, quando queremos simplesmente apresentar na tela uma mensagem de texto. Mas pode haver situações em que queremos apresentar o valor de uma variável. Quando isso for necessário, basta que, em vez do texto, coloquemos somente a variável sem as aspas. Mas ainda pode existir a situação em que queremos apresentar um texto e uma variável na mesma saída de dados. Para entendermos como isso pode ser feito, vamos analisar o seguinte código, na Figura 3: Figura 3. O uso de printf com código de formatação. Esse código mostra o ano que a pessoa nasceu, usando, para isso, uma variável que contém a idade da pessoa. Foram definidas 3 variáveis do tipo inteiro: idade, anoAtual e anoNascimento. As variáveis idade e anoAtual possuem valores iniciais, ou seja, não temos uma entrada de dados por parte do usuário que executa o programa criado com esse código-fonte. A variável anoNascimento é calculada usando-se dois operadores: o de atribuição e o de subtração — esses operadores serão vistos
Compartilhar