• Nenhum resultado encontrado

1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1

N/A
N/A
Protected

Academic year: 2021

Share "1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 3 APRESENTANDO A LINGUAGEM C. Página 1"

Copied!
12
0
0

Texto

(1)

Página | 1

1

TECNOLOGIA ELEMENTAR – CAPÍTULO 3

PCNA

Vol. 1

ELEMENTAR

CAPÍTULO 3

– APRESENTANDO A

LINGUAGEM C

TECNOLOGIA

(2)

Página | 2

SUMÁRIO

Apresentação --- 3

Capítulo 3 --- 4

3. Apresentando a Linguagem C --- 4

3.1. Estrutura e sintaxe da Linguagem C --- 4

3.2. Declaração e tipos de variáveis --- 5

3.3. Tipos de operadores --- 6

3.4. Entrada e saída de dados --- 10

(3)

Página | 3

Apresentação

Ao chegar à UFPA, você tem a possibilidade de cursar gratuitamente cursos de nivelamento em Ciências Básicas (Física, Química, Matemática e Tecnologia). Assistindo às aulas no próprio ambiente em que cursará sua graduação, isso auxiliará você a adquirir o conhecimento necessário para enfrentar melhor o programa curricular do seu curso.

Então seja Bem-vindo ao Curso de Nivelamento em Tecnologia Elementar do PCNA. Este é o terceiro de uma série de cinco E-books que vão lhe acompanhar durante o curso, o professor utilizará este material como apoio às suas aulas e é fundamental que você o leia e acompanhe as atividades propostas.

A série “E-books PCNA-Tecnologia” foi desenvolvida com o propósito de apresentar o conteúdo do curso de Tecnologia Elementar, fornecendo também ferramentas para facilitar o ensino e a aprendizagem das técnicas de programação que você irá encontrar em breve na sua graduação.

Neste fascículo você irá encontrar o conteúdo introdutório a respeito da linguagem de programação, talvez seja algo novo para você, então, atenção e compreensão se fazem necessária. Bons estudos!

(4)

Página | 4

Capítulo 3

3. Apresentando a Linguagem C

Agora já temos bagagem suficiente para iniciarmos o estudo da Linguagem C em si. Então este capítulo é voltado para os conceitos iniciais que devem ser abordados, pois eles serão usados até o final do curso.

Aprenderemos a declarar variáveis e atribuir valores as mesmas, além de realizar operações matemáticas e exibir os resultados.

3.1. Estrutura e sintaxe da Linguagem C

O que difere uma linguagem de programação da outra é a sua estrutura e sintaxe, por exemplo, em algumas linguagens, a ordem em que as funções são declaradas não interfere na hora da execução do código, porém na linguagem C, essa ordem deve ser levada em consideração, ou então teremos sérios problemas.

Outro ponto importante que vale ressaltar é que existem vários ambientes especiais para o desenvolvimento desses códigos. Estes ambientes são conhecidos como IDE (Integrated Development Environment) – Ambiente de Desenvolvimento Integrado. São eles os responsáveis por identificar a linguagem que estamos programando e então, através de um “tradutor”, convertem os nossos códigos em sinais que possam ser interpretados de fato pelos nossos computadores.

Esses tradutores são conhecidos como compiladores, e são eles que acusam os erros de sintaxe nos nossos códigos, por isso também funcionam como uma espécie de corretor ortográfico da linguagem de programação.

A figura 3.1 mostra a interface inicial do Code Blocks, IDE que usaremos em nosso curso de programação em C.

(5)

Página | 5 Figura 3.1 – Interface inicial do Code Blocks.

3.2. Declaração e tipos de variáveis

A maioria dos procedimentos que utilizamos nos códigos retornam algum tipo de valor, o qual é armazenado em um espaço na memória do computador. Esse espaço é conhecido como variável. Existem alguns tipos específicos de variáveis, conhecidos como dados primitivos. A seguir conheceremos os dados primitivos que usaremos nesse curso e como eles podem ser declarados e usados ao longo de um programa.

Os dados primitivos podem ser divididos em:

 Dados numéricos;

 Dados literais (ou alfanuméricos);

(6)

Página | 6

Dados numéricos: abrangem os números inteiros positivos e

negativos sem casas decimais (int):

𝒁 = {… , −3, −2, −1, 0, 1, 2, 3, … }

E reais, negativos e positivos com casas decimais (double), também conhecidos como ponto flutuante (float):

𝑹 = {… , −2.5, −2.0, −1.5, −1.0, 0.0, 1.0, 1.5, 2.0, 2.5, … }

Dados literais: são os dados utilizados para variáveis do tipo

caractere (char) e cadeia de caracteres (string). Abrangem as letras do alfabeto e alguns caracteres especiais. Abrangem também os números, porém não de forma algébrica e sim representativa. Ex. 3.1: ‘A’, ‘b’, “Olá, mundo!”, “12345”.

Dados lógicos: podem assumir somente os valores verdadeiro e

falso, também conhecidos como dados booleanos, devido à álgebra booleana criada por George Boole. São bastante interessantes em rotinas que exigem tomada de decisões.

Ex. 3.2: 1 é igual à 2? A resposta é falso.

A tabela 3.1 mostra esses tipos de dados primitivos e suas respectivas sintaxes para a linguagem C.

3.3. Tipos de operadores

Para entendermos os tipos de operadores e suas respectivas funções, vamos primeiro abordar o conceito de expressão, operador e operando.

(7)

Página | 7 Tabela 3.1 – Tipos de dados primitivos.

Tipo de dado Sintaxe na Linguagem C

Inteiro int

Real double

float

Literal string char

Lógico ---

Por exemplo, em uma operação de soma entre dois números, temos a seguinte estrutura, demonstrada na figura 3.2:

Figura 3.2 – Exemplo de expressão contendo uma adição. De posse disso, podemos então definir os tipos de operadores utilizados na linguagem C, e qual a influência deles sobre as variáveis (operandos).

Os operadores são classificados de acordo com o tipo de dado dos seus operandos e/ou o tipo resultante da sua avaliação. Eles são divididos em:

(8)

Página | 8

 Operadores de atribuição;

 Operadores aritméticos;

 Operadores relacionais;

 Operadores lógicos.

Operadores de atribuição: são utilizados para atribuir valores

às variáveis, por exemplo, queremos atribuir o valor “2” à variável do tipo inteiro “x”, dessa forma, na linguagem C utilizaremos a sintaxe descrita no Ex. 3.3:

Ex. 3.3: int x =2;

Onde o símbolo “=” é o operador de atribuição.

Operadores aritméticos: são aqueles relacionados às

operações matemáticas básicas (adição, subtração, multiplicação e divisão), também temos os operadores: resto da divisão, manutenção de sinal e inversão de sinal. A tabela 3.2 mostra os operadores aritméticos e suas respectivas sintaxes na linguagem C.

Tabela 3.2 – Tipos de operadores aritméticos.

Operador aritmético Sintaxe na Linguagem C

Adição + Subtração - Multiplicação * Divisão / Resto da divisão % Manutenção do sinal + Inversão do sinal -

(9)

Página | 9

Operadores relacionais: são os operadores responsáveis por

comparar valores entre as variáveis. Eles retornam valores lógicos (verdadeiro ou falso), porém NÃO DEVEM ser confundidos com os operadores lógicos, os quais serão descritos a seguir.

A tabela 3.3 mostra os operadores relacionais e suas respectivas sintaxes para a linguagem C.

Tabela 3.3 – Tipos de operadores relacionais.

Operador relacional Sintaxe na Linguagem C

Maior que >

Menor que <

Maior ou igual que >=

Menor ou igual que <=

Igual à ==

Diferente de !=

Operadores lógicos: são usados para combinar a avaliação de

duas ou mais variáveis. Também retornam um valor lógico, por exemplo:

Ex. 3.4: 5 é menor que 4 OU 2 é um número par?

A resposta seria verdadeiro, pois pelo menos a segunda avaliação está correta (2 é um número par). Além disso, o operador lógico utilizado foi “OU”.

A tabela 3.4 apresenta os operadores lógicos, suas respectivas operações e sintaxes para a linguagem C.

(10)

Página | 10 Tabela 3.4 – Tipos de operadores lógicos.

Operador lógico Operação Sintaxe na Linguagem C

E Conjunção &&

OU Disjunção ||

NÃO Negação !

3.4. Entrada e saída de dados

Para que os nossos códigos fiquem mais interativos, podemos usar comandos que nos permitam receber dados de usuários, processá-los e então apresentá-los de uma forma mais compreensível. Então a seguir, serão apresentados esses comandos.

Comandos de entrada: podemos receber qualquer tipo de dado

primitivo, então alguns comandos para receber cada tipo de dados são resumidos abaixo:

scanf(“%i”, &inteiro); scanf(“%d”, &inteiro); scanf(“%f”, &real); scanf(“%c”, &caractere); gets(cadeia_de_caracteres);

Os argumentos “%i”, “%d”, “%f”, “%c” são chamados de códigos de formatação, pois são responsáveis por indicar ao compilador qual o tipo de dado obtido da entrada. No caso “%i” e “%d” são para entrada de números inteiros, “%f” para números

(11)

Página | 11 reais e “%c” para entrada de um único caractere, sendo que após este comando deve-se utilizar a função getchar(), pois ao pressionar a tecla ENTER na hora de receber o caractere, o compilador entende que a mesma também é uma entrada de dado. Na função scanf() pode-se notar que após a utilização do código de formatação temos uma estrutura da seguinte forma: “&_”. O símbolo “&” acompanhado do nome de uma variável, representa o endereço onde essa variável está armazenada, então, “&inteiro” está dizendo para o compilador que o valor obtido da entrada deve ser armazenado no endereço da variável inteiro.

E na função gets(), nota-se que seu único argumento é o nome da variável que conterá a string.

Comandos de saída: para imprimirmos algum tipo de dado,

usaremos as funções abaixo: printf(“Sua frase aqui!”); printf(“% i”, inteiro);

printf(“%s”, cadeia_de_caracteres); puts(cadeia_de_caracteres);

Nota-se que podemos imprimir tanto uma string definida diretamente dentro da função printf() quanto uma string contida dentro da variável “cadeia_de_caracteres” , além disso, para imprimir um número contido no endereço de uma variável, basta apenas passar como argumentos o código de formatação e o nome da variável.

A diferença entre as funções printf() e puts() é que a segunda passa para a próxima linha após a impressão.

(12)

Página | 12

3.5. Lista de Exercícios

1) Escreva um algoritmo capaz de somar dois números inteiros e imprimir o resultado da soma.

2) Escreva um algoritmo capaz de dividir dois números inteiros, imprimir o resultado e o resto da divisão.

3) Desenvolva um algoritmo capaz de realizar a seguinte comparação: x é maior que y? E imprima o valor lógico retornado por essa expressão, onde zero seria o valor para “false” e um o valor para “true”.

4) Desenvolva um algoritmo capaz de realizar a seguinte comparação: a é maior que b OU c é um número par? E imprima o valor lógico retornado por essa expressão, onde zero seria o valor para “false” e um o valor para “true”. 5) Escreva um código capaz de receber o nome do usuário, seu

sexo, sua altura em metros e sua idade e então imprimir o seguinte resultado:

Nome: Jhonata Renary Sexo: M

Altura: 1.78 m Idade: 21 anos

Referências

Documentos relacionados

§ 1º – Para obtenção do enquadramento previsto neste artigo, a carga horária mínima exigida para os cursos de especialização será de 360 (trezentas e sessenta) horas. § 2º

Based on the energy level positions, trap depths determined by thermoluminescence and with synchrotron radiation measurements (VUV-UV-vis and XAS spectroscopies), mechanisms of

O Fundo possui atualmente participação em 7 empreendimentos (incluindo os ativos objeto da Transação acima), todos em capitais e geridos por empresas de capital aberto do

Esse capítulo apresenta resumidamente 5 casos dimensionados alternativamente ao Caso 1.. São explorados 3 casos utilizando o modelo estrutural B, com ligações

Identificação Software de Busines Intelligence Report Studio Fabricante Fabricante do software Cognos Incorporated Versão e release Versão e release do software

Com o objetivo de comparar os algoritmos de evolução diferencial, e o bio-inspirado: colônia de vagalumes e o método clássico de Ziegler-Nichols, foi realizado o projeto

O envolvimento sexual e a falta de cuidados evi- denciada no estudo pelos motoristas caminhoneiros expõem a necessidade de atenção quanto aos cuidados à saúde sexual

No processo de esquiva, após o estímulo condicionado, o indivíduo apresenta um comportamento que é reforçado pela necessidade de reduzir ou evitar o segundo estímulo,