CES-10 INTRODUÇÃO À COMPUTAÇÃO Capítulo III Declarações e Comandos de Atribuição.

Slides:



Advertisements
Apresentações semelhantes
Funções em C.
Advertisements

Usando o botões de comando, label e textbox
Java: Comandos Básicos
VHDL - uma visão geral 5 tipos de unidades
VHDL Introdução Paulo C. Centoducatte fevereiro de 2005
VHDL - Tipos de dados e operações
MC542 Organização de Computadores Teoria e Prática
While While Condição // comandos End While. Exemplos While Var contador As Integer contador = 0 While (contador < 10) contador += 1 console.ConsoleWrite(contador)
1 Estruturas de Controle Márcia J. N. Rodrigues Lucena Especialização em Técnicas e Ferramentas de Apoio à Decisão Departamento.
Capítulo 4 Controle de fluxo. 2Capítulo 4 – Controle de fluxo Controle de fluxo if / else switch / case while do / while for break / continue Instruções.
Grupo Paralelismo – Unesp RC
FORTRAN 90 Danilo Ueno Takahagi.
Curso de FLASH Action Script: Alguns comandos INFO JÚNIOR – Projetos, Assessoria e Consultoria Curso de FLASH
MATLAB 6 OTÍLIA GEROTTO R12. O que é o Matlab? - MATLAB (Matrix Laboratory) – software p/ cálculo numérico e científico de visualização de alta performance.
FORTRAN 90 Denise Yumi Takamura.
SQL Procedural Junho/2006.
SQL procedural – parte 2.
Sintaxe de Fortran 25/abril/2006. Comandos Fortran PROGRAM PRINT READ STOP END.
Introdução ao Fortran 4/abril/2006. Pseudocódigo Compreensão do problema Elaboração da lógica de resolução Tradução da lógica para pseudocódigo.
Introdução à Lógica de Programação
Prototipação de um Interpretador para IMP com ML Juliana Vizzotto Júlio Machado Fevereiro 2002.
Teste Estrutural de Software
Análise e Solução de Problemas
Agregado Homogêneo e Heterogêneo
2ª Aula Teórica Prof. Cesar Costa
CES-41 COMPILADORES Capítulo IV Complementos de Análise Léxica.
Capítulo VII – Tipos Enumerativos e Estruturas 7.1 – Tipos enumerativos 7.2 – A necessidade de estruturas 7.3 – Manipulação dos campos de uma estrutura.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo III Comandos de Controle.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
CES-41 COMPILADORES Capítulo VII Código Intermediário.
CES-41 COMPILADORES Aulas Práticas
CES-10 INTRODUÇÃO À COMPUTAÇÃO
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo VII Variáveis Indexadas Numéricas.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Capítulo XI Noções de Estruturas de Dados.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo XI Encadeamento de Estruturas por Ponteiros.
Capítulo IX – Ponteiros 9.1 – Introdução 9.2 – Relação entre ponteiros e variáveis indexadas 9.3 – Alocação dinâmica de memória 9.4 – Variáveis indexadas,
CES-41 COMPILADORES Aulas Práticas Capítulo III Análise Semântica no Yacc.
CES-41 COMPILADORES Aulas Práticas Capítulo III Análise Semântica no Yacc.
Capítulo III Diagramas de Transições
1 Definição de Dicionário Dicionário é um sistema de informações: Equivalente a um conjunto de elementos não repetidos Equivalente a um conjunto de elementos.
CES-41 COMPILADORES Capítulo I Introdução.
Copyright, 2002 © Universidade de Caxias do Sul. Conceitos Básicos de Algoritmos.
Curso Técnico em Informática La Salle - Canoas
LA SALLE Curso Técnico em Informática
ARQUITETURA DE COMPUTADORES SOFTWARE PROGRAMA SEQUENCIA DE INSTRUÇÕES
C/C++.
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Laboratório de Programação
Professor (a): Oscar Luiz Monteiro de Farias Aluno (a): Andressa da Silva Siqueira Matricula: Universidade do Estado do Rio de Janeiro.
Prof. Giovanny Lucero Introdução Prof. Giovanny Lucero
Linguagens Formais e Tradutores Linguagens Regulares (Revisão)
Tecnologia para Web JavaScript Enrique Pimentel Leite de Oliveira
Recursividade Estrutura de Dados.
Marco Antonio Montebello Júnior
Curso de Programação em C++
Curso de Programação em C++
Curso de Programação em C++ Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor:
Baseado no documento do Prof. Ronaldo Martins da Costa
LINGUAGENS DE PROGRAMAÇÃO
Baseado no documento do Prof. Ronaldo Martins da Costa
Introdução Ciência da Computação estudo de algoritmos –ÊNFASE ao estudo de DADOS armazenamento manipulação refinamento (a partir de dados cru) estrutura.
Introdução à Linguagem VHDL
HandyBoard & Interactive C. HandyBoard Especificações –Clock de 2 MHz –32 Kb de RAM –7 entradas para sensores analógicos –9 entradas para sensores digitais.
Análise Sintática – Parte 1
1 Semântica de Ações Ações Básicas, Ações Funcionais e Notação de Dados.
RT-EXPERT Artis Corp. C calling program RTSUB [rule set subroutine] RTSUB [rule set subroutine] RTSUB [rule set subroutine]... DSL Decision Support Language.
ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO Carga Horária Datas Programa Unidade 1 Unidade 2 Bibliograf ias Datas Avaliaçõe s Objetivos Prof. Msc. Raul Benites.
Algoritmos e Estruturas de Dados I
Transcrição da apresentação:

CES-10 INTRODUÇÃO À COMPUTAÇÃO Capítulo III Declarações e Comandos de Atribuição

Capítulo III – Declarações e Comandos de Atribuição 3.1 – Identificadores e palavras reservadas 3.2 – Elementos de comandos de atribuição 3.3 – Constantes 3.4 – Variáveis e suas declarações 3.5 – Declaração de tipos 3.6 – Operadores de expressões 3.7 – Funções e macros da biblioteca de C 3.8 – Expressões e atribuições especiais de C

3.1 – Identificadores e Palavras Reservadas – Níveis de complexidade de um programa Nível de subprogramas: um programa é uma composição de subprogramas e de declarações globais Nível de subprogramas: um programa é uma composição de subprogramas e de declarações globais Nível de comandos: um subprograma é uma composição de declarações e de comandos Nível de comandos: um subprograma é uma composição de declarações e de comandos Nível atômico: cada comando ou cada declaração é uma composição de átomos do programa Nível atômico: cada comando ou cada declaração é uma composição de átomos do programa Nível de caracteres: cada átomo é uma sequência de caracteres Nível de caracteres: cada átomo é uma sequência de caracteres Este capítulo

Átomos dos comandos de um programa já vistos: Palavras reservadas: if, while, int, else, etc. Palavras reservadas: if, while, int, else, etc. Nomes de variáveis (identificadores): i, n, fat, soma, etc. Nomes de variáveis (identificadores): i, n, fat, soma, etc. Constantes: 12, 43.2, #, etc. Constantes: 12, 43.2, #, etc. Cadeias de caracteres: o fatorial de, media, etc. Cadeias de caracteres: o fatorial de, media, etc. Operadores aritméticos e lógicos: +, -, *, <, <=, and, or, etc. Operadores aritméticos e lógicos: +, -, *, <, <=, and, or, etc. Separadores: ;, {, }, etc. Separadores: ;, {, }, etc.

Palavras reservadas: Palavras que têm um papel especial dentro de certas construções da linguagem Palavras que têm um papel especial dentro de certas construções da linguagem Não podem ser usadas em contextos fora dessas construções Não podem ser usadas em contextos fora dessas construções Palavras reservadas da Linguagem C

Identificador: É uma sequência de letras, dígitos e underscores (_), nunca iniciada por um dígito É uma sequência de letras, dígitos e underscores (_), nunca iniciada por um dígito Identificadores são usados para dar nome às variáveis, constantes, funções e outras entidades de um programa Identificadores são usados para dar nome às variáveis, constantes, funções e outras entidades de um programa É boa prática escolher identificadores que sirvam de mnemônicos para tais entidades É boa prática escolher identificadores que sirvam de mnemônicos para tais entidades Exemplos: fat (para fatorial), soma, r (para razão), p (para precisão) Exemplos: fat (para fatorial), soma, r (para razão), p (para precisão)

O underscore é usado para substituir o espaço em branco em nomes com mais de uma palavra O underscore é usado para substituir o espaço em branco em nomes com mais de uma palavra Exemplos: numero_de_eleitores, ler_matriz, etc. Exemplos: numero_de_eleitores, ler_matriz, etc. Em muitas linguagens de programação, é proibido usar palavras reservadas como identificadores Em muitas linguagens de programação, é proibido usar palavras reservadas como identificadores No padrão ANSI C, caso dois identificadores tenham os mesmos 31 primeiros caracteres, eles representam a mesma entidade No padrão ANSI C, caso dois identificadores tenham os mesmos 31 primeiros caracteres, eles representam a mesma entidade

Capítulo III – Declarações e Comandos de Atribuição 3.1 – Identificadores e palavras reservadas 3.2 – Elementos de comandos de atribuição 3.3 – Constantes 3.4 – Variáveis e suas declarações 3.5 – Declaração de tipos 3.6 – Operadores de expressões 3.7 – Funções e macros da biblioteca de C 3.8 – Expressões e atribuições especiais de C

3.2 – Elementos de comandos de atribuição Forma geral de um comando de atribuição em C: Forma geral de um comando de atribuição em C: Variável = Expressão; Execução: calcula-se o valor de Expressão, atribuindo-o a Variável Execução: calcula-se o valor de Expressão, atribuindo-o a Variável

Possíveis elementos de uma expressão: Possíveis elementos de uma expressão: Constantes, variáveis, operadores, separadores e chamadas de funções Constantes, variáveis, operadores, separadores e chamadas de funções O resultado de uma expressão deve ser um único valor, de um determinado tipo: O resultado de uma expressão deve ser um único valor, de um determinado tipo: Número inteiro, número real, caractere ou valor lógico Número inteiro, número real, caractere ou valor lógico

Capítulo III – Declarações e Comandos de Atribuição 3.1 – Identificadores e palavras reservadas 3.2 – Elementos de comandos de atribuição 3.3 – Constantes 3.4 – Variáveis e suas declarações 3.5 – Declaração de tipos 3.6 – Operadores de expressões 3.7 – Funções e macros da biblioteca de C 3.8 – Expressões e atribuições especiais de C

3.3 – Constantes Constantes que aparecem em expressões podem ser: Inteiras Inteiras Reais Reais Caracteres Caracteres Simbólicas Simbólicas Identificadores declarados como constantes Identificadores declarados como constantes

3.3.1 – Constantes inteiras Constantes inteiras podem ser decimais, octais (ou expressas na base 8) e hexadecimais (ou expressas na base 16) Constantes inteiras podem ser decimais, octais (ou expressas na base 8) e hexadecimais (ou expressas na base 16) Exemplos: Exemplos: Decimais: 5; 2314; -801 Decimais: 5; 2314; -801 Octais: 011 ( (11) 8 = (9) 10 ); 0712 ( (712) 8 = (458) 10 ) Octais: 011 ( (11) 8 = (9) 10 ); 0712 ( (712) 8 = (458) 10 ) Hexadecimais: 0x182 ou 0X182 ( (182) 16 = (386) 10 ) ); 0xA27 ou 0xa27 ((A27) 16 = (2599) 10 ) Hexadecimais: 0x182 ou 0X182 ( (182) 16 = (386) 10 ) ); 0xA27 ou 0xa27 ((A27) 16 = (2599) 10 ) Obs.: em C, está em octal 712 está em decimal

3.3.2 – Constantes reais Constantes reais podem ser expressas em notação decimal ou exponencial Constantes reais podem ser expressas em notação decimal ou exponencial Exemplos: Exemplos: Notação decimal: 13.47; Notação decimal: 13.47; Notação exponencial: 5.2e20 (equivale a 5.2*10 20 ); 0.03E-7 (equivale a 0.03*10 -7 ) Notação exponencial: 5.2e20 (equivale a 5.2*10 20 ); 0.03E-7 (equivale a 0.03*10 -7 )

3.3.3 – Constantes caracteres Constante caractere: ocupa 1 byte; é expressa por um ou dois caracteres entre apóstrofos ( ) Constante caractere: ocupa 1 byte; é expressa por um ou dois caracteres entre apóstrofos ( ) Exemplos: Exemplos: Um caractere: a, B, +, ; Um caractere: a, B, +, ; Dois caracteres: \n, \t, \0, \\ Dois caracteres: \n, \t, \0, \\ Cada constante caractere tem sua representação interna, de acordo com a tabela ASCII Cada constante caractere tem sua representação interna, de acordo com a tabela ASCII

Tabela ASCII básica: nulbelbsht 10nlcr 20esc 30sp!#$%& 40()*+,-./ :; 70FGHIJKLMNO 80PQRSTUVWXY 90Z[\]^_`abc 100defghijklm 110nopqrstuvw 120xyz{|}~del Em C, constantes caracteres são encaradas como inteiros de 8 bits São permitidas expressões do tipo a + ; + 5 – 37 Esta expressão equivale a = 172 Em muitas linguagens, isso não é permitido

Tabela de caracteres especiais e de controle:

abcde Exemplo: escrita de caracteres de controle: Seja a execução do programa: Seja a execução do programa: #include #include void main () { printf ("abcde\nabcde\rxxx\nabcde"); } _ _abcde_ Vídeo abcde_abcde xxxde abcde_ _ _

Exemplo: Acionamento da campainha: O seguinte programa toca a campainha por alguns segundos: O seguinte programa toca a campainha por alguns segundos: #include #include void main () { int i; i = 1; while (i <= 10000) { printf ("\a"); i = i+1; }}

Exercício 3.3.3: 1.Dado o trecho de programa a seguir, dizer o que será mostrado no vídeo, quando ele for executado, sem usar ambiente de programação int i = 1; while (i <= 5) { printf ("i=%d;", i); i = i + 1; } while (i <= 5) { printf ("i=%d;", i); i = i + 1; } printf ("\n\n"); printf ("\n\n"); i = 11; while (i <= 15) { printf ("i=%d;\r", i); i = i + 1; } printf ("\n\n"); printf ("\n\n"); i = 21; while (i <= 25) { printf ("i=%d;\n", i); i = i + 1; } while (i <= 25) { printf ("i=%d;\n", i); i = i + 1; }

3.3.4 – Constantes cadeias de caracteres Constante cadeia de caracteres: sequência de caracteres comuns, especiais e/ou de controle, tudo entre aspas ( ) Constante cadeia de caracteres: sequência de caracteres comuns, especiais e/ou de controle, tudo entre aspas ( ) Os caracteres ocupam bytes consecutivos na memória Os caracteres ocupam bytes consecutivos na memória Encerando a sequência, aparece um caractere \0 Encerando a sequência, aparece um caractere \0

Exemplo: a cadeia de caracteres Exemplo: a cadeia de caracteres abc + xyz é composta dos caracteres: a, b, c,, +,, x, y, z, \0 Constantes e variáveis do tipo cadeia de caracteres não figuram em expressões Constantes e variáveis do tipo cadeia de caracteres não figuram em expressões Não comportam apenas um valor, mas vários valores do tipo caractere Não comportam apenas um valor, mas vários valores do tipo caractere Serão abordadas no capítulo de variáveis indexadas Serão abordadas no capítulo de variáveis indexadas

3.3.5 – Constantes simbólicas São constantes criadas por diretivas define São constantes criadas por diretivas define Exemplo: as diretivas Exemplo: as diretivas #define pi #define raio 6 Podem ser usadas nas expressões dos comandos: perimetro = 2 * pi * raio; area = pi * raio * raio; Como foi visto, o pré-processador substitui pi e raio por e 6, respectivamente Como foi visto, o pré-processador substitui pi e raio por e 6, respectivamente

3.3.6 – Identificadores de constantes A palavra const precedendo qualquer declaração de variáveis torna constantes essas variáveis A palavra const precedendo qualquer declaração de variáveis torna constantes essas variáveis O compilador não admite que elas sejam alteradas por nenhum comando do programa O compilador não admite que elas sejam alteradas por nenhum comando do programa Exemplo: Exemplo: const int c4 = 4, c10 = 10; printf ("c4 = %d; c10 = %d;", c4, c10); c4 e c10 são constantes Proibidos: scanf (%d, &c4); c10 = c10 + 3;

Capítulo III – Declarações e Comandos de Atribuição 3.1 – Identificadores e palavras reservadas 3.2 – Elementos de comandos de atribuição 3.3 – Constantes 3.4 – Variáveis e suas declarações 3.5 – Declaração de tipos 3.6 – Operadores de expressões 3.7 – Funções e macros da biblioteca de C 3.8 – Expressões e atribuições especiais de C

3.4 – Variáveis e suas Declarações – Obrigatoriedade de declarações Variável: identificador ao qual está associado um local de memória, cujo valor pode ser alterado durante a execução Variável: identificador ao qual está associado um local de memória, cujo valor pode ser alterado durante a execução Declarações de variáveis: construções não-executáveis da linguagem; servem para: Declarações de variáveis: construções não-executáveis da linguagem; servem para: Dar nomes às variáveis Dar nomes às variáveis Reservar-lhes espaço na memória Reservar-lhes espaço na memória Especificar o tipo de valores que elas devem guardar Especificar o tipo de valores que elas devem guardar

Na grande maioria das linguagens de programação, toda variável de um programa deve ser declarada antes de ser referenciada por seus comandos Na grande maioria das linguagens de programação, toda variável de um programa deve ser declarada antes de ser referenciada por seus comandos Fortran: linguagem que não exige declarações Fortran: linguagem que não exige declarações Variáveis de nomes iniciados por I, J, K, L, M ou N: por default seu tipo é inteiro Variáveis de nomes iniciados por I, J, K, L, M ou N: por default seu tipo é inteiro Variáveis de nomes iniciados por qualquer outra letra: por default, seu tipo é real Variáveis de nomes iniciados por qualquer outra letra: por default, seu tipo é real

Tipos primitivos de uma linguagem: tipos padronizados para suas variáveis Tipos primitivos de uma linguagem: tipos padronizados para suas variáveis Tipos primitivos da Linguagem C: vários tipos para inteiros, reais e caracteres Tipos primitivos da Linguagem C: vários tipos para inteiros, reais e caracteres C também possui artifícios para que o programador crie novos tipos, conforme seus intentos C também possui artifícios para que o programador crie novos tipos, conforme seus intentos Forma geral das declarações de variáveis de tipo primitivo em C: Forma geral das declarações de variáveis de tipo primitivo em C: Tipo Variável, Variável,..., Variável;

3.4.2 – Variáveis inteiras Tipos primitivos para inteiros: Tipos primitivos para inteiros: Quando C foi projetada: Quando C foi projetada: int – 2 bytes short – 1 byte long – 4 bytes

3.4.3 – Variáveis reais Tipos primitivos para reais: Tipos primitivos para reais: Sistemas de ponto-flutuante são imprecisos; exemplo: Sistemas de ponto-flutuante são imprecisos; exemplo: float x = ; double y = ; printf ("x = %24.19e;\ny = %24.19e;", x, y); Comandos x = e+06; y = e+06; Resultado Valor impresso de x: correto até o 7º dígito significativo Valor impresso de y: correto até o 16º

3.4.4 – Variáveis caracteres Tipos primitivos para caracteres: Tipos primitivos para caracteres: Variáveis desses tipos equivalem a inteiros de 1 byte Variáveis desses tipos equivalem a inteiros de 1 byte Podem fazer parte de expressões contendo inteiros e reais Podem fazer parte de expressões contendo inteiros e reais

Exemplo: escrita de expressões com variáveis caracteres Programa Resultado no vídeo Formato %c: escreve o caractere Formato %d: escreve a representação interna do caractere

3.4.5 – Variáveis lógicas Diferentemente de outras linguagens, C não disponibiliza um tipo de variável específico para armazenar valores lógicos (true e false) Diferentemente de outras linguagens, C não disponibiliza um tipo de variável específico para armazenar valores lógicos (true e false) No entanto, o programador pode utilizar, dessa linguagem, a capacidade de criar novos tipos, para trabalhar com variáveis e valores lógicos No entanto, o programador pode utilizar, dessa linguagem, a capacidade de criar novos tipos, para trabalhar com variáveis e valores lógicos Isso será ilustrado no Tópico 3.5 deste capítulo Isso será ilustrado no Tópico 3.5 deste capítulo

3.4.6 – Declarações com inicialização A Linguagem C possibilita que variáveis sejam inicializadas em suas declarações A Linguagem C possibilita que variáveis sejam inicializadas em suas declarações Exemplo: Exemplo: Programa Resultado no vídeo

3.4.7 – Outras classificações de variáveis Variáveis escalares: Variáveis escalares: Destinadas a guardar apenas um valor, num dado momento da execução Destinadas a guardar apenas um valor, num dado momento da execução Todas as variáveis vistas até agora são escalares Todas as variáveis vistas até agora são escalares Variáveis estruturadas: Variáveis estruturadas: Destinadas a guardar vários valores, num dado momento da execução Destinadas a guardar vários valores, num dado momento da execução x A

Classificação das variáveis estruturadas Variáveis indexadas: Variáveis indexadas: São variáveis estruturadas homogêneas, ou seja, seus valores são todos do mesmo tipo (vetores e matrizes) São variáveis estruturadas homogêneas, ou seja, seus valores são todos do mesmo tipo (vetores e matrizes) Estruturas: Estruturas: São variáveis estruturadas heterogêneas, ou seja, seus valores podem ser de tipos diferentes São variáveis estruturadas heterogêneas, ou seja, seus valores podem ser de tipos diferentes B E

Até agora foram mencionadas e estudadas variáveis destinadas a guardar valores (inteiros, reais, caracteres, lógicos) Até agora foram mencionadas e estudadas variáveis destinadas a guardar valores (inteiros, reais, caracteres, lógicos) Ponteiros: variáveis escalares destinadas a guardar endereços de outras variáveis Ponteiros: variáveis escalares destinadas a guardar endereços de outras variáveis Há também variáveis indexadas de ponteiros e estruturas em que alguns valores são ponteiros Há também variáveis indexadas de ponteiros e estruturas em que alguns valores são ponteiros 48.2 x p x B Variáveis indexadas, estruturas e ponteiros serão estudados em capítulos específicos E

Capítulo III – Declarações e Comandos de Atribuição 3.1 – Identificadores e palavras reservadas 3.2 – Elementos de comandos de atribuição 3.3 – Constantes 3.4 – Variáveis e suas declarações 3.5 – Declaração de tipos 3.6 – Operadores de expressões 3.7 – Funções e macros da biblioteca de C 3.8 – Expressões e atribuições especiais de C

3.5 – Declaração de Tipos Declaração de tipos: possibilita ao programador criar seus próprios tipos de variáveis Declaração de tipos: possibilita ao programador criar seus próprios tipos de variáveis Exemplo: as declarações Exemplo: as declarações typedef char letra, digito; typedef int comprimento; typedef float preco; Permitem a declaração de variáveis de tipos letra, dígito, comprimento e preco, tais como: letra l1, l2, l3; digito d1, d2; comprimento c1, c2, c3; preco p1, p2;

O uso de typedef para tipos escalares tem apenas a vantagem de se ter nomes de tipos que reflitam melhor a natureza das variáveis O uso de typedef para tipos escalares tem apenas a vantagem de se ter nomes de tipos que reflitam melhor a natureza das variáveis Para variáveis indexadas e estruturas, uma boa vantagem é a abreviação de longas declarações, como será visto em capítulos específicos Para variáveis indexadas e estruturas, uma boa vantagem é a abreviação de longas declarações, como será visto em capítulos específicos

Exemplo: simulação de variáveis e valores lógicos Programa Resultado Foi criado o tipo logic e as constantes False e True O tipo char foi escolhido como equivalente, pois é o que ocupa menos memória && e ||: versões em C dos operadores and e or