Estrutura de Dados. Prof. Gustavo Willam Pereira. Créditos: Profa. Juliana Pinheiro Campos

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

Download "Estrutura de Dados. Prof. Gustavo Willam Pereira. Créditos: Profa. Juliana Pinheiro Campos"

Transcrição

1 Estrutura de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

2 ESTRUTURAS DE DADOS Ementa Introdução à Linguagem C. Recursividade. Alocação dinâmica de memória. Conceito de tipos abstratos de dados. Listas Pilhas Filas Árvores. Implementação de tipos abstratos de dados.

3 CONCEITOS BÁSICOS Estruturas de dados: Forma particular de armazenamento e organização dos dados em um computador de modo que possam ser recuperados e usados posteriormente de forma eficiente. Alguns tipos de estruturas são adequadas a diferentes tipos de aplicação, destinando-se a tarefas específicas.

4 CONCEITOS BÁSICOS Estruturas de dados e algoritmos: Algoritmo: É um conjunto determinado de instruções (ações) que quando seguidas desempenham uma tarefa particular. As estruturas de dados estão altamente relacionadas aos algoritmos que as manipulam: Algoritmos e estruturas de dados devem ser consideradas como unidades distintas e complementares. A escolha de um algoritmo a ser utilizado depende da representação e da estrutura dos dados.

5 CONCEITOS BÁSICOS Estruturas de dados estáticas e dinâmicas: Estáticas: A alocação de memória para essas estruturas é realizada antes que o programa entre em execução. Não oferece suporte adequado para inserção e remoção de elementos dinamicamente. Homogêneas: vetores e matrizes Heterogêneas: tipos estruturados (registros) Dinâmicas: A alocação de memória para essas estruturas é realizada durante a execução do programa, conforme a necessidade. Listas, filas, pilhas, árvores, etc.

6 ESTRUTURAS DE DADOS Linguagem C C é uma linguagem de programação compilada, estruturada e de alto nível. É uma das linguagens de programação mais populares. Oferece acesso a endereços de variáveis

7 A história de C 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. C é derivado de uma outra linguagem: o B, criado por Ken Thompson. B, por sua vez, veio da linguagem BCPL, inventada por Martin Richards. 7

8 A história de C Dados históricos: Desenvolvimento do UNIX (num PDP 7 em linguagem Assembly); Desenvolvimento da linguagem BCPL, próxima do Assembly; Desenvolvimento da linguagem B, sucessora da anterior (o B é a 1ª letra de BCPL); Primeiro desenvolvimento da linguagem C, sucessora da anterior (o C é a 2ª letra de BCPL); O sistema operativo UNIX é reescrito em linguagem C; Primeira edição do livro The C Programming Language, Kernighan & Ritchie; Definição do ANSI C; 8

9 História das Linguagens de Programação

10 A linguagem C: CONCEITOS BÁSICOS Linguagem convencional Devemos reservar uma área na memória para armazenar cada dado. Um programa em C é constituído de diversas funções pequenas, independentes entre si. Função principal (main) automaticamente executada após o programa ser carregado. Tempo de vida e visibilidade das variáveis: Variáveis locais; Variáveis globais;

11 ESTRUTURAS DE DADOS Ambiente de Desenvolvimento Integrado Dev C++: Ambiente gratuito para programação em C e C++. Microsoft Visual C++ Express Edition editions/visual-cpp-express

12 CONCEITOS BÁSICOS Linguagem C x Linguagem Pascal: Comando Pascal C Comentários { comentario} /* comentario */ Identificadores Não é case sensitive É case sensitive Definição de tipos type typedef Declaração de inteiros integer int Declaração de caracter char char Boolean Boolean tratado como true ou false Não há tratado como 0 ou 1 Real real Float ou double Tipos enumerados type a = (vermelho, verde, azul) enum a {vermelho, verde, azul};

13 CONCEITOS BÁSICOS Linguagem C x Linguagem Pascal: Comando Pascal C Vetores Strings Limites definidos pelo programador. Ex: var a = array[1..10] of integer; Tipo pré-definido tratado internamente como array. Começa da posição 0 e vai até n 1 (sendo n o tamanho do vetor). Ex: int a[10]; O tipo string não é definido. Deve-se criar um vetor de char. Registros record struct Atribuição := =

14 CONCEITOS BÁSICOS Linguagem C x Linguagem Pascal: Operadores Pascal C Aritméticos +, -, *, /, div, mod +, -, *, /, %, ++, -- Relacionais >, <, >=, <=, =, <> >, <, >=, <=, ==,!= Lógicos and, or &&, Atribuições especiais Não há +=, -=, *=, /=, %=

15 CONCEITOS BÁSICOS Linguagem C x Linguagem Pascal: Estruturas de controle Pascal if cond then stmt else stmt while cond do stmt repeat stmt until cond for id := expr to expr do stmt case expr of expr : stmt;... expr : stmt; else: stmt; end C if (cond) stmt else stmt while (cond) stmt do stmt while (cond) for (expr; cond; expr) stmt switch (expr) { case expr : stmt;... case expr : stmt; default: stmt }

16 CONCEITOS BÁSICOS Linguagem C x Linguagem Pascal: Exemplo de programa que imprime Olá Mundo! Pascal Program ola; Begin writeln( Olá mundo! ); end. C #include <stdio.h> int main() { printf( Olá mundo! ); }

17 CONCEITOS BÁSICOS Declaração e inicialização de variáveis: int a, b; float c; c = 5.3; int a = 10; Valores constantes: a = b + 13 a = b ; // sem sufixo, é real do tipo double a = b f; // real do tipo float exige sufixo f ou F Variáveis com valores indefinidos: int a, b, c; a = 2; c = a + b; ERRO: b tem lixo!!!

18 CONCEITOS BÁSICOS Operadores: Aritméticos: adição (+), subtração (-), multiplicação (*), divisão (/), módulo (%); Atribuição: simples (=),compostos (+=, -=, *=, /=, %=); De incremento e decremento: incremento (++), decremento (--); Relacionais: menor que (<), maior que(>), menor ou igual que (<=), maior ou igual que (>=), igual (==), diferente (!=). Lógicos: e/and (&&), ou/or ( ), negação/not (!)

19 CONCEITOS BÁSICOS Exemplos de utilização de operadores: Quais serão os valores armazenados nas variáveis a, b, c? int a; double b, c; a = 3.5; b = a / 2.0; c = 1/3 + b; Resposta: a = 3, b = 1.5, c = 1.5.

20 CONCEITOS BÁSICOS Exemplos de utilização de operadores: x%2; a = 5; // operador % se aplica somente a operandos inteiros // o valor resultante é o valor atribuído y = x = 5; x *= y + 1; // var op= expr var = var op (expr) x = n++; x = ++n; // incrementa em uma unidade o valor de n int c = 23, d = c + 4; a = (c < 20) (d > c); // armazena o valor 1 em a b = (c < 20) && (d > c); // armazena o valor 0 em b

21 Operadores Operadores Combinados x = x op y; x op= y; Expressão Normal a = a + b; a = a - b; a = a * b; a = a / b; a = a % b; Expressão Simplificada a+=b; a-=b; a*=b; a/=b; a%=b;

22 CONCEITOS BÁSICOS Operador sizeof Retorna o número de bytes de um determinado tipo. Exemplo: int x = sizeof(int); printf("número de bytes ocupado pelo inteiro tipo inteiro é: %i \n", x);... sizeof(int) retorna 2 ou 4 dependendo do inteiro natural da máquina

23 CONCEITOS BÁSICOS Conversão de tipos Operador cast: operador de molde de tipo Exemplo int a; a = (int) 3.5; printf("a = %i", a); O valor impresso de a é 3 porque o valor 3.5 foi convertido para inteiro

24 Operador de Modelagem Exemplo de operador de modelagem /* Exemplo utilizando moldagem (cast) */ #include <stdio.h> void main(void) { int dividendo=10, divisor=3; float quociente=0.0; quociente = (float)dividendo / divisor; printf("%d/%d = %.2f\n", dividendo, divisor, quociente); getchar(); }

25 CONCEITOS BÁSICOS Entradas e saídas básicas As operações de entrada e saída em C são feitas com o uso de funções. Para utilizar essas funções é necessário incluir o protótipo das funções no código. Para isso, devese incluir a biblioteca: #include <stdio.h>

26 CONCEITOS BÁSICOS Entradas e saídas básicas Função printf: Possibilita a saída de valores em um formato específico. printf(formato, lista de constantes/variáveis/expressões); Deve existir um especificador de formato correspondente (Ex: %c, %d, %f, %s, ) Ex: printf( Inteiro: %d, real: %f, 5, 3.4); Função scanf: Permite capturar valores fornecidos via teclado pelo usuário do programa e armazená-los em variáveis. scanf(formato, lista de endereços das variáveis ); Ex: int n; scanf( %d, &n);

27 OUTROS COMANDOS DE ENTRADA A tabela a seguir exibe outras funções que podem ser utilizadas para entrada de dados, ou seja funções de leitura: Função getchar ( ) getche(),getch() gets ( ) puts ( ) Operação lê um caractere; espera por <enter> lê um caractere ; não espera por <enter> lê uma string via teclado Imprime uma string na tela 27

28 scanf e printf Tabela contendo códigos de formatação para printf e scanf: Código printf scanf %d imprime um inteiro decimal lê um inteiro decimal %f ponto decimal flutuante lê um numero com ponto flutuante %s string de caracteres lê uma string de caracteres %c um único caractere lê um único caractere %p imprime um ponteiro lê um ponteiro %% imprime % na tela 28

29 Linguagem C CONCEITOS BÁSICOS Exemplo de programa que lê e Mostra Idade #include <sdtio.h> #include <conio.h> void main() { clrscr(); int idade; char nome[30]; printf( Digite sua Idade: ); scanf( %d,&idade); printf( Seu Nome: ); scanf( %s,nome); /* Strings não utilizar & na leitura */ printf( %s sua idade e %d anos. \n, nome, idade); } C

30 O tamanho e precisão do campo O tamanho do campo indica quantas posições da saída serão utilizados para exibir o valor correspondente à um especificador de formato. O tamanho do campo é determinado colocando-se um número entre o % e o caracter indicador do formato. Por exemplo, %5d indica que o valor a ser impresso vai ocupa 5 posições na tela. Por padrão, as posições em excesso são preenchidas com brancos e o valor é alinhado à direita do campo. 30

31 O tamanho e precisão do campo Se o tamanho do campo for precedido por um símbolo - (menos), então o valor será alinhado à esquerda do campo. Se o tamanho do campo for precedido com o símbolo 0 (zero), então as posições excedentes são preenchidas com zeros. Sempre que o tamanho do campo for insuficiente para exibir o valor solicitado, este tamanho é ignorado. Desta forma um valor nunca é truncado. 31

32 O tamanho e precisão do campo Para valores em ponto-flutuante, pode-se definir o número de casas decimais a serem impressas, colocando-se o um ponto (.) e outro número depois do tamanho do campo. Por exemplo, o formato %10.2f, exibe o valor em pontoflutuante com duas casas decimais, dentro de um campo de tamanho 10. Se esta mesma lógica for utilizada com strings (formato %s), o valor antes do ponto continua indicando a tamanho do campo, porém a segunda parte limitará o número máximo de caracteres da string a serem impressos. 32

33 CONCEITOS BÁSICOS Controle de fluxo: C provê as construções fundamentais de controle de fluxo necessárias para programas bem estruturados. Tomadas de decisão: if (expr){ } bloco de comandos 1 OU Operador condicional: if(expr) {... } else { condicao? expressao1 : expressao2; bloco de comandos 1 bloco de comandos 2... } ou

34 Controle de fluxo: CONCEITOS BÁSICOS Construções com laços: while (expr) { bloco de comandos } for (expr_inicial; expr_booleana; expr_de_incremento) ou { bloco de comandos }

35 Controle de fluxo: CONCEITOS BÁSICOS Construções com laços: do { bloco de comandos } while (expr_booleana); ou OBS: O bloco de comandos será executado pelo menos uma vez.

36 Controle de fluxo: CONCEITOS BÁSICOS Interrupções com break: Quando utilizado dentro de um laço, interrompe e termina a execução do mesmo. Interrupções com continue: Quando utilizado dentro de um laço, interrompe a execução e passa para a próxima iteração. ou

37 Controle de fluxo: Seleção: CONCEITOS BÁSICOS switch(expr){ case op1: break; case op2: break; default: break; } Inteiro ou uma constante caractere Se break for omitido, a execução do caso continua com os comandos do caso seguinte. ou Executado quando expr for diferente de todos os casos enumerados.

38 CONCEITOS BÁSICOS Exercícios: 1) Implemente um programa que faz a conversão de um valor de temperatura na escala Celsius para a Fahrenheit formula: F = C 1, ) Faça um programa para calcular o Índice de Massa Corporal (IMC) e, com base no resultado, informar a categoria à qual o indivíduo pertence, de acordo com a tabela mostrada abaixo. O IMC é definido como a relação entre o peso e a altura ao quadrado. A altura deve ser dada em metros e o peso em kg. O IMC é calculado de acordo com a fórmula dada a seguir e as categorias são definidas pelos limites abaixo:

39 CONCEITOS BÁSICOS Exercícios: 3) Escreva um programa que faça uma contagem regressiva usando while a partir do número digitado pelo usuário. O programa deve fazer isso enquanto o valor digitado for positivo.

40 CONCEITOS BÁSICOS Exercícios: 4) Escreva um algoritmo em C que determine o conceito da nota do estudante de acordo com seu valor Nota maior ou igual a 90 => A Nota no intervalo de 80 a 89 => B Nota no intervalo de 70 a 79 => C Nota no intervalo de 60 a 69 => D Para as demais notas R

41 CONCEITOS BÁSICOS Funções Funções é o mecanismo adequado para codificar tarefas específicas. Vantagens: Facilita a codificação: codificar diversas funções pequenas é mais fácil que codificar uma única maior. Funções específicas podem ser facilmente reutilizadas em outros códigos. Tipo geral { } tipo_retornado nome_da_função (lista de parâmetros...) corpo da função

42 Funções CONCEITOS BÁSICOS { } tipo_retornado nome_da_função (lista de parâmetros...) corpo da função tipo_retornado = void indica o não retorno de um valor tipo_retornado = int, char, float, retorna um valor do tipo definido tipo_retornado = int*, char*, retorna um ponteiro para int, char, OBS: Funções retornam um único valor!

43 Funções CONCEITOS BÁSICOS tipo_retornado nome_da_função (lista de parâmetros...) { corpo da função } nome_da_função: identificador da função no programa. lista de parâmetros: declarações de variáveis que serão usadas na função. corpo da função: instruções que serão executadas quando a função for chamada.

44 CONCEITOS BÁSICOS Exemplos de funções void imprimemensagem() { printf( Ola Mundo! ); } float calculamedia(float a, float b) { float media = 0; media = (a + b)/2; return media; }

45 CONCEITOS BÁSICOS Funções C exige que se coloque o protótipo da função antes de ela ser chamada. Protótipo: consiste na repetição da linha de sua definição seguida do caractere ;. Não há necessidade de indicar o nome dos parâmetros, só os tipos. A transferência de dados entre funções é feita com o uso de parâmetros e do valor de retorno da função chamada.

46 CONCEITOS BÁSICOS Chamada à função (tipo geral) identificador(listadeargumentos); ATENÇÃO: tipo_retornado definido!

47 ESTRUTURAS DE DADOS Chamada à função (exemplos) imprimemensagem(); float a = 10.5; float b = 13.5; float c; c = calculamedia(a,b); printf("media = %f", calculamedia(10.5, 13.5));

48 ESTRUTURAS DE DADOS Passagem de parâmetros por valor Exemplo: int main(){ float a = 10.5; float b = 3.5; float m = calculamedia(a,b);... } float calculamedia(float c, float d){ float media = 0; media = (c + d)/2; return media; } c = a d = b c a b m d média Escopo: função main Escopo: função média E0 E4 Retorna média calculada E250 E254

49 ESTRUTURAS DE DADOS Exemplo: Cálculo do fatorial #include <stdio.h> int fat(int n){ int f = 1, i; for(i = n; n!=0; n-- ) f*=n; return f; } int main(void) { int n = 5; int r; r = fat(n); printf("fatorial de %d = %d \n", n, r); system("pause"); return 0; } No final da função fat, o parâmetro n tem valor igual a zero. No entanto, a saída do programa será: Fatorial de 5 = 120. O valor da variável n não mudou no programa principal porque o valor de n passado é atribuído ao parâmetro da função chamada.

50 ESTRUTURAS DE DADOS Passagem de parâmetros por valor Uma função pode retornar um tipo de valor para a função que chama. Muitas vezes, é necessário transferir mais do que um valor para a função que chama, e isso não pode ser feito com o retorno explícito de valores. Ex: função que calcula a soma e o produto de dois números.

51 ESTRUTURAS DE DADOS Ponteiros Ponteiros são variáveis que armazenam valores de endereços de memória. Declaração de variável do tipo ponteiro : tipo *nome; tipo: tipo do valor armazenado no endereço de memória nome: identificador do ponteiro Ex: int a; int *p; Variável de nome a que pode armazenar valores inteiros. Automaticamente, reserva-se um espaço na memória suficiente para armazenar valores inteiros. Variável de nome p que pode armazenar endereços de memória em que existe um valor inteiro armazenado.

52 Ponteiros ESTRUTURAS DE DADOS Operador unário * (conteúdo de) Acessa o conteúdo do endereço de memória armazenado pela variável ponteiro. Operador unário & (endereço de) Resulta no endereço da posição da memória reservada para a variável.

53 ESTRUTURAS DE DADOS Ponteiros Exemplos int a; // variável simples int *p; // ponteiro para inteiro Pilha de execução p a - 104

54 Ponteiros Exemplos ESTRUTURAS DE DADOS int a; // variável simples int *p; // ponteiro para inteiro a = 5; p = &a; *p = 6; Pilha de execução Dizemos que p aponta para a, por isso o nome ponteiro. p a

55 ESTRUTURAS DE DADOS Ponteiros Exemplos Outra representação: Podemos desenhar setas, sinalizando que uma variável do tipo ponteiro aponta para uma determinada área de memória, em vez de criar valores fictícios para os endereços de memória. p a Pilha de execução 6

56 Ponteiros int main(){ } int a, b, *p; a = 2; *p = 3; b = a + (*p); printf( %d, b); return 0; ESTRUTURAS DE DADOS Erro: Variável p não inicializada! Só podemos preencher o conteúdo de um ponteiro se ele tiver sido devidamente inicializado (apontar para um espaço de memória para o qual já se prevê o armazenamento de valores do tipo em questão).

57 ESTRUTURAS DE DADOS #include <stdio.h> int main() { int a; // a é um inteiro int *aptr; // aptr é um apontador p/ um inteiro a = 7; aptr = &a; // aptr aponta para o endereço de a printf("o endereço de a : %p \n", &a ); printf("o endereço de a : %p \n", aptr ); printf("o endereço de aptr : %p \n", &aptr); } printf("o valor de a : %d \n", a) ; printf("o valor de a : %d \n", *aptr) ; system("pause"); return 0;

58 ESTRUTURAS DE DADOS Passagem de parâmetros por referência É quando é passado o endereço de uma variável como parâmetro. Se vai passar o endereço de uma variável, deve existir uma variável do tipo ponteiro para recebê-la. Ex: 5) Função para calcular a soma e o produto de dois números. Toda vez que desejarmos alterar um valor de uma variável da função que chama dentro da função chamada, devemos passar o endereço da variável.

59 ESTRUTURAS DE DADOS Passagem de parâmetros por referência Exercício: 6) Implemente uma função para trocar os valores entre duas variáveis dadas. Para que os valores das variáveis da função principal sejam alterados dentro da função auxiliar que faz a troca, precisamos passar para a função os endereços das variáveis.

60 A relação entre ponteiros e arrays Em C++ arrays e ponteiros estão intimamente relacionados e podem ser usados de maneira quase intercambiável. Um nome de array pode ser encarado como um ponteiro constante. Os ponteiros podem ser usados para fazer qualquer operação envolvendo indexação de arrays. Ex: int b[ 5 ]; int *bptr; bptr = b; ou bptr = &b[ 0 ]; // bptr aponta para b[ 0 ]

61 Expressões com ponteiros e aritmética de ponteiros Ponteiros são operandos válidos em expressões aritméticas Porém nem todos os operadores usados nestas expressões são válidos com variáveis do tipo ponteiro Um conjunto limitado de operações pode ser executado com ponteiros Um ponteiro pode ser incrementado (++) Um ponteiro pode ser decrementado (--) Um inteiro pode ser somando a um ponteiro (+ ou +=) Um inteiro pode ser subtraído de um ponteiro (- ou - =) Um ponteiro pode ser subtraído de outro

62 Expressões com ponteiros e aritmética de ponteiros Variável ponteiro vptr podendo ser inicializada como vptr = v; ou vptr = &v [0]; Na aritmética convencional teríamos : = 3002 Na aritmética de ponteiros teremos vptr = vptr + 2; //aqui o ponteiro é incrementado pelo tamanho do objeto inteiro al qual o ponteiro se refere. O número de bytes depende do tipo de dado do objeto O resultado de vptr = vptr + 2; // produziria 3008 ( * 4)

63 Expressões com ponteiros e aritmética de ponteiros Se um ponteiro esta sendo incrementado ou decrementado por um, podem ser usados os operadores de incremento (++) e decremento (- -); Ex: ++vptr ou vptr++ // incrementa o ponteiro para apontar para // a próxima posição do array. Ex: --vptr ou vptr-- // decrementa o ponteiro para apontar para o // elemento precedente do array. Variáveis ponteiros que apontam para o mesmo array podem ser subtraídas umas das outras. Ex: vptr aponta para a posição 3000 e v2ptr aponta para a posição 3008, o comando X = v2ptr vptr; //atribuiria a x o número de elementos de array de //vptr até v2ptr, neste caso 2.

64 #include <stdio.h> void bubblesort( int *array, const int size ); void swap( int* element1ptr, int* element2ptr); int main() { const int arraysize = 10; int a[] = {2,6,4,8,10,12,89,68,45,37}; int i; } bubblesort( a, arraysize ); // sort the array printf("\ndata items in ascending order\n"); for ( i = 0; i < arraysize; i++ ) printf("%5d", a[i]); system("pause"); return 0; void bubblesort( int *array, const int size ) { int pass, j; for(pass = 0; pass < size - 1; pass++) for (j = 0; j < size - 1; j++ ) if ( array[ j ] > array[ j + 1 ] ) swap( &array[ j ], &array[ j + 1 ] ); } void swap(int* element1ptr, int* element2ptr) { int aux; aux = *element1ptr; *element1ptr = *element2ptr; *element2ptr = aux; }

65 Variáveis globais ESTRUTURAS DE DADOS Uma variável global é declarada fora do corpo das funções e é visível a todas as funções subseqüêntes. As variáveis globais não são armazenadas na pilha de execução e existem enquanto o programa estiver sendo executado. O uso de variáveis globais deve ser feito com critério, pois podemos criar um alto grau de interdependência entre as funções.

66 ESTRUTURAS DE DADOS Variáveis estáticas As variáveis estáticas são armazenadas na área de memória estática. As variáveis estáticas continuam existindo mesmo antes ou depois de a função ser executada. Porém, uma variável estática declarada dentro de uma função só é visível dentro dessa função. Uma utilização interessante é quando se necessita recuperar o valor de uma variável atribuída na última vez em que a função foi executada.

67 Variáveis estáticas ESTRUTURAS DE DADOS Ex: Função para imprimir números reais. Ela imprime um número por vez, separando-os por espaço em branco e coloca, no máximo, 5 números por linha. void imprime (float a) { static int n = 1; printf( %f, a); if((n%5) == 0) printf( \n ); } n++;

68 Variáveis estáticas ESTRUTURAS DE DADOS Variáveis globais também podem ser declaradas como estáticas. Nesse caso, não podem ser acessadas por funções definidas em outros arquivos. Funções também podem ser declaradas como estáticas, não podendo ser acessadas por funções definidas em outros arquivos.

69 Exercicios 1) Implemente uma função que retorne a soma dos n primeiros números naturais ímpares. Essa função deve obedecer ao protótipo: int soma_impares (int n); Ex: Para n = 2 soma = = 4. Para n = 3 soma = = 9, etc. 2) Implemente uma função que retorne uma aproximação do valor de pi de acordo com a fórmula de Leibniz: A função deve obedecer ao seguinte protótipo, em que n indica o número de termos que devem ser usados para avaliar o valor de pi: double pi(int n);

70 Exercicios 3) Escreva uma função potencia (base, expoente) que, quando chamada, retorna base^expoente. Por exemplo, potencia (3, 4) = 3 * 3 * 3 * 3. Assuma que expoente é um inteiro maior ou igual a 1. 4) Escreva um programa que lê 10 notas digitadas pelo usuário, armazena estas notas em um arranjo de tamanho 10. Imprime a soma, e a média das notas, a maior e a menor nota. Depois seu programa deve exibir as notas dos alunos em ordem crescente.

71 Exercicios 4 Para cada um dos seguintes itens, escreva um único comando para executar a tarefa indicada. Assuma que as variáveis de ponto flutuante number1 e number2, foram declaradas e que number1 foi inicializado com 7,3. Declare a variável fptr como um ponteiro para um objeto do tipo double. Atribua o endereço da variável number1 a variável ponteiro fptr Imprima o valor do objeto apontado por fptr Atribua o valor do objeto apontado por fptr a variável number2 Imprima o valor de number2 Imprima o endereço de number1 Imprima o endereço armazenado em fptr. O valor impresso é o mesmo que o endereço de number1 (sim/não)

72 Exercicios 5 - Escreva um programa completo em C, que declara um registro Aluno com os seguintes dados (Matricula, Nome, Curso). Implemente o construtor da classe para inicializar os dados. Implemente um método (função) para entrada de dados e um método para impressão de dados. No programa principal declare um vetor para armazenar 10 alunos, implemente um menu com as seguintes opções: 1 Cadastrar Aluno 2 Imprimir listagem de todos os alunos 3 Sair

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

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

Convertendo Algoritmos para a Linguagem C

Convertendo Algoritmos para a Linguagem C onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento

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 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

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

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

O COMPUTADOR. Introdução à Computação

O COMPUTADOR. Introdução à Computação O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:

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

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

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

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para

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

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

Programação: Estruturas de seleção

Programação: Estruturas de seleção Programação de Computadores I Aula 07 Programação: Estruturas de seleção José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/53 Valores booleanos Os valores booleanos

Leia mais

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa

Leia mais

5 Apresentando a linguagem C

5 Apresentando a linguagem C 5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,

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

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

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

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação Lógica de Programação 3. INTRODUÇÃO À LINGUAGEM C Caro Aluno Vamos iniciar o terceiro capítulo da nossa disciplina. Agora vamos começar a aplicar os conceitos vistos nos capítulos anteriores em uma linguagem

Leia mais

LINGUAGEM C. Estrutura básica de um programa

LINGUAGEM C. Estrutura básica de um programa LINGUAGEM C Estrutura básica de um programa Um programa em linguagem C é constituído por uma sequência de funções (módulos) que em conjunto irão permitir resolver o problema proposto. Estas funções contêm

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

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

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

Algoritmo e Técnica de Programação - Linguagem C

Algoritmo e Técnica de Programação - Linguagem C Algoritmo e Técnica de Programação Linguagem C Gilbran Silva de Andrade 5 de junho de 2008 Introdução A liguagem C foi inventada e implementada por Dennis Ritchie em um DEC PDP-11 que utilizava o sistema

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

1 Funções básicas de implementação de arquivos

1 Funções básicas de implementação de arquivos 1 Funções básicas de implementação de arquivos 1.1 Definindo registros Depois de um objeto do mundo real ter sido modelado, ou seja, após seus atributos importantes (e relevantes) terem sido identificados,

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

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

Programando em C++ Histórico da Linguagem C

Programando em C++ Histórico da Linguagem C Programando em C++ Joaquim Quinteiro Uchôa joukim@comp.ufla.br DCC-UFLA, 2002 Programando em C++ p.1/38 Histórico da Linguagem C Linguagem C: 1972 - Laboratório Bells, por Dennis Ritchie, a partir da linguagem

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

Estruturas de Dados. Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos

Estruturas de Dados. Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos Estruturas de Dados Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos Estruturas de Dados Programação de Computadores 1 de 26 Tipos Estruturados de Dados

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

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05 IFTO LÓGICA DE PROGRAMAÇÃO AULA 05 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://lab.ifto.edu.br/~mcampos http://manoelcampos.com

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

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção

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

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

7. Estrutura de Decisão

7. Estrutura de Decisão 7. Estrutura de Decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica. A classificação

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

Programação Estruturada I

Programação Estruturada I Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 thiago.tavares@ifsuldeminas.edu.br 2 mateus.santos@ifsuldeminas.edu.br Última Atualização:

Leia mais

compreender a importância de cada estrutura de controle disponível na Linguagem C;

compreender a importância de cada estrutura de controle disponível na Linguagem C; Aula 3 Estruturas de controle Objetivos Esperamos que, ao final desta aula, você seja capaz de: compreender a importância de cada estrutura de controle disponível na Linguagem C; construir programas em

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

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética 2 PARADIGMA IMPERATIVO 2.1 CONCEITO As linguagens que pertencem ao paradigma imperativo tomam por base a perspectiva da máquina. Ou seja, no modo como o computador executa programas em linguagem de máquina.

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

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA. Representação de Dados Tipos de dados: Caracteres (letras, números n e símbolos). s Lógicos. Inteiros. Ponto flutuante: Notações decimais: BCD. A declaração de uma variável vel define o seu tipo. O tipo

Leia mais

Introdução a Linguagem C

Introdução a Linguagem C Rafael Silva Guimarães =p://=p.ci.ifes.edu.br/informacca/rafael_guimaraes Introdução a Linguagem C Técnicas de Programação Histórico O C é derivado de uma outra linguagem: o B, criado por Ken Thompson.

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

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

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

Estrutura Condicional em Java

Estrutura Condicional em Java Estrutura Condicional em Java Linguagem de Programação 1 O Java contém três tipos de instruções de seleção. A instrução if realiza uma ação se uma condição for verdadeira ou pula a ação se a condição for

Leia mais

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.

Leia mais

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO LÓGICA DE PROGRAMAÇÃO PROFª. M.Sc. JULIANA H Q BENACCHIO Também chamado de estrutura de seleção múltipla (caso). Assim como o if-else, o switch também é uma estrutura de seleção. O if-else realiza o teste

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

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo LTP-IV Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Contato e-mail: slago@ime.usp.br home page: www.ime.usp.br/~slago apostila: Linguagem

Leia mais

Representação de Algoritmos - Linguagens de Programação

Representação de Algoritmos - Linguagens de Programação Representação de Algoritmos - Linguagens de Programação A representação de algoritmos em uma pseudo-linguagem mais próxima às pessoas é bastante útil principalmente quando o problema a ser tratado envolve

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 Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Laboratório de AEDS 1 Aula 01 Linguagens de Programação Cada linguagem de programação obedece

Leia mais

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos LÓGICA DE PROGRAMAÇÃO Vitor Valerio de Souza Campos Exemplos de algoritmos Faça um algoritmo para mostrar o resultado da multiplicação de dois números. Algoritmo em descrição narrativa Passo 1 Receber

Leia mais

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Lógica Aula 2 Técnicas de Programação Criando algoritmos Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Criando

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

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Plano de Aula. if(condição) { bloco de comandos; } else { bloco de comandos2; }

Plano de Aula. if(condição) { bloco de comandos; } else { bloco de comandos2; } Instituto Federal de Santa Catarina - Câmpus Chapecó Ensino Médio Integrado em Informática - Módulo IV Unidade Curricular: Programação Estruturada Professora: Lara Popov Zambiasi Bazzi Oberderfer Plano

Leia mais

Tipo de Dados em Linguagem C

Tipo de Dados em Linguagem C Tipo de Dados em Linguagem C Principais tipos de dados em C int : tipo de dados inteiros (exemplo: 1, -3, 100, -9, 18, etc.) float : tipo de dados reais (exemplo: 1.33, 3.14, 2.00, -9.0, 1.8, etc.) Ocupa

Leia mais

Curso Prático de C++

Curso Prático de C++ Sumário Autor: Prof. Luiz Bianchi Universidade Regional de Blumenau FUNDAMENTOS... 3 Declaração de variáveis... 4 Tipos de dados... 4 Operador de atribuição... 5 Comentários... 5 Tipos modificados... 6

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Prof a.dr a.thatyana de Faria Piola Seraphim (ECO) Prof.Dr.Enzo Seraphim (ECO) Universidade Federal de Itajubá thatyana@unifei.edu.br seraphim@unifei.edu.br Introdução - História A linguagem de programação

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Funções Classes de armazenamento

Leia mais

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO Memória Variáveis e constantes Tipos primitivos de dados Operadores Comandos

Leia mais

Algoritmos e Técnicas de

Algoritmos e Técnicas de INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Algoritmos e Técnicas de Programação Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com. Algoritmos e Programação Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.br 2012 Conteúdo e Objetivos da Aula Introdução a Linguagem C Revisão

Leia mais

Elementos de programação em C

Elementos de programação em C Elementos de programação em C Estruturas condicionais Francisco A. C. Pinheiro, Elementos de Programação em C, Bookman, 2012. Visite os sítios do livro para obter material adicional: www.bookman.com.br

Leia mais

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1 LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano 2012-1 Objetivos Entender o mecanismo de um programa em C/C++ Apresentar e estrutura da Linguagem C/C++

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

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

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

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

Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4

Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4 Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4 WHILE 1. Faça um comando while equivalente ao descrito abaixo (que realize o mesmo tipo de procedimento e obtenha o mesmo

Leia mais

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento FISP 1/6 15 a Aula Subprogramação /Subalgoritmos Função e Procedimento Objetivo: Simplificação e racionalização na elaboração de algoritmos mais complexos Recursos: Estruturação de algoritmos e modularização

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

Introdução à Linguagem C

Introdução à Linguagem C Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Linguagem C: Desenvolvida por Dennis Ritchie nos laboratórios da AT&T Bell (EUA) no início dos anos 70; Algol

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

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

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Cadeias de caracteres (strings) Caracteres Definição e manipulação de strings Vetor de strings Parâmetros

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 4 Entrada e saída 1 Entrada, saída, hãmm? O conceito de entrada e saída já foi utilizado de forma intuitiva nos exemplos das aulas anteriores. Entendemos por entrada qualquer

Leia mais

Linguagens de Programação

Linguagens de Programação 68 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas instruem o computador a realizar

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Linguagem C Funções definidas pelo usuário. Lógica de Programação

Linguagem C Funções definidas pelo usuário. Lógica de Programação Linguagem C Funções definidas pelo usuário Lógica de Programação Caro(a) aluno(a), Trabalharemos agora com as funções criadas por vocês na Linguagem C. Bom trabalho!!! Funções C permite que o programador

Leia mais

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva Algoritmos Estruturas Seqüenciais José Gustavo de Souza Paiva 1 Introdução Objetivo básico da computação auxiliar os seres humanos em trabalhos repetitivos e braçais, diminuindo i i d esforços e economizando

Leia mais

Testando e Comparando Valores

Testando e Comparando Valores Testando e Comparando Valores A Instrução if Um dos recursos mais importantes de uma linguagem de computador é a capacidade de testar e comparar valores, permitindo que seu programa se comporte diferentemente

Leia mais

Linguagem de Programação C

Linguagem de Programação C ICMC USP Linguagem de Programação C Aula: Funções em C Prof Alneu de Andrade Lopes MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente em vários subproblemas MODULARIZAÇÃO

Leia mais

Algumas notas sobre PASCAL

Algumas notas sobre PASCAL Algumas notas sobre PASCAL PARTE I Anjolina Grisi de Oliveira 1 Um programa em PASCAL Esse texto inclui algumas notas sobre a linguagem PASCAL. As diferenças existentes entre os diversos compiladores não

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

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Laboratório de Programação I

Laboratório de Programação I Laboratório de Programação I Estruturas de Controle: Parte I Fabricio Breve Objetivos Entender as técnicas básicas de solução de problemas Desenvolver algoritmos por meio do processo de refinamento top-down

Leia mais

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores Introdução à Programação Armazenamento de Grande Quantidade de Informação Usando Vetores Armazenando Grande Quantidade de Informação Como armazenar tanta informação? Vetores! 2 Tópicos da Aula Hoje, aprenderemos

Leia mais