Buscar

Aula 02 Exibindo no Display

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

LINGUAGEM DE PROGRAMAÇÃO I 
AULA 02 – EXIBINDO NO DISPLAY 
 INTRODUÇÃO 
A linguagem C não tem, como na maioria das linguagens, comandos para exibir mensagens, constantes numéricas, conteúdo de 
variáveis, retorno de funções, entre outros, no dispositivo padrão de saída, display. Em contrapartida, apresenta funções que fazem parte 
da biblioteca padrão da linguagem C: stdio.h (standard input output). 
NOTA: O fato da linguagem C não apresentar comandos para exibir no display é considerado uma 
 grande vantagem, uma vez que se distância do hardware aumentando a sua portabilidade. 
Além das funções que vamos estudar: 
 Função que exibe uma cadeia de caracteres; 
 Função que exibe um caractere; 
 Função que exibe formatado um, ou vários caracteres; 
 Constante numérica; 
 Conteúdo de variável; 
 Retorno de função. 
Veremos, em outra aula, funções, também da stdio.h, que gravam em dispositivos, como por exemplo, no HD. A maioria dos exemplos 
foi compilada no gcc/Linux, pois quem sabe desperta a curiosidade de trabalhar nesse sistema operacional, uma das razões do 
desenvolvimento da linguagem C. 
 FUNÇÃO QUE EXIBE UMA CADEIA DE CARACTERES 
Essa função não consegue trabalhar com constantes numéricas nem com variáveis 
de qualquer tipo, mas é ideal quando só temos mensagens para exibir. É bom ressaltar 
que ela já tem embutida uma alimentação de linha, embora você possa incluir outros 
elementos. Com ela, justifico o que mais devemos apreciar na linguagem C. 
 
 PORTABILIDADE – O mesmo código foi compilado em dois compiladores do Windows e em um compilador no Linux. Observe que 
nada foi alterado e as saídas ficaram iguais. 
 
 
 
A saída colorida no Linux foi alterada no ambiente na opção editar. Você pode fazer isso também no Prompt, tanto no Dev-C++ quanto 
no Visual Studio 2008, clicando com o botão direito sobre a barra de título, selecionando propriedades, e fazendo as trocas nas guias fonte 
e cores. O objetivo, mostrando no Linux de forma mais elegante, foi fazer com que você se apaixonasse pelo SO. Para os estudantes de 
Engenharia, é preciso conhecê-lo mesmo que não se tornem desenvolvedores. 
 FUNÇÃO QUE EXIBE UM CARACTER 
Essa função não exibe uma saída formatada e só pode ser usada para variável ou 
constante char de um. 
Não ache estranho se você encontrar uma linha desta putchar (‘\n’); com \ e n 
entre aspas simples porque na linguagem C, quando só existe 1 caractere, é 
obrigatório o uso de aspas simples. Também não estranhe o fato de dizermos 1 
caractere e você estar visualizando 2, porque, você verá, que os 2 juntos são 
considerados 1 caractere. 
 
Vamos observar no exemplo que a função é muito limitada, uma vez que precisamos de puts () para exibir mensagens. 
 
Função que exibe formatado um, ou vários caracteres, constante numérica, conteúdo de variável, retorno de função – uma função 
completa. 
 
 
Essa função, como já dito, não faz parte da Linguagem C, mas é a mais importante função para exibir na tela. Por isso, ela precisa ser 
bem explorada com muitos exemplos para que você se torne capaz de saber usá-la com competência, otimizando seus códigos. Além disso, 
pretendemos desmistificar sua tão propagada dificuldade. 
 CADEIA DE CARACTERES ENTRE ASPAS 
Tudo que você desejar que apareça na tela, exatamente na 
ordem, deverá estar dentro dessa cadeia de caracteres, também 
referenciada por alguns autores de string. Pode ser somente uma 
mensagem, caracteres especiais, uma mensagem com “lugares 
reservados” para os argumentos através de códigos formadores, 
caracteres especiais etc. 
 LISTA DE ARGUMENTOS SEPARADOS POR VÍRGULAS 
Os argumentos são variáveis, constantes, chamadas de funções, 
expressões, entre outros. 
 CARACTERES ESPECIAIS 
Vamos conhecer alguns caracteres especiais que lhe ajudarão a 
formatar a saída de seus programas? Eles também são conhecidos 
como caracteres de controle ou sequência de escape por serem 
sempre precedidos pela \ cujo nome em inglês é backslash, mas por 
aqui é conhecida como barra invertida ou contrabarra. 
A contrabarra tem um significado grande na programação e tem 
sua história na internet. Sua finalidade é alertar para que seja dado 
um tratamento especial para o caractere que a sucede podendo ser 
uma letra, um algarismo ou um caractere gráfico. 
 ASPAS DUPLAS 
Precisam de um tratamento especial uma vez que a cadeia de caracteres da função fica entre elas. 
 
 \n 
Essa sequência é chamada de new line e equivale ao pressionamento da tecla Enter em um editor de texto. Como é usada a letra n, ser 
precedida pela \ se justifica porque ficaria impossível determinar quando seria uma nova linha ou, a letra n. Você poderá, com uma única 
função printf, exibir em várias linhas, pois várias seqüências \n podem ser usadas juntas, ou separadas. 
 
 \t 
Essa sequência é chamada de horizontal tabulation e equivale ao pressionamento da tecla Tab em um editor de texto. Como é usada a 
letra t, ser precedida pela \ se justifica porque ficaria impossível determinar quando seria uma tabulação ou, a letra t. você poderá, com 
uma única função printf, exibir em várias posições pré-definidas das linhas, pois várias seqüências \t podem ser usadas juntas, ou 
separadas. 
 
 \v 
Essa sequência é chamada de Vertical Tabulation. Como é usada a letra v, ser precedida pela \ se justifica porque ficaria impossível 
determinar quando seria uma tabulação vertical ou, a letra v. A saída abaixo é no Linux. 
 
 CÓDIGOS DE FORMATAÇÃO 
Você deve ter percebido a importância das seqüências \n e \t. 
Agora vamos identificar os códigos de formatação, também conhecidos como especificadores de formato. Procure guardá-los porque, 
sem eles, você não consegue exibir nenhum valor dos argumentos. Observe que todos serão precedidos pelo símbolo de %. 
 
Nesse exemplo, apresentamos 4 formatos básicos e 1 com uma 
formatação completa para os tipos float e double. Nesse último, com, 
ou sem presença de zeros à esquerda. A letra t corresponde ao total de 
posições e dec, o total de casas decimais. Veja exemplo: 
 
 
Aqui, apresentamos um número inteiro formatado com n casas. 
Observe o alinhamento e o que acontece com posições não usadas. 
 
 
Nesse exemplo, apresentamos um número inteiro formatado com n 
casas. Observe o alinhamento e o que acontece com posições não 
usadas pela presença do 0 no código de formatação. 
 
 
Nesse exemplo, mostramos o que pode acontecer se a formatação 
de um número real não for precisa. A princípio, você pode achar que 
são iguais, mas veja o que acontece, lendo os textos na saída. 
 
 
 
 
 
 
 
 
 
 
Normalmente, o sinal de + não aparece quando 
o número é positivo, mas se você precisar que ele 
apareça, use antes da letra d ou f. 
Se o número for negativo, aparecerá o sinal de – 
como sempre. 
 
 
Nesse exemplo, mostramos a importância de 
ficarmos atentos quando formos escrever a string, 
pois o número de códigos deve corresponder ao 
número de argumentos. 
Nesse caso, tem mais argumentos e, 
aparentemente, não percebemos nada estranho, 
mas um valor não foi exibido. 
 
 
Já dissemos sobre a importância da cadeia de 
caracteres da função printf(), pois tudo que está 
dentro dessa cadeia é que sairá no display. 
Sendo assim, todo cuidado é pouco, uma vez 
que podemos colocar mais especificadores do que 
argumentos e aparecerem números estranhos que, 
às vezes, demoramos a perceber que foi esse tipo 
de erro. 
 
 
Muito cuidado ao escolher o especificador, pois 
se ele for diferente do tipo do argumento, irá 
aparecer 0 para int e float ou um número estranho 
para int e 0 para float, depende do compilador 
/SO. 
 
 printf 
Vamos exibir resultados de operações com a função printf. Acreditamos que vocêjá deva conhecer os 4 símbolos dos operadores 
aritméticos, mas vamos apresentar aqui só para não termos dúvidas do tipo de resultado que eles retornam. Além dos 4, a linguagem C 
tem mais um que é de muito valia. 
 printf – OPERADORES ARITMÉTICOS 
Cada operador aritmético está relacionado a uma operação elementar: adição, subtração, multiplicação e divisão. Existe ainda um 
operador (%) chamado operador de módulo cujo significado é o resto da divisão inteira. 
 
 
 
 
 
 
 
 
 
 
 
 
NOTA: Fique atento ao operador /, pois se os operando forem inteiros, inteiro será o quociente. 
Veja exemplo: 2 / 4 terá como resultado, zero. 
Quanto ao operador %, ele efetua uma divisão, mas retorna o quociente. 
Veja exemplo: 8 % 5 retorna 3 que é o resto da divisão inteira. 
 
 
 
 / e % – NO PROGRAMA DA DATA 
Nesse primeiro exemplo, apresentamos o 
operador resto. Observe que mesmo os operando 
sendo inteiros, se você acrescentar um ponto em 
um deles, o quociente passa a ser real. Mais tarde 
você aprenderá outra forma de fazer conversão. 
Observe também que usamos dois %% para que 
pudesse ser exibido na tela. 
Esse é o exemplo mais convincente para 
apresentar o operador % e a barra usada para 
divisão inteira. Em todas as linguagens que 
estudamos não pode faltar. Claro que ele precisa de 
alguns conceitos básicos da matemática. 
(Ler Apostila: Matemática de Programação – 
SENHA: leicom2010). 
 
Para finalizar, abordaremos 3 bibliotecas e algumas das funções delas para que possamos exercitar a função printf(). Como já dissemos, 
por toda a história da linguagem C, teríamos que apresentar tudo em ambiente Linux, mas a portabilidade permitirá que você teste tudo 
em compiladores do Windows. 
 C mat 
 
 C mat – ceil / floor 
Funções que arredondam constantes do tipo real. 
 
 
 
 C mat – fmod 
Função que retorna o resto de uma divisão real. 
 
 
 
 C mat – sin / cos / tan 
Embora tenha muito mais funções, só apresentaremos as 3 
básicas. Reforçamos que o ângulo precisa ser convertido de 
graus para radianos. Para isso, multiplique por PI e divida por 
180. Assuma PI como sendo 3,14159265. 
 
 
 
 
 
 
 C mat – pow / sqrt / log 
Essas funções são bem básicas e muito usadas. Com a função 
pow() poderemos extrair raiz a qualquer índice como mostrada 
no exemplo. Apesar de termos 2 funções para logaritmos, se 
desejarmos calcular o logaritmo em qualquer base, use uma das 
propriedades do logaritmo como também mostrada no exemplo. 
 
 BIBLIOTECA ctype.h 
Essa biblioteca é composta de funções que manipulam um caractere. Os códigos variam de 0x20 (32 em decimal) até 0x7E (126 em 
decimal) na tabela ASCII. Existe uma relação muito intensa entre char e int na Linguagem C. 
 
Vamos constatar essa relação através do próximo exemplo onde nos argumentos são números inteiros e, quando se usa o especificador 
%c o número é convertido para o caractere correspondente na tabela ASCII. No caso, a letra A (Aproveitei nesse exemplo para converter 
para base octal e hexadecimal). Se tivéssemos colocado essa linha: 
 ... obteríamos o mesmo resultado. 
 
 Toupper / tolower 
Essas funções são convertidas para letra maiúscula e para letra minúscula, respectivamente. 
 
 
 
 
 Isalnum 
Como existe um conjunto de funções que uma lógica parecida, apresentamos somente uma. Você pode testar as outras. 
 
 BIBLIOTECA stdlib.h 
Essa biblioteca é de propósito geral, pois as funções têm finalidades diferentes. 
 
 BIBLIOTECA stdlib.h – atoi / atof 
Essas funções serão muito úteis para trewchos de proteção na entrada de dados numéricos, evitando erros na execução, uma vez que o 
programa receberá a entrada numérica como string e converterá através dessas funções para números quando for possível. 
 
 BIBLIOTECA stdlib.h – abs 
Essa função é uma das mais simples, pois retorna o valor absoluto do número. 
 
 BIBLIOTECA stdlib.h – rand 
A função rand() retorna um número inteiro no intervalo de 0 até o maior inteiro. Ela sempre deve ser usada com a função srand() feita 
para gerar o inicializador desse conjunto de números pseudo aleatórios. 
 
NOTA: A função system() será usada para chamar o comando pause, 
color, cls, um bloco de notas, a calculadora etc. 
 conio2,h – EM SÍNTESE 
Para finalizar, convidamos a conhecer a biblioteca conio2.h e como fazemos no Linux para obtermos resultados semelhantes ao dessa 
biblioteca que foi atualizada para o Dev-C++. Veja as saídas de código desenvolvidas no Linux e no Windows. 
 
Nossa aula chegou ao fim. E, para não ficar diferente de tudo que foi estudado por aqui, deixamos uma saída de um programa, 
esperando que você desenvolva o código. Veja ainda, uma lista de exercícios para praticar o conteúdo abordado. 
 EXERCÍCIO: Lista 1 – printf com funções e operadores aritméticos 
111))) Construa um programa que exiba a mensagem: Tudo melhorou com a linguagem C. 
222))) Construa um programa que exiba na primeira linha, início da segunda zona, Engenharia e na terceira linha, quinta zona, seu 
primeiro nome. 
333))) Construa um programa que exiba seu nome e LPI, deixando duas zonas em branco entre eles. 
444))) Construa um programa que exiba o produto de 13*134. 
555))) Construa um programa que o quociente e o resto da divisão de 273 por 42. 
666))) Construa um programa que exiba a quinta potência de 4, usando função. 
777))) Construa um programa que exiba a média aritmética de 9.8 , 7.5 e 6.5. 
888))) Construa um programa que calcule e exiba a média ponderada dos números 7, 4, 8 e 10 cujos pesos são 2, 3, 2 e 3 
respectivamente. 
999))) Construa um programa que exiba o novo preço de uma mercadoria que foi reajustado em 7,5% e cujo preço era R$1340,00. 
111000))) Construa um programa que exiba o seno, co-seno e tangente do ângulo 32 em graus. 
111111))) Construa um programa que separe o dia, mês e ano da data: 130862. 
111222))) Construa um programa que inverta o número 568. 
111333))) Construa um programa que represente em octal e em hexadecimal o número 189. 
111444))) Um professor não sabia se arredondava para cima ou para baixo a média de um aluno. Construa um programa que exiba os dois 
arredondamentos para a média 8.9. 
111555))) Calcule o logaritmo de 118 na base 3.

Outros materiais