APOSTILA DE PROGRAMAÇÃO I PARA ENGENHARIA DE PRODUÇÃO

Tamanho: px
Começar a partir da página:

Download "APOSTILA DE PROGRAMAÇÃO I PARA ENGENHARIA DE PRODUÇÃO"

Transcrição

1 APOSTILA DE PROGRAMAÇÃO I PARA ENGENHARIA DE PRODUÇÃO Prof. ANDRÉ CARLOS SILVA FASAR Versão 1.1

2 SUMÁRIO 1 INTRODUÇÃO AO C Aspectos gerais da linguagem C Comentários Identificadores Case Sensitive Palavras-Chave Pontuação Separadores Arquivos de cabeçalho Variáveis Inicializando variáveis com definições Escopo de uma variável Inicializando variáveis globais e locais Entrada e saída de dados Fluxos de saída de dados Saída de dados no estilo C Saída de dados formatada Fluxos de entrada de dados Constantes Constantes literais Constantes definidas Constantes declaradas Constantes enumeradas Atribuição de valores a elementos enumerados Operadores Operadores e precedência Operadores de incremento e decremento Expressões Exercícios do capítulo INSTRUÇÕES E OPERADORES AVANÇADOS Operadores avançados Entendendo os operadores relacionais O comando If, Else If e Else Entendendo os operadores lógicos Avaliando o resultado de operadores Entendendo o operador condicional ternário Operadores de Bits O operador binário E O operador binário OU O operador binário OU exclusivo...47 Versão 1.1 3

3 Aplicações dos operadores binários Operadores de deslocamento de bits O operador binário NOT Atribuições combinadas Instruções de fluxo de programa O comando EXIT O comando WHILE O comando SWITCH O comando DO/WHILE O comando FOR Elementos de um loop FOR múltiplo Loop eterno usando o comando FOR O comando BREAK O comando CONTINUE Exercícios do capítulo ESTRUTURAS DE DADOS Estruturas confiáveis para o armazenamento de dados Estruturas aninhadas As uniões Vetores Inicializando vetores Matrizes Strings Inicializando vetores de caracteres Vetores e ponteiros Campos de bits O operador SIZEOF Exercícios do capítulo FUNÇÕES: PROGRAMANDO POR PARTES Chamando uma função Funções simples Protótipo de funções Protótipo externo e local Eliminando o protótipo de funções Tipos de funções O comando RETURN Limitações do comando RETURN Definição de funções Parâmetros da função Passagem de argumentos por valor Funções do tipo VOID Funções que não recebem nada e não retornam nada Passagem de vários argumentos...96 Versão 1.1 4

4 Escrevendo várias funções em um mesmo programa Funções usadas como argumento de outras funções O operador unário de referência & Passagem de argumentos por referência Referências constantes Considerações sobre referências Valores default para os argumentos de uma função Sobrecarga de funções Funções inline Funções recursivas Como trabalha uma função recursiva? O jogo das torres de Hanói Classes de armazenamento A classe de armazenamento auto A classe de armazenamento extern A classe de armazenamento static A classe de armazenamento static extern A classe de armazenamento register O pré-processador C A diretiva #define A diretiva #undef A diretiva #include As diretivas #if, #ifdef, #ifndef, #elif, #else e #endif A diretiva #error Exercícios do capítulo MANIPULAÇÃO DE ARQUIVOS EM DISCO PONTEIROS APÊNDICES A.1. BASES NUMÉRICAS A.1.1. A BASE BINÁRIA A.1.2. A BASE OCTAL A.1.3. A BASE HEXADECIMAL Versão 1.1 5

5 ÍNDICE DE FIGURAS Figura Exemplo do escopo de uma variável Figura Os bytes de cada campo de uma variável struct são armazenados na memória consecutivamente...66 Figura Os bytes de cada campo de uma variável union são armazenados na mesma posição da memória...72 Figura Representação esquemática de um vetor de 100 números inteiros...74 Figura Um vetor bidimensional é um vetor de vetores, mas também pode-se encará-lo como sendo uma matriz...78 Figura Esquema de funcionamento do jogo das torres de Hanói Versão 1.1 6

6 ÍNDICE DE TABELAS Tabela Tipos usuais de dados em C Tabela Códigos de escape utilizados em C Tabela Operadores usados em C++ e sua respectiva precedência Tabela Operadores relacionais em C Tabela Modo de avaliação de operandos e resultados produzidos por operadores aritméticos, relacionais e lógicos...42 Tabela Operadores de Bits Tabela Possíveis resultados para o operador E binário...43 Tabela Possíveis resultados para o operador OU binário...45 Tabela Possíveis resultados para o operador OU exclusivo binário...47 Tabela Analogia entre as diretivas de compilação condicional e operador if Versão 1.1 7

7 ÍNDICE DE CÓDIGOS Código Um programa típico em C Código Exemplo de cabeçalho...12 Código Outra forma de se escrever um programa...14 Código Exemplos de usos de arquivos de cabeçalho...14 Código Inicialização de variáveis no momento de sua declaração Código Programa que retorna a data e a hora atual...18 Código O comando PRINTF...19 Código Exemplo de conversão de formato de dados Código Programa para cálculo da média de três números Código Método para evitar uma entrada incorreta do tipo de dado...20 Código Uso de #define para a declaração de constantes...24 Código Uso do comando const para a declaração constantes...25 Código Uso dos comandos #define e #undef...26 Código Uso de constantes enumeradas Código Uso de operadores de incremento e decremento Código Programa para cálculo do imposto incidente sobre mercadorias Código Programa para a conversão de milhas para quilômetros Código A estrutura if / else if / else...38 Código Programa para averiguação do desempenho de automóveis Código Uso do operador condicional ternário Código Uso do operador E binário...44 Código Uso do operador OU binário Código Uso do operador OU exclusivo binário...47 Código Uso dos operadores de deslocamento de bits Código Uso do operador NOT binário Código Uso do comando EXIT...54 Código Uso do camando EXIT (versão simplificada)...54 Código Uso do comando WHILE e do comando SWITCH...57 Código Uso do comando DO/WHILE...58 Código Uso do comando FOR Código Programa para exibição dos caracteres da Tabela ASCII Código Uso do comando BREAK...61 Código Uso do comando CONTINUE Código Uso do comando STRUCT para os principais tipos de dados em C Código Arquivo de cabeçalho (.h) típico de um banco de dados...67 Código Uso do comando STRUCT em banco de dados...68 Código Declaração e inicilaização conjunta de uma variável STRUCT Código Uso do comando UNION Código Uso de VETORES em C Código Programa para cálculo da média de 18 números utilizando vetores Código Programa para teste da inicialização de vetores...77 Código Exemplo do uso de matrizes em C Versão 1.1 8

8 Código Exemplo do uso de um CAMPO DE BITS Código Uso do operador SIZEOF Código Exemplo do uso de uma FUNÇÃO simples Código Uso de funções de protótipo local Código Uso de funções sem protótipo Código Uso de passagem de argumentos por valor em funções...94 Código Uso de funções do tipo VOID...94 Código Uso de funções que não recebem e nem retornam nada...95 Código Uso de funções com mais de um argumento...96 Código Uso de funções como argumento de outras funções Código Uso de passagem de argumentos por referência em funções Código Uso de passagem de argumentos por referência para ordenar um vetor Código Uso de passagem de argumentos por referências constantes Código Uso de valores default para argumentos de funções Código Uso de sobrecarga (overload) de funções Código Código 4.12 modificado para o uso de sobrecarga de funções Código Uso de funções INLINE Código Uso de funções recursivas Código Programa que imprime uma frase digitada pelo usuário ao contrário Código Resolução do problema das torres de Hanói Código O operador de escopo de variáveis :: Código 4.20 Exemplo de uma função que retorna mais de um valor usando referências Código Exemplo de uma função que retorna um valor à uma variável por referência Código Uso de variáveis da classe static Código Uso da função RAND para a simulação de um lançamento de um dado ou de uma moeda Código Gerador de números pseudoaleatórios Código Gerador de números aleatórios que usa a função _dos_gettime() Código Gerador de números aleatórios que utiliza uma variável da classe static extern como semente Código Uso de variáveis da classe register Código Uso de macros Código Uso de uma macro na definição de outra macro Código Problemas no uso de macros Código Uso de funções inline no lugar de macros Código Outro exemplo do uso incorreto de uma macro Código Outro exemplo do uso de funções inline no lugar de macros Versão 1.1 9

9 PREFÁCIO A cada dia que se passa a informática se torna mais e mais parte do nosso dia a dia. Seja como ferramental para a resolução de problemas matemáticos ou como um poderoso e polivalente laboratório de simulações a informática tem revolucionado a forma como os engenheiros resolvem seus problemas. Nesta apostila o aluno terá contato com a linguagem de programação mais difundida entre os programadores de todo o mundo, o C e seu sucessor o C++. Tópicos mais avançados, tais como programação orientada a objetos, arvores, grafos, etc são deixados para os cursos posteriores a este. Neste curso espera-se que o aluno adquira conhecimento para criar os seus primeiros programas, computacionalmente simples, mas que na prática já resolvem alguns problemas do dia a dia. Esta apostila destina-se aos alunos do segundo semestre do curso de Engenharia de Produção da Faculdade Santa Rita (FASAR), os quais tenho o prazer de ter como meus alunos. Por fim, estou a disposição de todos que lerem esta apostila para tirar dúvidas, assim como para receber críticas. Versão

10 1 INTRODUÇÃO AO C Aspectos gerais da linguagem C++ //Programa welcome to C++ #include <stream.h> Código Um programa típico em C++. main () cout << "Bem Vindo ao mundo do C++!\n"; O exemplo acima mostra como é o aspecto geral de um programa escrito em C++. O leitor não deve se ater, por enquanto, à sintaxe dos comandos, mas sim à morfologia do corpo do programa. Note que algumas linhas terminam em ponto-e-vírgula (;) e que outras não. A primeira linha começa com o caractere #. Aos poucos abordaremos todos os conceitos que estão envolvidos neste pequeno programa e que tem por finalidade apenas mostrar na tela a mensagem: Bem Vindo ao mundo do C++!. Assim sendo, comecemos com o comando cout (do inglês character out) que tem por finalidade imprimir na tela uma seqüência de caracteres, aqui representada pela frase: Bem Vindo ao mundo do C++! O comando cout é usado juntamente com o sinal de duplo menor-que (<<), que tem por finalidade mostrar como é o fluxo do comando (neste caso a instrução da direita será passada ao comando da esquerda). O sinal \n (do inglês to a new-line) indica que naquele ponto deverá ser inserida uma quebra de linha pelo compilador. Uma propriedade interessante da linguagem C++ é que se pode escrever instruções simples em uma ou mais linhas sem problema algum. Assim sendo, o bloco de instruções abaixo é tratado pelo compilador como se fosse uma linha apenas. cout << "Esta é apenas" << "uma instrução" << "dividida em três linhas...\n"; Que na tela será exibida a mensagem: Esta é apenas uma instrução dividida em três linhas... Versão

11 Comentários Há duas formas de se inserir um comentário em C++. Uma delas é uma herança direta da linguagem C e a outra é nativa do C++. As duas formas são: /* Comentário no estilo C */ // Comentário no estilo C++ Há uma pequena, porém sutil diferença nas duas formas de se escrever um comentário, e esta se deve ao fato de que um comentário no estilo C++ torna toda a linha após as duas barras (//) uma linha de comentário, assim sendo tudo o que se encontra à direita das duas barras até o início da próxima linha é ignorado pelo compilador. Já o comentário escrito em linguagem C tem um símbolo de início (/*) e um de fim (*/), o que permite que sejam escritos comentários desta forma no meio de linhas de comando 1. A maioria dos programadores costuma fazer uma moldura inicial em seus programas, tal moldura é útil a nível de comparação entre versões, direitos autorais, etc. Um exemplo de moldura pode ser visto no Código 1.2. Código Exemplo de cabeçalho. /*********************************************************/ /* PROGRAMA Exemplo de Cabeçalho */ /* */ /* ESCRITO por André Carlos Silva VERSÃO */ /* DATA: 08/09/01 TODOS OS DIREITOS RESERVADOS */ /*********************************************************/ Identificadores Identificadores são símbolos singulares (ou únicos) utilizados nos programas. O nome da função main no Código 1.1 é um identificador, porque identifica o início do programa principal (ou o programa propriamente dito). Os identificadores podem conter apenas letras (maiúsculas e/ou minúsculas), algarismos e traços de sublinha (em inglês underscore, é o caractere _ ), e se comporem de até 127 caracteres. Os identificadores devem começar com letras de A a Z (como fn1 ou Catch21). O identificador 123abc não é válido, pois começa com um caractere numérico, já o identificador abc123 é válido. Identificadores do sistema freqüentemente começam com traço de sublinha, o que torna o seu uso como caractere inicial não muito recomendável. Além do traço de sublinha, outros sinais de pontuação, tais como ponto final (.), aspas ( ), etc., são usados pelo compilador 1 Linha de comando é toda instrução dada ao compilador. Pode ser uma declaração ou um comando propriamente dito, apesar de alguns autores não pensarem assim. Versão

12 e não devem ser incorporados em identificadores para que não causem nenhum efeito inesperado ao funcionamento do programa Case Sensitive Tanto a linguagem C quanto a linguagem C++ são case sensitive, que quer dizer que o compilador diferencia identificadores escritos em maiúsculas e em minúsculas, ou seja, para o compilador o identificador x1 é diferente do identificador X1. Essa propriedade vale para qualquer letra em qualquer posição de um identificador e não apenas para a primeira letra do identificador. Mediante isso é altamente recomendável que um padrão para a criação e utilização de identificadores seja adotado pelo programador Palavras-Chave Palavras-Chave (ou keywords) são identificadores que o compilador reserva para o seu uso próprio. As palavras auto, float, signed, void e while são exemplos de palavras chave, uma vez que tais palavras têm um significado próprio previamente definido para o compilador, significado este que não pode ser mudado Pontuação Uma linha de instrução deverá ser terminada por ponto-e-vírgula (;), os parentes (( )) após o identificador main no Código 1.1 delimitam a passagem de parâmetros entre o programa e outras funções e as chaves () logo após o identificador main delimitam um bloco de instruções 2, sendo análogas aos comandos BEGIN e END do Pascal. Estes são exemplos de sinais de pontuação que já foram usados previamente e que serão, sem dúvida alguma, usados novamente. O conjunto completo de sinais de pontuação usados pelo compilador pode ser visto abaixo. # ( ) [ ], : ;.... À medida que novos sinais forem sendo apresentados os seus significados serão explicados Separadores Diferem dos sinais de pontuação por serem invisíveis. São descritos pelo termo espaço em branco (ou blank space). Os separadores em C++ incluem espaços, tabulações, carriage return e line feeds incluídas no texto. Usualmente o C++ ignora os espaços em branco que não são utilizados para separar identificadores, números e outras construções que devam permanecer unidas. Assim sendo, 2 Quando temos instruções que são executadas em dentro de um mesmo nível de um programa o seu conjunto recebe o nome de bloco de instruções e diz-se que as instruções estão aninhadas. Versão

13 o Código 1.1 pode ser reescrito como no Código 1.3, sem que o conteúdo do programa seja afetado 3. Código Outra forma de se escrever um programa. #include <stream.h> main () cout << "Bem Vindo ao mundo do C++!\n"; Arquivos de cabeçalho Arquivos de cabeçalho são arquivos incluídos no programa através do comando #include, localizado sempre no começo do programa. O resultado de se incluir um arquivo de cabeçalho é o mesmo que de se incluir o conteúdo de todo o arquivo na mesma posição em que se incluiu a chamada ao arquivo. O que significa que uma alteração no arquivo de cabeçalho acarretará em mudanças em todos os programas que fazem menção a este. Os arquivos de cabeçalho têm a terminação.h ou.hpp, ao passo que o código-fonte escrito em C++ tem a terminação.cpp. Os símbolos < > delimitam o nome do arquivo a ser incluído e indicam que o arquivo está armazenado em um diretório default chamado include, dentro da pasta onde o compilador foi instalado. Se desejarmos adicionar um arquivo de cabeçalho que não se encontra no diretório include, podemos utilizar aspas ( ) para indicar que o arquivo se encontra no mesmo diretório onde o código-fonte do programa se encontra. O Código 1.4 apresenta um exemplo onde o arquivo de cabeçalho stream.h se encontra no diretório include e o arquivo stdio.h se encontra no mesmo diretório do código-fonte. Código Exemplos de usos de arquivos de cabeçalho. #include <stream.h> // Esta declaração inclui todo o conteúdo do arquivo // stream.h neste programa. #include "stdio.h" // Esta declaração inclui todo o conteúdo do arquivo // stdio.h neste programa. É altamente recomendável que sempre se use os sinais de < > para inserir um arquivo de cabeçalho fornecido junto com o compilador e para inserir um arquivo de cabeçalho que não venha incluso neste. O ponto mais importante que se deve ressaltar sobre os arquivos de cabeçalho é que são estes arquivos que possuem todos os comandos passados ao compilador. O compilador C, bem como o C++, não reconhecem quase comando algum (ao contrário de compiladores tais como o PASCAL, o FORTRAN, o DELPHI, etc.). Um programador em C++ deve conhecer os arquivos de cabeçalho, tanto a sua estrutura quanto os seus comandos. 3 O código descrito em 1.3 não é de uso aconselhável, pois torna o algoritmo do programa extremamente complexo para a leitura. Versão

14 1.2. Variáveis Em C++ uma variável é uma posição da memória que recebeu um nome. Assim sendo, as variáveis podem armazenar todo o tipo de informação, ou de dados. Dentro de um programa podemos usar o nome de uma variável livremente como se fosse o seu valor. Todas as variáveis apresentam, além de um nome, um tipo declarado, que é a informação que o compilador requer para distinguir qual o tipo de dado que será armazenado pela variável. A Tabela 1.1 apresenta os principais tipos de variáveis existentes no C++ e os seus limites de aplicabilidade. Tabela Tipos usuais de dados em C++. Tipo Exemplo Tamanho Range (bytes) Mínimo Máximo Char C Short Int Long Float 10,5 4 1,5e ,4e38 * Double 0, ,0e ,7e308 * Long double 1e-8 8 5,0e ,7e308 * * Valores aproximados. Para criar uma variável em um programa deve-se começar com uma declaração de seu tipo e terminar com o seu identificador (ou nome da variável), seguido de ponto-e-vírgula. Abaixo segue o exemplo da declaração de uma variável do tipo caractere chamada sim_ou_nao. char sim_ou_nao; Tal comando é denominado definição, porque define o espaço na memória para o armazenamento de uma variável. Pode-se inserir definições de variáveis em qualquer lugar do programa, porém o local da definição de uma variável muda o seu escopo, o que pode afetar o modo como o programa será executado. Voltaremos a falar em escopo de variáveis no item Inicializando variáveis com definições Existem duas formas de se inicializar 4 uma variável, isto é, de atribuir-lhe um valor inicial. O primeiro, e provavelmente o melhor, é visto no Código 1.5. Desta forma a variável é inicializada logo após ter sido declarada. 4 A necessidade de se inicializar uma variável se deve ao fato do compilador C, e também o C++, guardarem lixo, que é o fato de uma variável não inicializada começar com um valor esdrúxulo, oriundo de dados Versão

15 Código Inicialização de variáveis no momento de sua declaração. char sim_ou_não = S ; int contador = 1; float peso = 155.5; A outra forma é inicializar a variável no decorrer do programa. Isso é feito mediante um simples comando de atribuição, da seguinte forma: int contador;... contador = 1; Um programa pode mudar o valor de uma variável quantas vezes forem necessárias e toda vez que o programa atribui um novo valor para uma variável, este substitui o valor antigo, sendo este último perdido Escopo de uma variável Instruções podem se referir a variáveis apenas quando estas variáveis se encontram dentro do mesmo escopo, ou nível, das instruções. O escopo de uma variável se estende até as fronteiras do bloco que lhe define. A Figura 1.1 apresenta um código-fonte escrito em C++ de caráter didático onde as variáveis vão sendo declaradas em diferentes níveis do programa. A cada nível uma nova variável é declarada e sua cor corresponde à cor do quadro que delimita o escopo desta variável. Note que a variável Q é de escopo global, ou seja sua declaração é valida para todo o programa, já as demais variáveis são locais. previamente armazenados na memória do computador, o que pode causar sérios transtornos na vida do programador. Versão

16 Figura Exemplo do escopo de uma variável. Definições que são realizadas dentro das chaves abertas logo após main são locais à função main. Tal aspecto deve ficar bem claro desde já, uma vez que logo serão apresentados os conceitos de funções similares à função main Inicializando variáveis globais e locais Ainda que estas se apresentem de maneira muito semelhante nos programas, variáveis globais e locais são armazenadas na memória de maneiras muito diferentes. O compilador reserva um espaço fixo na memória para cada variável global, denominado segmento de dados. Ao fazer isso o compilador inicializa todas as variáveis globais com o valor zero (no caso das variáveis do tipo char o seu conteúdo é nulo, do inglês void). Já para as variáveis locais o compilador cria um espaço temporário denominado de pilha (do inglês stack). Conforme já mencionado, todas as variáveis globais são inicializadas automaticamente com o valor nulo quando o programa é executado, mas o mesmo não ocorre com as variáveis locais, que podem ser inicializadas com algum lixo da memória. Versão

17 1.3. Entrada e saída de dados As instruções de entrada e saída de dados (I/O, do inglês Input/Output) de um programa se responsabilizam por todas as trocas de dados entre o computador e meio externo, como por exemplo a apresentação de textos em vídeo, a impressão de relatórios, o recebimento de um dado emitido diretamente pelo usuário via teclado ou mesmo a comunicação com sistemas remotos através de uma linha telefônica ou porta serial Fluxos de saída de dados Códigos-fonte já mostrados usaram instruções de fluxo de saída para apresentar strings e valores de variáveis na tela. O código 1.6 mostra um exemplo mais prático desta tarefa, exibindo na tela do computador a data e a hora atual, fornecida pelo relógio do sistema. Código Programa que retorna a data e a hora atual. //Programa para ler a data e a hora do sistema #include <stream.h> #include <dos.h> main () struct dosdate_t hoje; struct dostime_t agora; _dos_getdate(&hoje); cout << "A data de hoje e: " << (int)hoje.day << "/" << (int)hoje.month << "/" << (int)hoje.year << "\n"; _dos_gettime(&agora); cout << "A hora atual e: " << (int)agora.hour << ":"; if (agora.minute < 10) cout << '0'; cout << (int)agora.minute << ":"; if (agora.second < 10) cout << '0'; cout << (int)agora.second << "\n"; Existem alguns itens ainda não estudados no Código 1.6, como nas linhas 8 e 9, onde são definidas duas variáveis do tipo struct, denominadas hoje e agora. Já as linhas 11 e 16 usam funções para ler e armazenar a data e a hora atual do sistema nestas variáveis. Basta, por enquanto, saber que o comando struct é um tipo de definição. O comando (int)agora.second é denominado de molde de tipo (do inglês type cast). Neste caso, a variável agora.second foi definida previamente no arquivo de cabeçalho dos.h como um char de um único byte, que normalmente armazena pequenos valores ou caracteres ASCII 5. O programa usa uma variável char para armazenar pequenos números 5 Vide capítulo Constantes literais do tipo caractere para mais informações. Versão

18 inteiros, e não caracteres. Assim sendo, para que sejam exibidos na tela números inteiros deve-se utilizar o comando (int), que molda a variável char em um tipo inteiro (int) Saída de dados no estilo C Código O comando PRINTF. printf("entre com o seu nome"); printf("seu saldo é $ %d\n", saldo); A função printf 6, freqüentemente encontrada em programas escritos em C, transfere argumentos encontrados entre os parênteses para a saída de vídeo padrão, que normalmente é o monitor de vídeo. A primeira instrução do Código 1.7 imprime no vídeo uma string simples. A segunda instrução também imprime uma string na tela, mas usa notação especial (%d) que é usada para acrescentar elementos aos caracteres entre aspas. Nesse caso desejase acrescentar uma variável, denominada saldo, a qual printf converte seu conteúdo em caracteres e os insere na posição indicada na string de saída. A execução do Código 1.7 traz como resultado no vídeo algo como: Entre com o seu nome Seu saldo é $ Saída de dados formatada A formatação de dados é muito usada quando se têm variáveis de um determinado tipo e se deseja imprimir o seu conteúdo como outro tipo, ou com um determinado número de casas decimais. Suponha o caso em que um programa realiza determinadas contas com números inteiros e, em seu final, deseja-se que o resultado seja impresso nas bases octal, hexadecimal e decimal. Neste caso pode-se utilizar uma função de formatação de dados para que a saída dos dados seja como a desejada. O Código 1.8 mostra um exemplo da formatação de dados para a impressão. Código Exemplo de conversão de formato de dados. cout <<"A conta em octal é:" << oct << conta; cout <<"A conta em hexadecimal é:" << hex << conta; cout <<"A conta em decimal é:" << dec << conta; Uma outra razão para se usar funções de formatação de dados é para alinhar ou justificar colunas de números. Para fazê-lo basta que se acrescente um número inteiro após a variável que se deseja exibir o conteúdo, número este que indica o mínimo de caracteres que a variável irá ocupar, por exemplo: cout <<"A conta é:" << setw(10) << conta; 6 Para usar o comando printf em programas escritos em C++ deve-se usar o cabeçalho stdio.h. Versão

19 O comando acima exibe na tela o valor da variável conta, acrescentando espaços à sua esquerda para completar um mínimo de 10 colunas de caracteres. Se o número de colunas reservado for menor que o necessário para a correta exibição da variável, esta será exibida corretamente, porém não estará alinhada como o esperado Fluxos de entrada de dados Para que um dado flua para fora do computador usamos a instrução cout, já agora para que um dado flua para dentro do computador usaremos a instrução cin 7 (do inglês character input). O comando cin é um comando de atribuição no qual é atribuído a uma variável um dado. O Código 1.9 apresenta um programa que solicita ao usuário que digite três números reais e retorna o valor da média destes três valores. Código Programa para cálculo da média de três números. //Programa para calcular a media de três números reais #include <stream.h> main () float a, b, c; cout << "Digite três números.\n"; cin >> a >> b >> c; cout << "A media dos três números e: " << (a+b+c)/3 << '\n'; Fluxos de entrada de dados partem do pressuposto que a informação que lhes será passada será condizente com o tipo da variável que lhe receberá. Muitas vezes isso não ocorre, seja por um erro de digitação do usuário ou outro motivo qualquer, o que ocorre comumente quando os dados a serem lidos são de tipos numéricos e, ao invés disso, o dado lido é um dado não-numérico. Quando erros como o do exemplo como o anterior ocorre, quase sempre ocorrem erros internos no programa, o que pode causar a sua falha geral. Uma boa forma de lidar com estes tipos de erros é ler todas as entradas de dados armazenando-as em strings de caracteres e converte-las, posteriormente, para o tipo de dado desejado. O Código 1.10 apresenta o mesmo programa do Código 1.9, porém caso o dado lido não seja numérico o programa continua sua execução normalmente. Código Método para evitar uma entrada incorreta do tipo de dado. //Programa para calcular a media de três números reais #include <stream.h> 7 Programas em C utilizam tipicamente a função scanf para a entrada de dados. O C++ também reconhece esta função exatamente como faz com a função printf. Versão

20 #include <stdlib.h> main () float a, b, c; char d[20], e[20], f[20]; cout << "Digite três números.\n"; cin >> d >> e >> f; a = atof(d); cout <<"O primeiro valor digitado foi: " << a << '\n'; b = atof(e); cout <<"O segundo valor digitado foi: " << b << '\n'; c = atof(f); cout <<"O terceiro valor digitado foi: " << c << '\n'; cout << "A media dos três números e: " << (a+b+c)/3 << '\n'; No programa apresentado no Código 1.9, caso o usuário digite um caractere não-numérico o programa automaticamente pararia de ler as demais variáveis e saltaria para linha de comando posterior. O mesmo já não acontece com programa apresentando no Código 1.10, pois os dados lidos são armazenados em variáveis do tipo char, podendo ter cada uma vinte posições 8. A função atof (ASCII to Float Point) se encarrega de converter a string lida para um valor real e caso o conteúdo da string seja um caractere não-numérico, o programa simplesmente atribuirá o valor zero para a variável, evitando assim maiores problemas. As funções atol (ASCII to Long) e atoi (ASCII to Ingeter) são análogas à função atof, porém a primeira converte a string para um valor do tipo inteiro longo, a segunda para um valor do tipo inteiro e a terceira para um valor do tipo real Constantes Constantes 9 são valores que não se alteram durante a execução de um programa, como por exemplo o valor de π, ou se alteram raramente, como no caso de um programa que armazena as notas de exames de alunos. Pode-se criar uma constante chamada NOTA_MAXIMA e associar a esta o valor 10. Se a nota máxima mais tarde for alterada para 100 bastará revisar o valor da constante e recompilar o programa, não havendo a necessidade de se revisar todo o programa alterando todo 10 por 100. Em programas escritos em C++ existem quatro tipos de constantes, que são: Constantes literais Constantes definidas 8 O número de posições de uma string é definido pelo número entre colchetes após o nome da variável. 9 Constantes em C e C++ são tipicamente escritas com letras maiúsculas, ainda que isso não seja obrigatório. Versão

21 Constantes declaradas Constantes enumeradas Constantes literais São a forma mais comum de constantes e se compõem de valores numéricos ou alfanuméricos digitados diretamente no código-fonte do programa. A forma de uma constante literal determina o seu tipo de dados, que pode ser qualquer um dos tipos listados na Tabela 1.1 referentes a variáveis, uma vez que uma constante é uma variável na qual o programa não pode alterar o seu valor durante a sua execução Constantes literais do tipo caractere (char) Usualmente uma constante do tipo char representa símbolos constantes no conjunto de caracteres ASCII e que são envolvidos por apóstrofos ( ). Exemplos de constantes do tipo char são $, U, z,?. Como esses símbolos são representados internamente por números inteiros de 0 a 255 (que são a tabela ASCII propriamente dita), constantes do tipo char também podem ser usadas para armazenar números dentro dessa mesma faixa. Isso torna o tipo char conveniente para o armazenamento de pequenos valores ocupando apenas um byte. Deve-se tomar atenção quanto ao fato da constante char estar ou não declarada como uma constante dotada de sinal (signed). Constantes, e/ou variáveis, signed representam grandezas positivas e negativas, mas constantes, e/ou variáveis, unsigned representam apenas valores positivos 10. Assim sendo, apesar de constantes unsigned char representares valores entre 0 e 255, constantes signed char representam valores entre 128 e 127. O mesmo é válido para os outros tipos de constantes/variáveis, uma constante unsigned int pode variar entre 0 e 65535, já constantes signed int podem variar entre e Os quatro tipos de inteiros (char, short, int e long) são signed por default. Para imprimir na tela caracteres que não podem ser digitados diretamente via teclado podese usar comandos, tal como '\n' para representar um caractere de new-line, que são caracteres denominados de códigos de escape. A Tabela 1.2 lista outros códigos de escape que o compilador C++ reconhece. Pode-se usar os códigos de escape como constantes do tipo char individuais, ou seja, dentro de apóstrofes, ou como de strings, ou seja, dentro de aspas. 10 As faixas de valores signed e unsigned possuem os mesmos comprimentos, porém representam diferentes faixas de valores. Apenas tipos de dados signed podem representar valores negativos. Versão

22 Tabela Códigos de escape utilizados em C++. Código de Valores em ASCII Significado escape Decimal Hexadecimal Símbolo(s) '\a' Campainha 7 07 BEL '\b' Backspace 8 08 BS '\f' Form feed 12 0C FF '\n' New-line D0A CRLF '\r' Carriage return 13 0D CR '\t' Tab horizontal 9 09 HT '\v' Tab vertical 11 0B VT '\\' Barra reversa 92 5C \ '\'' Apóstrofo '\"' Aspas '\?' Ponto de interrogação 63 3F? '\000' Octal em ASCII Todos todos todos '\x00' Hexadecimal em ASCII Todos todos todos Constantes do tipo string Em C++ uma string pode ter qualquer tamanho e pode conter quaisquer caracteres que se possa digitar entre duas aspas, bem como quaisquer dos códigos de escape da Tabela 1.2. Na memória do computador, as strings são representadas por uma série de valores de caracteres ASCII além do 0 ou NULL. O caractere NULL marca o fim de uma string e é inserido automaticamente pelo C++ ao final das constantes do tipo string. Como strings terminam com NULL, não se deve utilizar aspas para representar caracteres simples. Se isso for feito, pode-se estar desperdiçando espaço da memória. Por exemplo, "J" é uma string composta por dois caracteres (um caractere para representar a letra J e outro para o NULL, sendo este invisível ao final da string), já 'J' é um caractere simples, ocupando apenas um byte de espaço na memória e não demandando um valor NULL para marcar o seu fim Constantes do tipo inteiro (int) Quando se trabalha com constantes do tipo inteiro deve-se tomar os seguintes cuidados: a. Nunca use virgula ou outra pontuação em números inteiros. Entre com e não com 123,456 ou b. Para forçar que o valor seja do tipo long, coloque em seu final a letra L maiúscula. Por exemplo, 1024 é do tipo int, mas 1024L é do tipo long. c. Para forçar que o valor seja do tipo unsigned, coloque em seu final um U maiúsculo. Versão

23 Constantes do tipo real (float) Valores do tipo real são sempre do tipo signed. Pode-se entrar com valores reais de maneira usual (como por exemplo 1.2 ou 555.9), ou então usando notação científica, colocando-se após o número um E seguido de um expoente, positivo ou negativo. Assim, o número ,25 pode ser representado por 1.058E4 (sendo que aqui a precisão escolhida foi de três casas decimais) Constantes definidas As constantes literais são comuns e úteis, mas lhes falta clareza. Por exemplo, o que significa a constante literal 51? Trata-se da idade de alguém? Do número de batatas em ma lata? De um número sorteado na loteria? 51 pode ser quaisquer destes valores ou um infinito de outros. Como constantes literais podem confundir a pessoa que está lendo o programa, deve-se dar nomes às constantes. Um modo de se dar nome a uma constante é usar o comando #define. Como exemplo tem-se: #define NUMERO 51 #define NOVALINHA '\n' As linhas acima não são instruções, por isso não terminam em ponto-e-vírgula. Elas são linhas de controle e não ocupam qualquer espaço no código compilado. No corpo de um programa o compilador substitui um símbolo definido por #define com o texto associado. O programa apresentado no Código 1.11 define duas constantes e imprime o valor de cada uma delas na tela. #include <stream.h> Código Uso de #define para a declaração de constantes. #define NUMERO 51 #define CARACTERE '@' #define STRING "Aprendendo C++." #define OCTAL 0233 #define DECIMAL 155 #define HEXADECIMAL 0x9b #define REAL #define NOVALINHA '\n' main () cout << STRING << NOVALINHA << CARACTERE << NOVALINHA << NUMERO << NOVALINHA << DECIMAL << NOVALINHA << OCTAL << NOVALINHA Versão

24 << HEXADECIMAL << NOVALINHA << REAL << NOVALINHA; O C++ substitui o NUMERO e NOVALINHA com o texto associado a estes símbolos, 51 e '\n', respectivamente. Nota-se que um espaço simples é suficiente para se separar um identificador de seu valor. O C++ ignora os espaços extras que por ventura existam Constantes declaradas Um segundo modo, freqüentemente preferido, de se criar uma constante em programas é anteceder uma definição normal de variável com a palavra-chave const. Uma vez feito isso, o compilador rejeita quaisquer instruções que tentem alterar os valores definidos desta forma. O programa apresentado no Código 1.12 é o mesmo programa do Código 1.11, mas com a diferença deste declarar todas as suas constantes com o comando const e não com o comando #define. Observe que as definições com const especificam tipos de dados, terminam com ponto-e-vírgula e são inicializadas como variáveis comuns. O comando #define não especifica tipo de dados, não uso o símbolo de atribuição (=) e não termina com ponto-e-vírgula. #include <stream.h> Código Uso do comando const para a declaração constantes. const int NUMERO = 51; const char CARACTERE = '@'; const char STRING[] = "Aprendendo C++."; const int OCTAL = 0233; const int DECIMAL = 155; const int HEXADECIMAL = 0x9b; const float REAL = ; const char NOVALINHA = '\n'; main () cout << STRING << NOVALINHA << CARACTERE << NOVALINHA << NUMERO << NOVALINHA << DECIMAL << NOVALINHA << OCTAL << NOVALINHA << HEXADECIMAL << NOVALINHA << REAL << NOVALINHA; Versão

25 Exceto para a constante STRING na linha 5, os identificadores são declarados da mesma maneira nos Códigos 1.11 e Na linha 5 do Código 1.12 a constante STRING termina com um par de colchetes ([ ]). Os colchetes após STRING dizem ao C++ para criar um vetor de caracteres, em outras palavras, uma string de mais de um caractere. Sem os colchetes o compilador iria considerar a linha 5 como definindo um único char, e não um vetor deles. Uma outra diferença significativa entre constantes #definidas e constantes criadas com o comando const é quando o compilador avalia um valor. Por exemplo, suponhamos que um programa contivesse o código abaixo: #define X 5 #define Y X + 10 Como era de se esperar, X está associado ao valor 5 e Y está associado ao valor X Todavia deve-se ter muito cuidado com ais tipos de definições, pois estas podem conduzir a bugs no programa. Apenas o texto X + 10 está associado à constante Y, e não o resultado numérico dessa expressão. Isso pode causar resultados surpreendentes em instruções como a abaixo: cout << "X = " << X << "Y = " << Y; Quando o C++ compila essa instrução, ele insere o texto 5 e o texto X + 10 no lugar das constantes X e Y. A expressão X + 10 é então avaliada quando esta instrução for compilada e não antes quando a constante Y foi definida. Por isso, se o programa mencionado acima executar as linhas a seguir antes da instrução de fluxo de saída de dados, X terá um valor diferente quando a instrução for compilada e, portanto, a expressão X + 10 também terá. #undef X #define X 10 O comando de controle #undef desfaz a definição de um símbolo previamente criado com o comando #define. Quando usamos o comando #undef destruímos a constante da memória e, através de um novo #define podemos definir uma nova constante com o mesmo nome da anterior, porém com um conteúdo diferente. O Código 1.13 apresenta um programa exemplo de como se pode usar os comandos #define e #undef e as conseqüências de tais usos. #include <stream.h> #define X 5 #define Y X+5 main () Código Uso dos comandos #define e #undef. Versão

26 cout << "X = " << X << " Y = " << Y << '\n'; #undef X #define X 10 cout << "X = " << X << " Y = " << Y << '\n'; #undef X #define X 100 cout << "X = " << X << " Y = " << Y << '\n'; O que acontece no Código 1.13 não acontece com constantes do tipo const, pois estas nunca podem ser alteradas de forma semelhante e portanto são mais seguras, ou pelo menos mais constantes. Existem duas outras vantagens de se usar constantes do tipo const em um programa ao invés de usar constantes do tipo #define. A primeira é que o compilador, na maioria das vezes, pode criar um código mais eficiente com constantes do tipo const. Em segundo lugar, como as definições especificam tipos de dados, o compilador pode verificar na compilação se as constantes do tipo const estão no formato correto. Com #define o compilador não pode fazer isso até que uma instrução utilize o identificador da constante, tornando quaisquer erros na constante mais difíceis de serem identificados Constantes enumeradas Pode-se usar constantes enumeradas para criar listas de categorizadas. O exemplo clássico de constantes enumeradas é o de uma lista de cores, onde cada cor recebe um valor inteiro, começando em zero. Tal lista é útil devido ao fato de podermos trabalhar com o nome da cor ao invés de seu respectivo código. Em C++ pode-se gerar uma lista enumerada da seguinte maneira: enum cores VERMELHO, LARANJA, AMARELO, VERDE, AZUL, INDIGO, VIOLETA; O comando acima associa os elementos constantes listados entre chaves (VERMELHO, LARANJA,..., VIOLETA) ao identificador cores, que é um nome atribuído a este novo tipo de dados. O comando enum diz ao compilador que os itens entre chaves são constantes e devem ser enumeradas, isto é, a estes itens devem ser associados números inteiros seqüenciais. Quando o compilador processa esse comando ele atribui valores, começando de 0, para cada elemento enumerado de forma que VERMELHO seja igual a 0, LARANJA igual a 1 e VIOLETA igual a 6. Após um novo tipo enumerado de dados ser declarado pode-se criar variáveis desse mesmo tipo, assim como se faz com variáveis de outros tipos de dados. Por exemplo, pode-se definir uma variável do tipo cores e faze-se isso da seguinte maneira: Versão

27 cores corfavorita = AZUL; O código acima cria uma variável chamada corfavorita do tipo cores e atribui a esta variável o valor inicial AZUL 11. Como corfavorita é uma variável, uma instrução de atribuição pode lhe dar um novo valor, como por exemplo: corfavorita = LARANJA; Pode-se definir uma constante to tipo cores usando o comando const. De qualquer forma que se utilize constante enumeradas, como os exemplos acima mostram, o seu uso aumenta enormemente a legibilidade de um programa. Se uma pessoa ao ler um programa se depara com uma instrução não comentada semelhante a: cor = 4; terá que buscar o significado de 4 em uma lista de referências para descobrir qual a cor atribuída pelo programa à variável cor. Já a atribuição: cor = AZUL; é clara por si só. O Código 1.14 mostra alguns outros exemplos de constantes enumeradas e ilustra alguns dos modos dos quais os programas podem utiliza-las. #include <stream.h> Código Uso de constantes enumeradas. enum LINGUAGENS ASSEMBY, BASIC, C, CPP, FORTRAN, PASCAL linguagens; enum escala DO, RE, MI, FA, SOL, LA, SI; enum FALSE, TRUE; main () int nota_da_escala = LA; int operacao = TRUE; linguagens = CPP; cout << "Linguagem = " << (int)linguagens << '\n' << "Nota musical = " << (int)nota_da_escala << '\n' 11 Na realidade o compilador inicializa a variável corfavorita com o valor numérico da variável AZUL, que é igual a 4. Versão

28 << '\n'; << "Resultado da operacao = " << (int)operacao A linha 3 do Código 1.14 declara o tipo enumerado LINGUAGENS, usando letras maiúsculas para o nome do tipo dos dados. No final da mesma linha de comando existe a declaração de uma variável chamada linguagens, usando letras minúsculas. A variável linguagens é uma variável do tipo enumerado LINGUAGENS e a linha 13 atribui um dos elementos listados entre chaves de LINGUAGENS para esta variável. A linha 6 demonstra como criar um tipo de dado enumerado sem dar-lhe um nome, o que ocasionalmente é útil. O C++ permite isso para simplificar o trabalho de se dar nomes a listas enumeradas que serão criadas apenas para se usar os itens contidos nas listas ao invés de seus valores do tipo int Atribuição de valores a elementos enumerados Normalmente é melhor deixar o compilador atribuir os valores seqüenciais aos elementos de tipos enumerados de dados. Porém, em caso de necessidade, pode-s alterar os valores que o compilador associa a cada elemento. Para atribuir um valor específico a um elemento enumerado basta que se coloque após o elemento o sinal de igual e o valor desejado. Por exemplo: enum semáforo VERDE, AMARELO = 10, VERMELHO; No exemplo acima o elemento VERDE é igual a 0, o elemento AMARELO é igual a 10 e o elemento VERMELHO é igual a 11. Elementos enumerados que por ventura viessem após o elemento VERMELHO teriam valores crescentes a partir do número 12. Pode-se atribuir valores explícitos para mais de um elemento enumerado. Quando precisamos criar tipos enumerados de dados com elementos cujos valores coincidam com outras constantes (tais como números de referentes a erros no sistema operacional, portas de I/O e outras grandezas constantes), a possibilidade de iniciar novas seqüências dentro da declaração de tipo enum é extremamente útil Operadores O C++ é repleto de operadores, que são símbolos que executam vários tipos de operações sobre os seus argumentos. O sinal de mais (+) é um operador. Em uma expressão, como era de se esperar, este operador soma dois valores, como por exemplo: a = b + c; As variáveis a, b e c poderiam ser de quaisquer tipos numéricos de dados e o efeito do exemplo acima é a atribuição à variável a o valor da soma da variável b com a variável c. Versão

29 O sinal de igual neste exemplo é também um operador, com a função de atribuir o valor da sua direita para a posição da memória representada pela variável à esquerda Operadores e precedência O C++ possui mais operadores que os operadores matemáticos básicos (+,, *, /). Existem operadores que criam funções, operadores para vetores, operadores que incrementam e decrementam valores e operadores complexos que executam mais de uma tarefa de uma só vez. A Tabela 1.3 apresenta os operadores da linguagem C++ e também mostra os seus níveis de precedência. Em sua utilização normal, operadores de menor precedência executam as suas operações em expressões antes de operadores de maior precedência. Tabela Operadores usados em C++ e sua respectiva precedência. Nível de precedência Operador 12 1 ( ). [ ] -> :: ->* this & 2 * & nem delete! ~ sizeof 3 * / % << >> 6 < <= > >= 7 ==!= 8 & 9 ^ && 12 13?: 14 = += -= *= /= %= <<= >>= &= ^= = 15 ' Operadores de incremento e decremento Dois dos mais usados operadores da linguagem C e C++ são os operadores de incremento (++) e decremento (--). O operador ++ incrementa o seu argumento em uma unidade, ao passo que o operador decrementa o seu argumento em uma unidade. Os exemplos abaixo mostram a grande utilidade que os operadores de incremento e decremento podem ter: i = i + 1; //Soma 1 à variável do tipo int i i++; //Soma 1 à variável do tipo int i j = j 1; //Subtrai 1 da variável do tipo int j 12 O símbolo * no nível 2 é o operador de referenciamento de ponteiros. O mesmo símbolo no nível 3 é o operador matemático de multiplicação. Versão

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

MC102 Algoritmos e programação de computadores Aula 3: Variáveis MC102 Algoritmos e programação de computadores Aula 3: Variáveis Variáveis Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa,

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Curso de Linguagem C

Curso de Linguagem C Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...

Leia mais

Programação: Tipos, Variáveis e Expressões

Programação: Tipos, Variáveis e Expressões Programação de Computadores I Aula 05 Programação: Tipos, Variáveis e Expressões José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/56 Valores Valor é uma entidade

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada

Leia mais

Programação Básica em Arduino Aula 2

Programação Básica em Arduino Aula 2 Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas

Leia mais

Curso de Programação Computadores

Curso de Programação Computadores 3 O Primeiro Programa em C Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 3 O Primeiro Programa em C 3.1 - Introdução Depois dos conceitos

Leia mais

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis 1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

INTRODUÇÃO À LINGUAGEM C++

INTRODUÇÃO À LINGUAGEM C++ INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem

Leia mais

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Linguagem de Programação C 2 1 Linguagem de Programação C Os programas em C consistem em

Leia mais

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008 Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,

Leia mais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

Leia mais

13 Números Reais - Tipo float

13 Números Reais - Tipo float 13 Números Reais - Tipo float Ronaldo F. Hashimoto e Carlos H. Morimoto Até omomentonoslimitamosaouso do tipo inteiro para variáveis e expressões aritméticas. Vamos introduzir agora o tipo real. Ao final

Leia mais

Variáveis e Comandos de Atribuição

Variáveis e Comandos de Atribuição BCC 201 - Introdução à Programação Variáveis e Comandos de Atribuição Guillermo Cámara-Chávez UFOP 1/47 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c e s s a d o r > < d e c l

Leia mais

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática

Leia mais

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes ITENS FUNDAMENTAIS Profª Angélica da Silva Nunes CONCEITOS BÁSICOS Hardware - é a parte física do computador, tais como: teclado, monitor de vídeo, etc. Software - são os programas e aplicativos que permitem

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária 1- Apresentação Binária Os computadores funcionam e armazenam dados mediante a utilização de chaves eletrônicas que são LIGADAS ou DESLIGADAS. Os computadores só entendem e utilizam dados existentes neste

Leia mais

Introdução aos cálculos de datas

Introdução aos cálculos de datas Page 1 of 7 Windows SharePoint Services Introdução aos cálculos de datas Aplica-se a: Microsoft Office SharePoint Server 2007 Ocultar tudo Você pode usar fórmulas e funções em listas ou bibliotecas para

Leia mais

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme AULA 2: INTRODUÇÃO A LINGUAGEM DE C Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Agenda Introdução a linguagem C Compiladores Variáveis IDEs Exemplos Exercícios Introdução A Linguagem C

Leia mais

Roteiro 1: Dados, variáveis, operadores e precedência

Roteiro 1: Dados, variáveis, operadores e precedência 1. Introdução Universidade Federal do ABC Disciplina: Processamento da Informação (BC-0505) Assunto: Dados, variáveis, operadores e precedência Roteiro 1: Dados, variáveis, operadores e precedência Nesta

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem

Leia mais

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00 Fundamentos da Programação 32 A. Conceito Variáveis contém dados: VIII. VARIÁVEIS de entrada que o computador precisa manipular; de saída que o computador precisa imprimir; e temporários, utilizados de

Leia mais

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS Compilação dos erros mais comuns cometidos por estudantes de Introdução a Algoritmos Marcos Portnoi Edição 19.4.2007 Universidade Salvador UNIFACS

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos

Leia mais

Aluísio Eustáquio da Silva

Aluísio Eustáquio da Silva 1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que

Leia mais

Tipos de Dados Simples

Tipos de Dados Simples Programação 11543: Engenharia Informática 6638: Tecnologias e Sistemas de Informação Cap. 3 Tipos de Dados Simples Tipos de Dados Simples Objectivos: Hierarquia de tipos de dados Tipos de dados simples

Leia mais

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:

Leia mais

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO]

[RÓTULO:] MNEMÔNICO [OPERANDOS] [;COMENTÁRIO] Instruções de uso do montador DAEDALUS (baseadas em texto extraído da monografia apresentada como trabalho de diplomação no curso de Bacharelado em Ciência da Computação por Luís Ricardo Schwengber, sob

Leia mais

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Linguagem C Tipos de Dados void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Funções void void pode ser usado em lugar de um tipo, para indicar a ausência de valor

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C Universidade Federal de Uberlândia Faculdade de Computação A Linguagem C Prof. Renato Pimentel 1 Programação Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento

Leia mais

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Introdução à Lógica de Programação

Introdução à Lógica de Programação Introdução à Lógica de Programação Sistemas Numéricos As informações inseridas em um computador são traduzidos em dados, ou seja, em sinais que podem ser manipulados pelo computador. O computador trabalha

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados 1. Objetivos Falar sobre programa de computador, diferenciando programa em linguagem de máquina, de programa em

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Introdução a C Tipos de Dados Variáveis Operadores

Introdução a C Tipos de Dados Variáveis Operadores Introdução a C Tipos de Dados Variáveis Operadores INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 introdução a C tópicos ciclo de desenvolvimento sistemas numéricos tipos de

Leia mais

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I 01/2013 Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Problema 1 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em

Leia mais

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS

Circuitos Digitais. Conteúdo. Sistema de Numeração e Códigos :: Conversões de Binário para Decimal SISTEMA DE NUMERAÇÃO E CÓDIGOS Ciência da Computação Sistemas de Numeração e Conversões Prof. Sergio Ribeiro Material adaptado das aulas do Prof. José Maria da UFPI Conteúdo Conversões de binário para decimal. Conversões de decimal

Leia mais

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i). Cast (conversão) Um tipo de dado pode ser convertido momentaneamente em outro tipo com um cast. Em linguagem C a sintaxe usada é formada pelo tipo desejado entre parênteses precedendo a expressão a ser

Leia mais

OPERADORES E ESTRUTURAS DE CONTROLE

OPERADORES E ESTRUTURAS DE CONTROLE OPERADORES E ESTRUTURAS DE CONTROLE 3.1 Operadores Os operadores indicam o tipo de operação matemática que será executada gerando novos valores a partir de um ou mais operadores. São muito utilizados em

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Introdução à Linguagem

Introdução à Linguagem Introdução à Linguagem Curso de Nivelamento do PPGMNE Janeiro / 2011 Juliano J. Scremin jjscremin@jjscremin.t5.com.br Um pouco de história Um pouco de história: Nascimento do Python Um pouco de história:

Leia mais

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream> Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras

Leia mais

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros

Leia mais

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados

Leia mais

2. Constantes e Variáveis

2. Constantes e Variáveis 2. Constantes e Variáveis Neste capitulo veremos como os dados constantes e variáveis são manipulados pela linguagem C. O que são constantes inteiras, reais, caracteres e strings. Quais são as regras de

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Algoritmos com VisuAlg

Algoritmos com VisuAlg Algoritmos com VisuAlg Prof Gerson Volney Lagemann Depto Eng de Produção e Sistemas UDESC - CCT Algoritmos com VisuAlg Introdução A linguagem VisuAlg é simples, seu objetivo é disponibilizar um ambiente

Leia mais

José Romildo Malaquias 2011-1

José Romildo Malaquias 2011-1 Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três

Leia mais

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal

Leia mais

Conceitos Básicos de C

Conceitos Básicos de C Conceitos Básicos de C Bibliografia Problem Solving & Program design in C, Jeri R. Hanly e Elliot B. Kpffman, 3 a edição Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 2 a edição, Addison-Wesley,

Leia mais

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivos Compreender os conceitos de lógica de programação e de algoritmos. Conhecer

Leia mais

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Criar a classe Aula.java com o seguinte código: Compilar e Executar Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void

Leia mais

17 - Funções e Procedimentos em C Programação Modular

17 - Funções e Procedimentos em C Programação Modular 17 - Funções e Procedimentos em C Programação Modular Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 17

Leia mais

Algoritmos e Programação _ Departamento de Informática

Algoritmos e Programação _ Departamento de Informática 16 ARQUIVOS Um arquivo corresponde a um conjunto de informações (exemplo: uma estrutura de dados-registro), que pode ser armazenado em um dispositivo de memória permanente, exemplo disco rígido. As operações

Leia mais

Aula 2 Modelo Simplificado de Computador

Aula 2 Modelo Simplificado de Computador Aula 2 Modelo Simplificado de Computador Um computador pode ser esquematizado de maneira bastante simplificada da seguinte forma: Modelo Simplificado de Computador: Memória Dispositivo de Entrada Processador

Leia mais

Tutorial de Matlab Francesco Franco

Tutorial de Matlab Francesco Franco Tutorial de Matlab Francesco Franco Matlab é um pacote de software que facilita a inserção de matrizes e vetores, além de facilitar a manipulação deles. A interface segue uma linguagem que é projetada

Leia mais

9 Comandos condicionais

9 Comandos condicionais 9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em

Leia mais

Conceitos Importantes:

Conceitos Importantes: Conceitos Importantes: Variáveis: Por Flávia Pereira de Carvalho, 2007 i O bom entendimento do conceito de variável é fundamental para elaboração de algoritmos, consequentemente de programas. Uma variável

Leia mais

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO Capítulo 1 INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO 1.1 Histórico de Linguagens de Programação Para um computador executar uma dada tarefa é necessário que se informe a ele, de uma maneira clara, como ele

Leia mais

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.

Leia mais

Resolução de problemas e desenvolvimento de algoritmos

Resolução de problemas e desenvolvimento de algoritmos SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de

Leia mais

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo. Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto

Leia mais

Primeiro Curso de Programação em C 3 a Edição

Primeiro Curso de Programação em C 3 a Edição Edson Luiz França Senne Primeiro Curso de Programação em C 3 a Edição Visual Books Sumário Prefácio da Terceira Edição 9 Prefácio da Primeira Edição 11 Aula 1 13 Regras de sintaxe de uma linguagem de programação...

Leia mais

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O C é derivado de uma outra linguagem: o B,

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho O que é um Programa? Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais

Leia mais

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Linguagem e Técnicas de Programação I Operadores, expressões e funções Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Operadores básicos Toda linguagem de programação, existem

Leia mais

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,

Leia mais

Criando um script simples

Criando um script simples Criando um script simples As ferramentas de script Diferente de muitas linguagens de programação, você não precisará de quaisquer softwares especiais para criar scripts de JavaScript. A primeira coisa

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

2. Representação Numérica

2. Representação Numérica 2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4.

Aula 2. Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4. Aula 2 Objetivos Conceitos; Instalação do Text Pad; Entendendo o código java do AloMundo1 Codificação do AloMundo2,AloMundo3 e AloMundo4. Conceitos O software controla os computadores(freqüentemente conhecido

Leia mais

1 Resumo: Strings e vetores de caracteres. Departamento de Ciência da Computação IME/USP

1 Resumo: Strings e vetores de caracteres. Departamento de Ciência da Computação IME/USP Departamento de Ciência da Computação MAC2166 Introdução a Computação IME/USP Strings e vetores de caracteres 1 Resumo: O uso de strings facilita a manipulação de palavras e textos. Strings são basicamente

Leia mais

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1: Inteligência É a faculdade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. Henri Bergson. WHILE Além dos comandos if-else e switch, o controle de fluxo de um programa pode

Leia mais