1 Objectivos. 2 Linguagem C. Arquitecturas e Sistemas Operativos (2 a Parte) AT 1: Programação em C. Rever alguns aspectos da programação em C

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

Download "1 Objectivos. 2 Linguagem C. Arquitecturas e Sistemas Operativos (2 a Parte) AT 1: Programação em C. Rever alguns aspectos da programação em C"

Transcrição

1 Arquitecturas e Sistemas Operativos (2 a Parte) AT 1: Programação em C 3 o Ano MIEEC 1 Objectivos Rever alguns aspectos da programação em C 2 Linguagem C A linguagem C é uma linguagem imperativa. Todos os programas têm que ter uma e uma só função de nome main. De facto, o programa mais simples em C (main.c) é: Para o compilar em Linux basta executar o comando: gcc -Wall main.c -o main Por momentos vamos ignorar o aviso: main.c: In function main : main.c:2: warning: control reaches end of non-void function e executá-lo:./main Nota: A substring./ que precede o nome do programa indica ao interpretador de comandos, vulgo shell, onde pode encontrar o programa main. E o resultado desta execução é... nada visível terminando o programa de imediato. De facto, outra coisa não seria de esperar porque a função main() não inclui qualquer instrução. Antes de avançar para um programa que faz alguma coisa, conviria eliminar o aviso do compilador. Para isso basta acrescentar a linha à função main():

2 O programa mais famoso O programa C mais famoso é o Hello, World! : printf("hello, World!\n"); O qual invoca a função printf() para imprimir a string Hello, World! na consola (mais correctamente, na saída standard). A primeira linha é uma directiva para incluir um ficheiro do tipo header com a declaração da função printf() (entre outras): Em C todas as funções têm que ser declaradas (ou definidas) antes de serem invocadas. (Ver mais à frente o que são a declaração, a definição e a invocação duma função.) Para saber que header file deverá incluir quando usa uma função da biblioteca C poderá executar o utilitário man, como se segue; man 3 printf Obviamente, se estiver interessado noutra função deverá substituir a string printf pelo nome dessa função. O número 3 especifica que se pretende a página do manual de programação, o qual é, por assim dizer, o 3 o volume do manual disponível através de man. Mais sobre printf() É claro que a função printf() da biblioteca C permite imprimir muito mais do que uma constante do tipo string, i.e. uma string cujo valor não varia, como é o caso de Hello, World!\n. (A propósito, o último carácter desta string, o carácter \n, representa o carácter nova linha e faz com que o cursor se desloque para o início da linha seguinte. Outro carácter especial de interesse é o carácter \t, o qual representa um tab, i.e. um número pré-definido de espaços em branco.) De facto, printf() permite imprimir um n o variável de argumentos. O primeiro é, digamos, a string principal, a qual especifica não só a parte fixa do que se pretende imprimir como o formato da parte variável, se alguma, sendo por isso designada por string de formatação. O formato da parte variável é descrito por uma string que consiste no carácter % seguido por um conversion specifier, o qual especifica o formato de representação da parte variável da string a imprimir. Em princípio, deverá haver um conversion specifier, e correspondente carácter %, por cada argumento de printf() que segue a string de formatação. O ficheiro digits.c ilustra o uso de printf() para imprimir os 10 algarismos um por linha. void main() { int i;

3 for(i = 0; i < 10; i++) { printf("%d\n", i); Neste caso como pretendemos imprimir apenas números inteiros usamos a string %d. Para uma especificação do formato e do significado dos conversion specifiers pode consultar a man page de printf() retornada por man 3 printf. A printf_format_placeholderspginadawikipediasobre\texttt{printf apresenta um sumário dessa informação duma forma mais legível recorrendo a tabelas. Após compilar: gcc -Wall digits.c -o digits A execução de digits (dando o comando./digits) produz o resultado esperado: [...] 8 9 Onde [...] indica que omiti algumas linhas. Tipos Na linguagem C, variáveis e constantes podem ser dum conjunto de tipos básicos, ou primitivos, tais como: char, para um carácter ou um inteiro de 8 bits com sinal; short int, int e long int para inteiros com sinal usando um n o diferente de bytes (a linguagem C não define o tamanho de cada um destes tipos, o que obriga a algum cuidado para garantir portabilidade do código). Para permitir uma escrita mais eficiente, C permite que se omita a string int em short int e em long int. float e double para números de vírgula flutuante de precisão simples e dupla, respectivamente. Além dos tipos inteiros com sinal descritos acima, C suporta ainda tipos inteiros sem sinal que se especificam precedendo as key words correspondentes com a string unsigned. Por exemplo: unsigned char ou unsigned long. (Note-se que neste último caso, estamos a usar apenas long em vez de long int.) Essencialmente, um tipo determina: 1. O conjunto de valores que uma constante ou variável pode assumir;

4 2. O conjunto de operações que se pode aplicar a uma constante ou variável desse tipo. Além disso, um tipo determina a forma como uma constante ou variável é representada internamente, i.e. ao nível do processador e da memória. O programa div em div.c ilustra o efeito do tipo duma variável no resultado da operação aritmética divisão: int m = 10; int n = 3; int q; double x = 10.0; double y = 3.0; double z; q = m/n; z = x/y; printf(" %d / %d = %d \n %f / %f = %f \n", m, n, q, x, y, z); Compilando-o e executando-o, obtém-se: 10 / 3 = / = Um dos aspectos mais subtis da linguagem C é a conversão entre tipos. De facto, C realiza conversão entre tipos quando numa expressão se usa constantes/variáveis de tipos diferentes. Contudo, os resultados nem sempre são os que se esperam, como ilustra o seguinte programa que se encontra no ficheiro conv.c: int m = 10; int n = 3; int q; double z; q = m/n; z = m/n; printf(" %d / %d = %d \n %d / %d = %f \n", m, n, q, m, n, z);

5 O qual produz: 10 / 3 = 3 10 / 3 = Tente alterar este programa para que a segunda expressão produza de facto o resultado da divisão não inteira. (Pode encontrar uma solução no ficheiro casts.c) Além dos tipos básicos, C permite ainda especificar tipos compostos tais como vectores (ou arrays) e estruturas de dados: int a[10]; // a is an array of 10 integers (not initialized) struct { double re, im; z; // z is a struct composed of two doubles Funções Uma função em C é muito semelhante a uma função matemática: tal como esta última, pode ser usada para mapear os valores dum determinado domínio, especificados no seu argument, em valores dum contradomínio, o valor retornado pela função. Em C, as funções aparecem no contexto de 3 construções, ou usos: Definição especifica as instruções que deverão ser executadas, sempre que a função é invocada, para produzir o resultado desejado a partir dos argumentos. Invocação determina a execução das instruções que constam na sua definição para um determinado valor de cada um dos seus argumentos. Declaração declara o nome da função bem como os tipos dos seus argumentos e dos valores de retorno. A declaração é usada essencialmente para simplificar a compilação. De notar que a declaração duma função nem sempre é necessária, nomeadamente se a invocação da função for precedida pela sua definição. O programa fdiv em fdiv.c ilustra precisamente este facto: double div(double x, double y) { double z; // Definition of div() z = x/y; return z; double u = 10.0; double v = 3.0;

6 printf("%f / %f = %f \n", u, v, div(u,v)); // Invocation of div() A compilação e a execução deste programa produzem os resultados esperados. Se definirmos a função div() depois da função main() (ver ficheiro no_decl.c) de forma a que a função div() é invocada antes de ser definida e sem que tenha sido previamente declarada obteremos o seguinte erro de compilação: gcc -Wall no_decl.c -o no_decl decl.c: In function main : decl.c:7: warning: implicit declaration of function div decl.c:7: warning: format %f expects type double, but argument 4 has type i decl.c: At top level: decl.c:12: error: conflicting types for div O que acontece aqui é que o compilador ao encontrar a invocação de div assume que retorna um inteiro e infere que os seus argumentos são do tipo double. Contudo, mais à frente, quando encontra a definição de div(), detecta que há um conflito, pois o valor de retorno é do tipo double e assinala um erro. Neste caso, tudo o que temos que fazer é declarar a função div() antes da primeira invocação, como ilustrado em decl.c: double div(double, double); // declaration of div() double u = 10.0; double v = 3.0; printf("%f / %f = %f \n", u, v, div(u,v)); // invocation of div() double div(double x, double y) { // definition of div() double z; z = x/y; return z; IMP.- Nem sempre a invocação duma função antes da sua definição e sem a sua declaração prévia dá origem a erros de compilação. Contudo, mesmo nestes casos o comportamento do programa pode ser diferente do desejado. Assim, é importante que sempre que usa uma função antes de a definir (ou se ela estiver definida noutro ficheiro, como é o caso de printf()) a declare previamente, ou de forma explícita ou incluindo um header file com essa declaração.

7 Passagem de argumentos duma função Um aspecto essencial da linguagem C é que os argumentos são passados por valor. I.e., quando da invocação duma função com argumentos, os valores dos argumentos especificados nessa invocação são copiados para uma região de memória apropriada e que será usada pela função invocada sempre que as suas instruções acederem (i.e. lerem ou escreverem) aos seus argumentos. Este aspecto da linguagem C pode ser determinante na correcção dum programa. O programa seguinte fun_args.c ilustra uma implementação errada duma função que troca o valor das variáveis que lhe são passadas como argumento: void swap(int a, int b) { int t; printf("in swap, before swap: a = %d b = %d\n", a, b); t = a; a = b; b = t; printf("in swap, after swap: a = %d b = %d\n", a, b); int n = 5; int m = 1; printf("before calling swap: n = %d m = %d\n", n, m); swap(n,m); printf("after calling swap: n = %d m = %d\n", n, m); De facto, o problema é que o que é passado à função swap() são os valores das variáveis m e n, os quais são atribuídos aos argumentos a e b. Depois, a função swap() opera apenas sobre estas variáveis e não sobre as variáveis m e n. Para conseguir o efeito desejado temos que usar apontadores. Apontadores Um apontador é uma variável que toma como valor um endereço. De facto, em C, apontadores não são apenas endereços, são endereços de variáveis/constantes dum determinado tipo, ou de forma mais breve endereços dum determinado tipo, o que tem algumas vantagens como veremos. Para suportar a manipulação de endereços, a linguagem C oferece 2 operadores: & o qual retorna o endereço da variável que é o seu operando; * o qual retorna o valor na posição de memória cujo endereço é o seu operando; O programa ptr em ptr.c ilustra o uso destes 2 operadores:

8 0: 1: 2: 3: int m = 10; 4: int *ptr; // pointer to integer 5: 6: ptr = &m; // initialize ptr with the address of m 7: printf("ptr = %p \t *ptr = %d \t m = %d \n", ptr, *ptr, m); 8: return 0 9: De notar, a linha 4 é a declaração da variável ptr como um apontador para inteiro. Esta declaração pode ser lida como: ptr é uma variável cujo valor apontado é um inteiro. Compilando-o e executando-o, obtém-se: ptr = 0xbfccc73c *ptr = 10 m = 10 Ou seja, à variável inteira m foi atribuída uma região de memória começando na posição de endereço 0xbfccc73c. E o valor dessa região de memória obtido usando a expressão *ptr está de acordo com o valor da variável m. Agora que sabemos como funcionam os apontadores poderemos corrigir a função swap() apresentada acima (ver ficheiro swap.c): void swap(int* a, int* b) { int t; printf("in swap, before swap: *a = %d *b = %d\n", *a, *b); t = *a; *a = *b; *b = t; printf("in swap, after swap: *a = %d *b = %d\n", *a, *b); int n = 5; int m = 1; printf("before calling swap: n = %d m = %d\n", n, m); swap(&n,&m); printf("after calling swap: n = %d m = %d\n", n, m); As alterações são menores, mas a diferença no resultado é imensurável: entre um resultado correcto e outro que não o é. De facto, a solução consiste em passar como argumentos a swap() não o valor

9 das variáveis cujos valores pretendemos trocar, mas os endereços dessas variáveis. Estes endereços são usados então dentro da função swap() para alterar os valores das posições de memória correspondentes. IMP.- Note-se que C continua a passar os argumentos por valor, apenas estes argumentos são endereços, o que permite produzir um efeito semelhante ao modo de passagem de argumentos por referência. O programa swap ilustra um dos principais usos de apontadores na linguagem C: a possibilidade de alterar o valor duma variável de forma visível fora da função que faz essa alteração. Um dos exemplos mais comuns do uso desta funcionalidade é a função scanf() da biblioteca C. A função scanf() é dual da função printf() no sentido de que enquanto esta última permite escrever na saída standard (normalmente a consola), scanf() permite ler da entrada standard (normalmente o teclado). O programa input em input.c ilustra o uso de scanf() para ler um inteiro do teclado: int n; printf("enter an integer... "); scanf("%d", &n); printf("\nread %d \n", n); Ou seja, neste caso, scanf() inicializa a região de memória apontada pelo endereço que lhe é passado como argumento, neste caso o endereço da variável n, com o inteiro introduzido através do teclado, inicializando desta forma a variável n com esse valor. Note-se que scanf() usa strings de formatação com um formato semelhante ao destas strings em printf(). É assim possível ler não só inteiros mas também números de vírgula flutuante bem como valores de outros tipos. Para uma explicação detalhada do uso desta função pode consultar a sua man page dando o comando man 3 scanf. Para um sumário mais legível pode consultar a página correspondente da Wikipedia Strings Em C, há uma relação estreita entre strings e endereços/apontadores. De facto, C não tem um tipo string, mas apenas um tipo char. Contudo, atendendo a que uma string é tipicamente guardada em memória com cada um dos seus carácteres em posições consecutivas, é possível referir uma string pelo endereço da sua primeira posição de memória. Contudo tal não basta. Como é que sabe qual é o último carácter duma string? A solução adoptada em C, é usar um carácter especial, conhecido por end of string character, o carácter de código 0, para marcar o fim duma string. O programa string em string.c ilustra este aspecto da linguagem C: // Strings are represented as pointers to their first character // The end of string is marked by the \0 character

10 char *str, *p; %p\n", "Hello World!\n"); str = "Hello World!\n"; for( p = str; *p!= \0 ; p++) %p: %c\n", p, *p); O que é que este programa faz? Verifique a sua resposta compilando-o e executando-o. Arrays A linguagem C suporta também arrays/vectores. O programa array em array.c ilustra alguns dos aspectos relacionados com a sintaxe de manipulação de vectores em C: 0: 1: 2: 3: int a[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9; 4: int i; 5: 6: for( i = 0; i < 10; i++ ) 7: printf("a[%d] = %d\n", i, a[i]); 8: 9: Em particular note o uso de [] na declaração dum vector (na linha 3), bem como na referência a um elemento particular desse vector na linha 7. Note-se que os indíces dum vector começam em 0. De notar ainda, a inicialização dos elementos do vector na linha 3 usando-se para o efeito {,. Os elementos dum vector não inicializado terão um valor arbitrário. Quando não se faz a inicialização dos elementos do vector na sua declaração, é necessário especificar o n o de elementos do vector. Quando se faz a inicialização, o compilador assume que o vector tem um n o de elementos iguais ao n o de valores usados na inicialização. Tal como uma string consiste numa sequência de carácteres, também um array/vector consiste numa sequência de elementos dum determinado tipo. Assim, em C há uma relação estreita entre arrays e endereços/apontadores. Nomeadamente, o nome dum vector é de facto o endereço da primeira posição de memória desse vector. Como ilustra o programa array ptr em array ptr.c: int a[] = {0, 1, 2; int i; int *p;

11 printf("array %p\n", a); for( i = 0, p = a; i < 3; i++, p++) { printf("a[%d] (@ %p) = %d\n", i, &a[i], a[i]); printf("a[%d] (@ %p) = %d\n", i, p, *p);

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4

Algoritmos e Estruturas de Dados I (DCC/003) 2013/1. Estruturas Básicas. Aula Tópico 4 Algoritmos e Estruturas de Dados I (DCC/003) 2013/1 Estruturas Básicas Aula Tópico 4 1 Problema 3 Exibir o maior número inteiro que pode ser representado no computador. 2 Qual o maior número inteiro? Para

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

Introdução a Programação de Jogos

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

Leia mais

INTRODUÇÃO A LINGUAGEM C

INTRODUÇÃO A LINGUAGEM C INTRODUÇÃO A LINGUAGEM C Aula 01 Programação em Microinformática Prof. Allbert Velleniche de Aquino Almeida E-mail: professor@allbert.com.br Site: http://www.allbert.com.br Histórico O C nasceu na década

Leia mais

Capítulo 2 Operadores. A função scanf()

Capítulo 2 Operadores. A função scanf() Capítulo 2 Operadores A função scanf() A função scanf() é outra das funções de E/S implementadas em todos os compiladores e nos permite ler dados formatados da entrada padrão (teclado). Sintaxe: scanf(

Leia mais

Programação Básica. Estrutura de um algoritmo

Programação Básica. Estrutura de um algoritmo Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse

Leia mais

Introdução à Linguagem C Variáveis e Expressões

Introdução à Linguagem C Variáveis e Expressões INF1005: Programação 1 Introdução à Linguagem C Variáveis e Expressões 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Programando em C Funções Variáveis Define Operadores e Expressões Entrada e Saída

Leia mais

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010 Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 3 de setembro de 2010 1 Introdução O objetivo desta aula prática é exercitar o uso de variáveis de vários tipos

Leia mais

Funções de Entrada e Saída

Funções de Entrada e Saída inicio Escrita no ecrã (Saída de dados) Escrever( introduza o valor do raio ) Raio Leitura do valor do raio S Raio < 0 N O utilizador insere o valor do raio (Entrada de dados do teclado) Escrita no ecrã

Leia mais

Linguagem C: funções e ponteiros. Prof. Críston Algoritmos e Programação

Linguagem C: funções e ponteiros. Prof. Críston Algoritmos e Programação Linguagem C: funções e ponteiros Prof. Críston Algoritmos e Programação Funções Recurso das linguagens de programação que permite dar um nome para um conjunto de instruções Facilita a reutilização de algoritmos

Leia mais

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton nilton@comp.uems.br Introdução A linguagem C foi inventada por Dennis Ritchie e

Leia mais

Linguagem e Técnicas de Programação

Linguagem e Técnicas de Programação Linguagem C Função Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Função 1 Conceitos As técnicas de programação dizem que, sempre que possível, evite códigos extensos, separando o mesmo em funções,

Leia mais

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

Estrutura de Programas e Tipos de Dados Simples

Estrutura de Programas e Tipos de Dados Simples SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Estrutura de Programas e Tipos de Dados Simples Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br

Leia mais

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo

Apresentação da ferramenta de programação. Comandos de entrada e saída. Prof. Alex Camargo UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ ALGORITMOS E PROGRAMAÇÃO Apresentação da ferramenta de programação. Comandos de entrada e saída Prof. Alex Camargo alexcamargoweb@gmail.com Linguagem C A linguagem

Leia mais

Estrutura do programa

Estrutura do programa Linguagem C Estrutura do programa Exemplo: #include #include main() { printf( Ola, mundo! ); system( pause ); }

Leia mais

Algoritmos e Programação. Linguagem C Procedimentos e. Eliane Pozzebon

Algoritmos e Programação. Linguagem C Procedimentos e. Eliane Pozzebon Algoritmos e Programação Linguagem C Procedimentos e Funções Eliane Pozzebon Procedimentos e Funções Procedimentos são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento

Leia mais

Conceito de procedimentos e funções

Conceito de procedimentos e funções Tópicos Introdução Como funcionam as funções Declaração de funções Exemplo de funções 1 Introdução As funções, são unidades de código desenhadas para cumprir uma determinada tarefa. Até agora, já utilizamos

Leia mais

Tipos Abstratos de Dados. Estrutura de Dados

Tipos Abstratos de Dados. Estrutura de Dados Tipos Abstratos de Dados Tipo Abstrato de Dados ou TAD Idéia principal: desvincular o tipo de dado (valores e operações) de sua implementação: O que o tipo faz e não como ele faz! Vantagens da desvinculação:

Leia mais

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica. Computação L2 Linguagem C++ ovsj@cin.ufpe.br Observação: Material Baseado na Disciplina Computação Eletrônica. Alfabeto São os símbolos ( caracteres ) permitidos na linguagem: Letras (maiúsculas e minúsculas);

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Trabalho nº 5 Funções http://tele1.dee.fct.unl.pt/pm

Leia mais

Programação Imperativa. Lição n.º 16 A pilha de execução

Programação Imperativa. Lição n.º 16 A pilha de execução Programação Imperativa Lição n.º 16 A pilha de execução A pilha de execução Registos de execução. Arrays locais. Caso da alocação dinâmica. Segmento de dados. 11/17/16 Programação Imperativa 2 A pilha

Leia mais

Ambientação com a Sintaxe de Java: parte 1

Ambientação com a Sintaxe de Java: parte 1 Ambientação com a Sintaxe de Java: parte 1 Prof. Gustavo Wagner FATEC-PB Programas em Java Texto do programa: arquivo com extensão.java Arquivo contém ao menos uma classe Nome do arquivo deve ser IGUAL

Leia mais

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1 Linguagem C: Variáveis e Operadores Prof. Leonardo Barreto Campos Sumário Variáveis: Tipos de variáveis; Nome da variável; Palavras reservadas; A função printf(); A função scanf(); Variáveis locais; Variáveis

Leia mais

Aula 4. Programa para tabelar potências de base 2 Análise de erros de overflow/underflow

Aula 4. Programa para tabelar potências de base 2 Análise de erros de overflow/underflow Aula 4 Algoritmo para determinar o máximo de uma sequência de n inteiros sendo n dado. Limite da capacidade de representação das variáveis do tipo int. Programa para tabelar potências de base 2 Análise

Leia mais

Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná

Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná em C Linguagem de Programação Estruturada I Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Sumário Funções: Conceitos; Forma Geral das funções; Regras de Escopo; Argumentos

Leia mais

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008

Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Computação para Informática - Prof. Adriano Joaquim de Oliveira Cruz Segunda Aula Prática - 29 de agosto de 2008 Introdução O objetivo desta aula prática é exercitar comandos de entrada e saída simples

Leia mais

Computação I (MAB120) DCC/UFRJ

Computação I (MAB120) DCC/UFRJ Computação I (MAB120) DCC/UFRJ Aula 12: vetores 13 de maio de 2016 Objetivos dessa aula Apresentar o conceito de Tipos Compostos Homogêneos Apresentar o conceito de vetores Apresentar as operações básicas

Leia mais

Linguagem C. Eliane Pozzebon

Linguagem C. Eliane Pozzebon Linguagem C Eliane Pozzebon Material de Apoio de C Site da disciplina: http://www.univasf.edu.br/~eliane.pozzebon Slides de aulas Exercícios Dev-C++: um ambiente de programação interativo e gratuito para

Leia mais

Operadores. Tipo de operadores. Aritméticos. Relacionais. Lógicos. Bit a bit. Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc.

Operadores. Tipo de operadores. Aritméticos. Relacionais. Lógicos. Bit a bit. Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc. Operadores Tipo de operadores Aritméticos Cálculos aritméticos: soma, subtracção, multiplicação, divisão, etc. Relacionais Comparação entre entidades. Lógicos Bit a bit 1 Operadores Aritméticos Operadores

Leia mais

Programação Orientada a Objetos. Manipulação de Exceções

Programação Orientada a Objetos. Manipulação de Exceções Programação Orientada a Objetos Manipulação de Exceções Cristiano Lehrer, M.Sc. Introdução à Manipulação de Exceções (1/2) Em uma linguagem sem manipulação de exceção: Quando ocorre uma exceção, o controle

Leia mais

(SCC-0120) Linguagem C

(SCC-0120) Linguagem C (SCC-0120) Introdução à Ciência da Computação: Linguagem C Prof. Zhao Liang Estag. PAE: Murillo G. Carneiro (São Carlos) Instituto de Ciências Matemáticas e Computação (ICMC) (SCC-0120) Introdução à Ciência

Leia mais

Fabiano Moreira.

Fabiano Moreira. Fabiano Moreira professor@fabianomoreira.com.br Um pouco de história Java 1.02 (250 classes, lenta) Java 1.1 (500 classes, um pouco mais rápida) Java 2, versões 1.2-1.4 (2300 classes, muito mais rápida)

Leia mais

Variáveis, Tipos de Dados e Operadores

Variáveis, Tipos de Dados e Operadores ! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória

Leia mais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais

Leia mais

Outline. 33. Manipulação de arquivos DIM

Outline. 33. Manipulação de arquivos DIM Outline 33. Manipulação de arquivos DIM031 015.1 Leitura e escrita 3 s DIM031 33. Manipulação de arquivos 015.1 1 / 4 DIM031 33. Manipulação de arquivos 015.1 / 4 Arquivo = entidade de armazenamento de

Leia mais

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização.

a) Calcule o valor médio de CPI apresentado na execução deste programa P, utilizando-se C1 sem e com otimização. UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Sistemas de Computação 2016.2 Profa.: Simone Martins Lista 1 1. Um programa P foi compilado com um compilador

Leia mais

Linguagem de Programação I. Aula 10 Funções

Linguagem de Programação I. Aula 10 Funções Linguagem de Programação I Aula 10 Funções Da Aula Anterior Tipos de dados básicos e operadores em C Declaração de variáveis e modificadores de tipo Estruturas de Controle Arrays unidimensionais Geração

Leia mais

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Linguagem C Controle do Fluxo de Execução. Lógica de Programação Linguagem C Controle do Fluxo de Execução Lógica de Programação Caro(a) aluno(a), Aqui começaremos a escrever os nossos primeiros programas em uma Linguagem de Programação. Divirta-se!!! Estrutura Seqüencial

Leia mais

Linguagem C. Programação Estruturada. Modularização (Funções) Prof. Luis Nícolas de Amorim Trigo

Linguagem C. Programação Estruturada. Modularização (Funções) Prof. Luis Nícolas de Amorim Trigo Programação Estruturada Linguagem C Modularização (Funções) Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Por que usar funções? Escopo de Variáveis Declarando uma

Leia mais

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes

Pedro Vasconcelos DCC/FCUP. Programação Funcional 2 a Aula Tipos e classes Programação Funcional 2 a Aula Tipos e classes Pedro Vasconcelos DCC/FCUP 2012 Tipos Um tipo é um nome para uma coleção de valores relacionados. Por exemplo, o tipo Bool True contém dois valores lógicos:

Leia mais

cadeia de caracteres (string) INF Programação I Prof. Roberto Azevedo

cadeia de caracteres (string) INF Programação I Prof. Roberto Azevedo cadeia de caracteres (string) INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br cadeia de caracteres (string) tópicos caracteres cadeia de caracteres referência Capítulo

Leia mais

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias.

5 Arrays. 5.1 Criando um array. 5.2 Inicializando arrays. c:\>java Array Janeiro tem 31 dias. 5 Arrays Arrays são grupos de variáveis do mesmo tipo. As arrays podem armazenar variáveis de qualquer tipo (tipo de dado primitivo ou objetos), mas é importante lembrar que todos os valores devem ser

Leia mais

Instituto Superior de Engenharia de Lisboa

Instituto Superior de Engenharia de Lisboa Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)

Leia mais

MC-102 Aula 10 Vetores

MC-102 Aula 10 Vetores MC-102 Aula 10 Vetores Instituto de Computação Unicamp 15 de Setembro de 2016 Roteiro 1 Introdução 2 Vetores Definição de Vetores Vetores Como usar Vetores e a Memória Vetores Exemplos 3 Informações Extras:

Leia mais

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Material preparado pela profa Silvana Maria Affonso de Lara

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Material preparado pela profa Silvana Maria Affonso de Lara Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação FUNÇÕES EM C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA Definição

Leia mais

O vetor é provavelmente um dos mais simples e importantes tipos agregados. Através do seu uso, podemos

O vetor é provavelmente um dos mais simples e importantes tipos agregados. Através do seu uso, podemos Cláudio C. Rodrigues Faculdade da Computação -UFU LINGUAGEM C 04: VETORES, STRINGS E MATRIZES Faculdade da Computação - UFU 1 Introdução & Objetivo O vetor é provavelmente um dos mais simples e importantes

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

Algoritmos e Estruturas de Dados I. Funções. Pedro Olmo Stancioli Vaz de Melo

Algoritmos e Estruturas de Dados I. Funções. Pedro Olmo Stancioli Vaz de Melo Algoritmos e Estruturas de Dados I Funções Pedro Olmo Stancioli Vaz de Melo Exercício Brutus e Olívia foram ao médico, que disse a eles que ambos estão fora do peso ideal. Ambos discordaram veementemente

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

Introdução à Programação Orientada a Objetos em C++

Introdução à Programação Orientada a Objetos em C++ Introdução à Programação Orientada a Objetos em C++ Disciplina de Programação Científica II Aula 12 de 18 24/05/2013 Professor Giovani Gracioli giovanig@gmail.com Objetivos Os objetivos dessa aula são:

Leia mais

5. Vetores e alocação dinâmica

5. Vetores e alocação dinâmica 5. Vetores e alocação dinâmica W. Celes e J. L. Rangel 5.1. Vetores A forma mais simples de estruturarmos um conjunto de dados é por meio de vetores. Como a maioria das linguagens de programação, C permite

Leia mais

1) Operadores de auto incremento ++ e auto decremento --

1) Operadores de auto incremento ++ e auto decremento -- Aula 09 - Operadores de auto incremento e auto decremento, atribuição múltipla, atribuição na declaração, atribuição resumida e algumas regras de boa programação. 1) Operadores de auto incremento ++ e

Leia mais

Unidade 5: Introdução à Programação com C/C++

Unidade 5: Introdução à Programação com C/C++ Lógica de Programação para Engenharia 1 Unidade 5: Introdução à Programação com C/C++ Prof. Daniel Caetano Objetivo: Explicitar os elementos básicos envolvidos na programação com a linguagem C/C++. Bibliografia:

Leia mais

1ª Lista de Exercícios

1ª Lista de Exercícios Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule

Leia mais

Introdução à Programação em C (I)

Introdução à Programação em C (I) Introdução à Programação em C (I) IAED Tagus, 2009/2010 Organização de Ficheiros em C Organização Típica de Ficheiros em C Inclusão de bibliotecas de sistema Inclusão de bibliotecas locais Definição de

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

Programando em Assembly

Programando em Assembly Programando em Assembly precisa-se saber exatamente como interpretar & gerenciar a memória e como usar instruções de baixo nível para o processamento Não existem tipos e variáveis (apenas bytes na memória)

Leia mais

As funções são blocos de instruções que facilitam o entendimento do código. Sua sintaxe é:

As funções são blocos de instruções que facilitam o entendimento do código. Sua sintaxe é: Linguagem C-Funções Objetivos No primeiro capítulo foi dito que um programa em C pode ser composto de uma ou mais funções, sendo que a única obrigatória é main (). Agora, estudaremos como utilizar outras

Leia mais

MC102 Algoritmos e Programação de Computadores

MC102 Algoritmos e Programação de Computadores MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Roteiro 1 Maior número 2 Soma de n números 3 Fatorial 4 Máximo Divisor Comum (MDC) 5 Números primos

Leia mais

Programação II. Introdução à Linguagem C

Programação II. Introdução à Linguagem C Programação II Introdução à Linguagem C Um Pouco da História da Linguagem C Origem: década de 70 (Dennis Ritchie) BCPL B C. Prover acesso de baixo nível ao hardware (CPU, I/Os e periféricos) e se entender

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

Modularização: Funções em C

Modularização: Funções em C Modularização: Funções em C Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan Muitas vezes um problema grande pode ser resolvido mais facilmente se for dividido em pequenas partes. Tratar

Leia mais

Recursividade UFOP 1/48

Recursividade UFOP 1/48 BCC 201 - Introdução à Programação I Recursividade Guillermo Cámara-Chávez UFOP 1/48 Introdução I Recursividade: é um método de programação no qual uma função pode chamar a si mesma Muitas estruturas têm

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação aula 4 Engenharia Elétrica e Engenharia de Automação Introdução à Computação 1.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) Programas Programas são seqüências de instruções

Leia mais

Conteúdo programático

Conteúdo programático Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha

Leia mais

Matrizes. DCC 119 Algoritmos

Matrizes. DCC 119 Algoritmos Matrizes DCC 119 Algoritmos Matrizes: vetores multidimensionais Assim como os vetores, as matrizes são estruturas de dados homogêneas. Podem ser construídas dos diversos tipos básicos primitivos (real,

Leia mais

Programas Interativos

Programas Interativos Programação Funcional DECOM UFOP 2012-1 Aula prática Capítulo 8 Prof. José Romildo Malaquias Programas Interativos Resumo Nesta aula pretende-se explorar construção de programas interativos usando ações

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

Dicas para implementação do Trabalho 6

Dicas para implementação do Trabalho 6 Dicas para implementação do Trabalho 6 1 Passo a passo para implementação do trabalho 1 Faça um exemplo que contemple todos os possíveis comandos que sua linguagem aceita. Um possível exemplo, faltando

Leia mais

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome

Leia mais

Introdução à Linguagem C++

Introdução à Linguagem C++ Introdução à Linguagem C++ C++: Definição C++ C A Linguagem de Programação C++ pode ser definida como uma extensão da Linguagem C; Todo código de programação em Linguagem C pode a priori ser compilado

Leia mais

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias fariasol@gmail.com

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias fariasol@gmail.com Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias fariasol@gmail.com Ementa: Equivalente ao sumário do livro: The C Programming Language, Second edition. Autores: Brian W. Kernighan, Dennis

Leia mais

Variáveis e constantes; Operadores e Tipos de Dados

Variáveis e constantes; Operadores e Tipos de Dados Introdução à Programação (INF002) Variáveis e constantes; Operadores e Tipos de Dados 1º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) Variáveis e Constantes

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira

Leia mais

Professora Jeane Melo

Professora Jeane Melo Professora Jeane Melo Roteiro Lista Encadeada Alocação: Estática x Dinâmica O que são Ponteiros? Ponteiros Variáveis que Armazenam Endereços de Memória Mas, toda variável não é armazenada na memória? Ponteiros

Leia mais

Objectivos. Programação I (2010/2011) 2 o Trabalho de Programação

Objectivos. Programação I (2010/2011) 2 o Trabalho de Programação Programação I (2010/2011) 2 o Trabalho de Programação Introdução As progressões aritméticas e geométricas são exemplos de sucessões numéricas onde o elemento n + 1 depende do elemento n e de uma constante.

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 8 Strings e Estruturas Susana M Iglesias 1 STRINGS - INTRODUÇÃO Strings (cadeia de caracteres): é uma serie de caracteres que podem ser tratados como uma unidade simples,

Leia mais

Elementos de Linguagem C

Elementos de Linguagem C Elementos de Linguagem C Parte II Elementos de linguagem C Parte II 1 Macros O pré-processador da linguagem C suporta a substituição de macros, criadas com #define nome_macro texto de substituição As macros

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

Estruturas de Dados Aulas 3 e 4: Uso da. 14/03/2011 e 16/03/2011

Estruturas de Dados Aulas 3 e 4: Uso da. 14/03/2011 e 16/03/2011 Estruturas de Dados Aulas 3 e 4: Uso da memória e Vetores 14/03/2011 e 16/03/2011 Uso da memória Existem 3 maneiras de reservar o espaço da memória: Variáveis globais (estáticas) Espaço existe enquanto

Leia mais

Classes e Objetos. Prof. Leonardo Barreto Campos 1

Classes e Objetos. Prof. Leonardo Barreto Campos 1 Classes e Objetos Prof. Leonardo Barreto Campos 1 Sumário Introdução; Escopo de Classe e Acesso a Membros de Classes; Exercício; Os Métodos get e set; Separação de Interface e Implementação; Construtores

Leia mais

É usual respeitarem-se as seguintes convenções: Nome de uma classe começa por maiúscula (e.g. Solido)

É usual respeitarem-se as seguintes convenções: Nome de uma classe começa por maiúscula (e.g. Solido) P. Fazendeiro & P. Prata POO TP01 / 1 JAVA.Identificadores Não podem começar por um dígito Podem ser constituídos por combinações de letras (língua Inglesa), dígitos e os caracteres _ e $ É usual respeitarem-se

Leia mais

Arrays. 6.2 Arrays. 6.1 Introdução. Elementos de um array são como as variáveis normais que vocês já conhecem

Arrays. 6.2 Arrays. 6.1 Introdução. Elementos de um array são como as variáveis normais que vocês já conhecem 1 2 Arrays.1 Introdução Array Vector Estrutura de elementos relacionados ( do mesmo tipo) Entidade estática tem sempre a mesma dimensão ao longo da execução do programa É um grupo de locais de memória

Leia mais

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas

Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Algoritmo, Variáveis, Comandos de Entrada e Saída e Expressões Aritméticas Estrutura de um Programa em Linguagem Algorítmica Nesse curso nós vamos utilizar a linguagem algorítmica para

Leia mais

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO INTRODUÇÃO À LINGUAGEM PASCAL CESAR BEZERRA TEIXEIRA,MSC PREFÁCIO A linguagem C foi desenvolvida no início da década de 70 por dois pesquisadores do Bell Laboratories, Brian Kernihgan e Dennis Ritchie,

Leia mais

Introdução à Linguagem C. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny

Introdução à Linguagem C. Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny Introdução à Linguagem C Adaptado de slides das Profas. Patrícia Jaques, Mônica Py, Deise Saccol e Vania Bogorny 1 Histórico da Linguagem C Criada por Denis Ritchie, na década de 1970, para uso em um computador

Leia mais

Conceitos Básicos da Linguagem C++ Prof. Leonardo Barreto Campos 1

Conceitos Básicos da Linguagem C++ Prof. Leonardo Barreto Campos 1 Conceitos Básicos da Linguagem C++ Prof. Leonardo Barreto Campos 1 Sumário As Origens da Linguagem C++; Primeiro Programa em C++; Declaração e Leitura de Variáveis; Estruturas de Seleção; if; switch; Estruturas

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

Linguagens de Programação Conceitos e Técnicas. Amarrações

Linguagens de Programação Conceitos e Técnicas. Amarrações Linguagens de Programação Conceitos e Técnicas Amarrações Conceituação Amarração (ou binding) é uma associação entre entidades de programação, tais como entre uma variável e seu valor ou entre um identificador

Leia mais

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Curso C: Ponteiros e Arrays

Curso C: Ponteiros e Arrays Universidade de Brasília Departamento de Ciência da Computação Curso C: Ponteiros e Arrays Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Ponteiros um ponteiro Ž uma vari vel que contžm o endere o um

Leia mais

Controle de Fluxo. Laços e Desvios incondicionais

Controle de Fluxo. Laços e Desvios incondicionais Controle de Fluxo Laços e Desvios incondicionais Laços Em C, há três comandos de ITERAÇÃO ou LAÇOS: for while do... while Estes permitem que um conjunto de instruções seja executado até que ocorra uma

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

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA. DIM0320 Algoritmos e Programação de Computadores UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE DEPARTAMENTO DE INFORMÁTICA E MATEMÁTICA APLICADA DIM0320 Algoritmos e Programação de Computadores #VARIÁVEIS #TIPOS DE DADOS E L I EZ I O S O A R ES E L I EZ

Leia mais

Introdução. 17-out-08 Leandro Tonietto 2

Introdução. 17-out-08 Leandro Tonietto 2 Programação II Leandro Tonietto Algoritmos e Programação em C++ Curso de Segurança da Informação ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto/tsi/ica/programacao2.pdf out-08 Introdução O

Leia mais

Introdução a POO. Introdução a Linguagem C++ e POO

Introdução a POO. Introdução a Linguagem C++ e POO Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes

Leia mais

Para cada programa, por mais simples que seja, comece sempre por esboçar a solução desenhando um fluxograma.

Para cada programa, por mais simples que seja, comece sempre por esboçar a solução desenhando um fluxograma. Instruções de Repetição Objetivo A realização deste trabalho deverá permitir ao aluno a familiarização com a utilização de instruções de repetição em C. Para o efeito será proposto um conjunto de exercícios

Leia mais