PROGRAMAÇÃO ESTRUTURADA. CC 2º Período
|
|
- Ronaldo Damásio Fernandes
- 6 Há anos
- Visualizações:
Transcrição
1 PROGRAMAÇÃO ESTRUTURADA CC 2º Período
2 PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem tomados ao se usar ponteiros
3 PONTEIROS
4 PONTEIROS Os ints guardam inteiro. Os floats guardam números de ponto flutuante. Os chars guardam caracteres. Ponteiros guardam endereços de memória.
5 PONTEIROS Quando você anota o endereço de um colega em um pedaço de papel está criando um ponteiro. O ponteiro é este pedaço de papel. Ele tem anotado um endereço.
6 PONTEIROS Qual o sentido disso? Quando você anota o endereço de um colega em um papel, depois você vai usar este endereço para achá-lo.
7 PONTEIROS Na linguagem C funciona assim: Você anota o endereço de algo numa variável ponteiro para depois usar.
8 PONTEIROS Da mesma maneira, uma agenda, onde são guardados endereços de vários amigos, poderia ser vista como sendo uma matriz de ponteiros na linguagem C.
9 PONTEIROS Na linguagem C, quando declaramos ponteiros nós informamos ao compilador para que tipo de variável vamos apontá-lo. Um ponteiro int aponta para um inteiro, isto é, guarda o endereço de um inteiro.
10 DECLARANDO E UTILIZANDO PONTEIROS
11 DECLARANDO E UTILIZANDO PONTEIROS Para declarar um ponteiro, temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variavel;
12 DECLARANDO E UTILIZANDO PONTEIROS tipo_do_ponteiro *nome_da_variavel; É o asterisco (*) que faz o compilador saber que aquela variável não vai guardar um valor mas sim um endereço para aquele tipo especificado.
13 DECLARANDO E UTILIZANDO PONTEIROS tipo_do_ponteiro *nome_da_variavel; É o asterisco (*) que faz o compilador saber que aquela variável não vai guardar um valor mas sim um endereço para aquele tipo especificado. int *pontos; char *nome1, *nome2;
14 DECLARANDO E UTILIZANDO PONTEIROS int *pontos; char *nome1, *nome2; O primeiro exemplo declara um ponteiro para um inteiro. O segundo declara dois ponteiros para caracteres. Eles ainda não foram incivilizados, como toda variável da linguagem C que é apenas declarada.
15 DECLARANDO E UTILIZANDO PONTEIROS int *pontos; char *nome1, *nome2; Isso significa que eles apontam para um lugar indefinido. Este lugar pode estar, por exemplo, na porção da memória reservada ao sistema operacional do computador. Usar o ponteiro nestas circunstâncias pode levar ao travamento do computador, ou algo pior.
16 DECLARANDO E UTILIZANDO PONTEIROS O ponteiro DEVE ser inicializado (apontado para algum lugar conhecido) antes de ser usado.
17 DECLARANDO E UTILIZANDO PONTEIROS Para atribuir um valor a um ponteiro recém criado poderíamos igualá-lo a um valor de memória. Mas como saber a posição na memória de uma variável do nosso programa?
18 DECLARANDO E UTILIZANDO PONTEIROS Seria muito difícil saber o endereço de cada variável que usamos, mesmo porque estes endereços são determinados pelo compilador na hora da compilação e realocados na execução.
19 DECLARANDO E UTILIZANDO PONTEIROS Podemos então deixar que o compilador faça este trabalho por nós. Para saber o endereço de uma variável basta usar o operador &.
20 DECLARANDO E UTILIZANDO PONTEIROS Podemos então deixar que o compilador faça este trabalho por nós. Para saber o endereço de uma variável basta usar o operador &. int contador = 10; int *pontos; pontos = &contador;
21 DECLARANDO E UTILIZANDO PONTEIROS int contador = 10; int *pontos; pontos = &contador; Criamos um inteiro contador com o valor 10 e um apontador para um inteiro pontos. A expressão &contador nos dá o endereço de contador, o qual armazenamos em pontos.
22 DECLARANDO E UTILIZANDO PONTEIROS int contador = 10; int *pontos; pontos = &contador; Como colocamos um endereço em pontos, ele está agora liberado" para ser usado. Podemos, por exemplo, alterar o valor de contador usando pontos.
23 DECLARANDO E UTILIZANDO PONTEIROS int contador = 10; int *pontos; pontos = &contador; Para isso, devemos utilizar o operador inverso" do operador &. No caso, o operador *.
24 DECLARANDO E UTILIZANDO PONTEIROS int contador = 10; int *pontos; pontos = &contador; N o e x e m p l o a c i m a, u m a v e z q u e f i z e m o s pontos=&contador a expressão *pontos é equivalente ao próprio contador. Isto significa que, se quisermos mudar o valor de contador para 12, basta fazer *pontos=12;
25 DECLARANDO E UTILIZANDO PONTEIROS É importante observar que apesar do símbolo ser o mesmo, o operador * (multiplicação) não é o mesmo operador que o * (referência de ponteiros). Para começar o primeiro é binário, e o segundo é unário pré-fixado.
26 DECLARANDO E UTILIZANDO PONTEIROS Crie o programa44.c
27 DECLARANDO E UTILIZANDO PONTEIROS Crie o programa44.c
28 DECLARANDO E UTILIZANDO PONTEIROS Crie o programa44.c
29 DECLARANDO E UTILIZANDO PONTEIROS Crie o programa44.c
30 DECLARANDO E UTILIZANDO PONTEIROS Crie o programa44.c Veja que o código %p fez com que a linguagem C imprimisse o endereço de memória.
31 DECLARANDO E UTILIZANDO PONTEIROS Crie o programa45.c
32 DECLARANDO E UTILIZANDO PONTEIROS Crie o programa45.c
33 DECLARANDO E UTILIZANDO PONTEIROS Crie o programa45.c
34 DECLARANDO E UTILIZANDO PONTEIROS Crie o programa45.c
35 DECLARANDO E UTILIZANDO PONTEIROS Podemos fazer algumas operações aritméticas com ponteiros. A primeira, e mais simples, é igualar dois ponteiros. Se temos dois ponteiros p1 e p2 podemos igualálos fazendo p1=p2.
36 DECLARANDO E UTILIZANDO PONTEIROS p1=p2 Neste caso, estamos fazendo com que p1 aponte para o mesmo lugar que p2.
37 DECLARANDO E UTILIZANDO PONTEIROS Se quisermos que a variável apontada por p1 tenha o mesmo conteúdo da variável apontada por p2 devemos fazer *p1 = *p2;
38 DECLARANDO E UTILIZANDO PONTEIROS Basicamente, depois que se aprende a usar os dois operadores (& e *) fica fácil entender operações com ponteiros.
39 DECLARANDO E UTILIZANDO PONTEIROS As próximas operações, também muito usadas, são o incremento e o decremento. Quando incrementamos um ponteiro ele passa a apontar para o próximo valor do mesmo tipo para o qual o ponteiro aponta.
40 DECLARANDO E UTILIZANDO PONTEIROS Isto é, se temos um ponteiro para um inteiro e o incrementamos ele passa a apontar para o próximo inteiro. Esta é mais uma razão pela qual o compilador precisa saber o tipo de um ponteiro: Se você incrementa um ponteiro char* ele anda 1 byte na memória e se você incrementa um ponteiro double* ele anda 8 bytes na memória.
41 DECLARANDO E UTILIZANDO PONTEIROS O decremento funciona semelhante. Suponho que *p é um ponteiro, as operações são escritas como: p++; p--;
42 DECLARANDO E UTILIZANDO PONTEIROS O decremento funciona semelhante. Suponho que *p é um ponteiro, as operações são escritas como: p++; p--; Devemos lembrar que estamos fazendo operações com ponteiros (memória) e não operações com o conteúdo das variáveis para as quais eles apontam.
43 DECLARANDO E UTILIZANDO PONTEIROS Por exemplo, para incrementar o conteúdo da variável apontada pelo ponteiro p, faz-se: (*p)++;
44 DECLARANDO E UTILIZANDO PONTEIROS Outras operações aritméticas úteis são a soma e subtração de inteiros com ponteiros. Vamos supor que queremos incrementar um ponteiro em 15. p = p + 15; ou p+=15; *memória
45 DECLARANDO E UTILIZANDO PONTEIROS A subtração funciona da mesma maneira.
46 DECLARANDO E UTILIZANDO PONTEIROS As vezes também é útil a comparação entre dois ponteiros. Mas que informação recebemos quando comparamos dois ponteiros?
47 DECLARANDO E UTILIZANDO PONTEIROS Podemos saber se dois ponteiros são iguais ou diferentes (== e!=). No caso de operações do tipo >, <, >= e <= estamos comparando qual ponteiro aponta para uma posição mais alta na memória. Então uma comparação entre ponteiros pode nos dizer qual dos dois está mais adiante na memória.
48 DECLARANDO E UTILIZANDO PONTEIROS A comparação entre dois ponteiros se escreve como a comparação entre outras duas variáveis quaisquer. p1 > p2;
49 DECLARANDO E UTILIZANDO PONTEIROS Há entretanto operações que não podemos efetuar num ponteiro. Não podemos dividir, multiplicar, adicionar dois ponteiros, adicionar ou subtrair floats ou doubles de ponteiros.
50 PONTEIROS E VETORES
51 PONTEIROS E VETORES Ponteiros e vetores têm uma ligação muito forte.
52 PONTEIROS E VETORES Quando declaramos uma matriz da seguinte forma: tipo_da_variável nome_da_variável[tam1][tam2] [tamn];
53 PONTEIROS E VETORES O compilador C calcula o tamanho, em bytes, necessário para armazenar esta matriz. Este tamanho é: tam1 * tam2 * tamn * tamanho_do_tipo O compilador então aloca este número de bytes em um espaço livre de memória. O nome da variável que declaramos é na verdade um ponteiro para o tipo da variável da matriz.
54 PONTEIROS E VETORES Este conceito é fundamental, pois tendo alocado na memória o espaço para a matriz, ele toma o nome da variável, que é um ponteiro, e aponta para o primeiro elemento da matriz.
55 PONTEIROS E VETORES Mas então como é que podemos usar a seguinte notação? nome_da_variável[índice];
56 PONTEIROS E VETORES Mas então como é que podemos usar a seguinte notação? nome_da_variável[índice]; Podemos utilizar a notação acima pois é o mesmo que isso: *(nome_da_variavel+índice)
57 PONTEIROS E VETORES Com isso podemos entender como é que funciona um vetor. Fica claro, por exemplo, porque é que, na linguagem C, a indexação começa com zero. É porque, ao pegarmos o valor do primeiro elemento de um vetor, queremos, de fato, *nome_da_variável e então devemos ter um índice igual a zero. *nome_da_variável equivale a nome_da_variável[0]
58 PONTEIROS E VETORES Crie o programa46.c
59 PONTEIROS E VETORES Crie o programa46.c
60 PONTEIROS E VETORES Crie o programa46.c
61 PONTEIROS E VETORES Crie o programa46.c
62 PONTEIROS E VETORES Apesar de na maioria dos casos não fazer muito sentido, poderíamos ter índices negativos. Estaríamos pegando posições de memória antes do vetor. Isso explica porque a linguagem C não verifica a validade dos índices. Ela não sabe o tamanho do vetor. Ela apenas aloca a memória, ajusta o ponteiro do nome do vetor para o início do mesmo, e, quando usamos os índices, encontra os elementos requisitados.
63 PONTEIROS E VETORES Há uma diferença entre nome de um vetor e um ponteiro que deve ser frisada: Um ponteiro é uma variável, mas o nome de um vetor não é uma variável. Isso significa, que não se consegue alterar o endereço que é apontado pelo nome do vetor. Por exemplo: int vetor[10]; int *ponteiro, i; ponteiro = &i;
64 PONTEIROS E VETORES Isso significa, que não se consegue alterar o endereço que é apontado pelo nome do vetor. Por exemplo: int vetor[10]; int *ponteiro, i; ponteiro = &i; /* Operações inválidas */ vetor = vetor + 2; //vetor não é variável vetor++; //vetor não é variável vetor = ponteiro; //vetor não é variável
65 PONTEIROS E VETORES /* Operações inválidas */ vetor = vetor + 2; //vetor não é variável vetor++; //vetor não é variável vetor = ponteiro; //vetor não é variável /* Operações válidas */ ponteiro = vetor; //ponteiro é variável ponteiro = vetor +2; //ponteiro é variável
66 PONTEIROS E VETORES Sabemos agora que, na verdade, o nome de um vetor é um ponteiro constante. Sabemos também que podemos indexar o nome de um vetor. Como consequência podemos também indexar um ponteiro qualquer.
67 PONTEIROS E VETORES Crie o programa47.c
68 PONTEIROS E VETORES Crie o programa47.c
69 PONTEIROS E VETORES Crie o programa47.c
70 PONTEIROS E VETORES Crie o programa47.c Podemos ver que p[2] equivale a *(p+2)
71 PONTEIROS E VETORES - Strings Seguindo o raciocínio, nomes de strings, são do tipo char*. Isto nos permite escrever a nossa própria função strcpy() que funcionará de forma semelhante a função strcpy() da biblioteca string.h
72 PONTEIROS E VETORES Crie o programa48.c
73 PONTEIROS E VETORES
74 PONTEIROS E VETORES
75 PONTEIROS E VETORES Vimos no exercício anterior que podemos passar ponteiros como argumento de funções. É assim que as funções gets() e strcpy() funcionam.
76 PONTEIROS E VETORES - Vetores de ponteiros Podemos construir vetores de ponteiros como declaramos vetores de qualquer outro tipo. Uma declaração válida poderia ser: int *pmatrix[10]; No exemplo acima, pmatrix é um vetor que armazena 10 ponteiros do tipo inteiro.
77 INICIALIZANDO PONTEIROS
78 INICIALIZANDO PONTEIROS Podemos inicializar um ponteiro conforme abaixo: char *string = String constante ; Devemos ter cuidado ao usar este ponteiro. Se o alterarmos vamos perder a string. Se usarmos para alterar a string podemos corromper o banco de strings que o compilador criou.
79 PONTEIROS PARA PONTEIROS
80 PONTEIROS PARA PONTEIROS Um ponteiro para um ponteiro é como se você anotasse o endereço de um papel que tem o endereço da casa do seu amigo. Podemos declarar um ponteiro para um ponteiro com a seguinte notação: tipo_da_variável **nome_da_variável;
81 PONTEIROS PARA PONTEIROS Na linguagem C podemos declarar ponteiros para ponteiros de ponteiros para ponteiros
82 PONTEIROS PARA PONTEIROS Crie o programa49.c
83 PONTEIROS PARA PONTEIROS Crie o programa49.c
84 PONTEIROS PARA PONTEIROS Crie o programa49.c
85 CUIDADOS A SEREM TOMADOS AO SE USAR PONTEIROS
86 CUIDADOS A SEREM TOMADOS AO SE USAR PONTEIROS O principal cuidado ao se usar um ponteiro deve ser: Saiba sempre para onde o ponteiro está apontando. Isto inclui: Nunca use um ponteiro que não foi inicializado.
87 CUIDADOS A SEREM TOMADOS AO SE USAR PONTEIROS Exemplo de como NÃO usar um ponteiro:
88 CUIDADOS A SEREM TOMADOS AO SE USAR PONTEIROS Exemplo de como NÃO usar um ponteiro: O programa acima compilará e rodará. Mas o que acontecerá? Ninguém sabe.
89 CUIDADOS A SEREM TOMADOS AO SE USAR PONTEIROS Exemplo de como NÃO usar um ponteiro: O ponteiro p pode estar apontando para qualquer lugar. Você estará gravando o número 13 em um lugar desconhecido.
90 CUIDADOS A SEREM TOMADOS AO SE USAR PONTEIROS Exemplo de como NÃO usar um ponteiro: Com um número apenas não haverá nenhum problema. Com vários, coisas ruins podem acontecer.
91 PROGRAMAÇÃO ESTRUTURADA Dúvidas? Prof. Diemesleno Souza Carvalho
92 CUIDADOS A SEREM TOMADOS AO SE USAR PONTEIROS Exercício:
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:
PROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor
20 Caracteres - Tipo char
0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,
Curso de C para Engenharias
Aula 4 Cristiano Dalbem Dennis Balreira Gabriel Moreira Miller Biazus Raphael Lupchinski Universidade Federal do Rio Grande do Sul Instituto de Informática Grupo PET Computação Sintaxe Funções Exemplos
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
CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES
CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:
Resumo da Matéria de Linguagem de Programação. Linguagem C
Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis
Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos
Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.
Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões
Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal
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
Programação de Computadores I. Ponteiros
Ponteiros Prof. Edwar Saliba Júnior Outubro de 2012 Unidade 13 Ponteiros 1 Identificadores e Endereços Na linguagem C, uma declaração de variável faz associação entre um identificador e endereços de memória;
Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos
TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br
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
Programação 1. Rafael Vargas Mesquita. http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/rafael/
Programação 1 Rafael Vargas Mesquita http://www.ci.ifes.edu.br ftp://ftp.ci.ifes.edu.br/informatica/rafael/ Definição de Matriz Definição: é um conjunto de espaços de memória referenciados por um mesmo
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...
MC-102 Aula 17 Strings e Matrizes
MC-102 Aula 17 Strings e Matrizes Instituto de Computação Unicamp 5 de Maio de 2015 Roteiro 1 Strings Strings: Exemplos 2 Matrizes Exemplos com Matrizes 3 Exercícios (Instituto de Computação Unicamp) MC-102
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE. Prof. Dr. Daniel Caetano 2012-1
ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS DE NUMERAÇÃO: REPRESENTAÇÃO EM PONTO FLUTUANTE Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é notação em ponto flutuante Compreender a
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:
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
13 Números Reais - Tipo float
13 Números Reais - Tipo float Ronaldo F. Hashimoto e Carlos H. Morimoto Até omomentonoslimitamosaouso do tipo inteiro para variáveis e expressões aritméticas. Vamos introduzir agora o tipo real. Ao final
Aula 2 Modelo Simplificado de Computador
Aula 2 Modelo Simplificado de Computador Um computador pode ser esquematizado de maneira bastante simplificada da seguinte forma: Modelo Simplificado de Computador: Memória Dispositivo de Entrada Processador
Exercícios Teóricos Resolvidos
Universidade Federal de Minas Gerais Instituto de Ciências Exatas Departamento de Matemática Exercícios Teóricos Resolvidos O propósito deste texto é tentar mostrar aos alunos várias maneiras de raciocinar
Programação de Computadores I. Linguagem C Vetores
Linguagem C Vetores Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 08 Vetores 1 Vetores Sintaxe: tipo_variável nome_vetor[tamanho]; Um vetor é uma variável que possui várias ocorrências de um mesmo
Implementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
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:...
Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.
Linguagem e Técnicas de Programação I Operadores, expressões e funções Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Operadores básicos Toda linguagem de programação, existem
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
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
ALGORITMOS E PROGRAMAÇÃO PARA COMPUTADORES II
1 Disciplina: ALGORITMOS E PROGRAMAÇÃO PARA COMPUTADORES II Faculdade de Análise de Sistemas Práticas de Laboratório 1- Cronograma Previsto (este cronograma pode sofrer alterações em decorrência de ajustes
Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação
FaculdadedeCiências UniversidadeAgostinhoNeto DepartamentodeMatemáticaeEngenhariaGeográfica CiênciasdaComputação ProgramaçãoII SegundaParte Adaptado de um original dos docentes de ISCTE Objectivos Os alunos
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
2. Representação Numérica
2. Representação Numérica 2.1 Introdução A fim se realizarmos de maneira prática qualquer operação com números, nós precisamos representa-los em uma determinada base numérica. O que isso significa? Vamos
5 Equacionando os problemas
A UA UL LA Equacionando os problemas Introdução Nossa aula começará com um quebra- cabeça de mesa de bar - para você tentar resolver agora. Observe esta figura feita com palitos de fósforo. Mova de lugar
Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis
1. TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem ser classificadas em dois tipos: As instruções, que
ALGORITMOS PARTE 01. Fabricio de Sousa Pinto
ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3
ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++
Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Belo Horizonte 2009 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4
Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle
Disciplina: TCC-00.7 Prog. de Computadores III Professor: Leandro Augusto Frata Fernandes Turma: A- Data: / / Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle. Construa um algoritmo
REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade
REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização
Tutorial de Matlab Francesco Franco
Tutorial de Matlab Francesco Franco Matlab é um pacote de software que facilita a inserção de matrizes e vetores, além de facilitar a manipulação deles. A interface segue uma linguagem que é projetada
INF 1005 Programação I
INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou
É o asterisco (*) que faz o compilador saber que aquela variável não vai guardar um valor e sim um endereço para aquele tipo especificado.
UDESC Joinville Departamento de Ciência da Computação Ponteiros Os ints guardam inteiros. Os floats guardam números de ponto flutuante. Os chars guardam caracteres. Ponteiros guardam endereços de memória.
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES
LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o funcionamento do computador Apresentar a função da memória e dos dispositivos
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,
Dadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Um jogo de preencher casas
Um jogo de preencher casas 12 de Janeiro de 2015 Resumo Objetivos principais da aula de hoje: resolver um jogo com a ajuda de problemas de divisibilidade. Descrevemos nestas notas um jogo que estudamos
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
JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.
JavaScript JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos. Pode ser usada dentro do próprio arquivo HTML ou estruturada em um
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
Unidade 5: Sistemas de Representação
Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação
3 Classes e instanciação de objectos (em Java)
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
Computadores XXI: Busca e execução Final
Computadores XXI: Busca e execução Final A6 Texto 6 http://www.bpiropo.com.br/fpc20060123.htm Sítio Fórum PCs /Colunas Coluna: B. Piropo Publicada em 23/01/2006 Autor: B.Piropo Na coluna anterior, < http://www.forumpcs.com.br/viewtopic.php?t=146019
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
Aulas de PHP Criptografia com Cifra de César. Paulo Marcos Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br
Aulas de PHP Criptografia com Cifra de César Paulo Marcos Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Cifra de César com ISO-8859-1 A cifra de Cesar existe há mais de 2000 anos. É
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...
REVISÃO E AVALIAÇÃO DA MATEMÁTICA
2 Aula 45 REVISÃO E AVALIAÇÃO DA 3 Vídeo Arredondamento de números. 4 Arredondamento de números Muitas situações cotidianas envolvendo valores destinados à contagem, podem ser facilitadas utilizando o
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,
Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.
Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Tipos de dados Os programas manipulam dados, armazenando-os
Prof. Yandre Maldonado - 1 PONTEIROS. Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado - 1 PONTEIROS Prof. Yandre Maldonado e Gomes da Costa PONTEIROS Prof. Yandre Maldonado - 2 Ponteiro é uma variável que possui o endereço de outra variável; É um poderoso recurso
SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2
SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2 1.1 Introdução... 2 1.2 Estrutura do IP... 3 1.3 Tipos de IP... 3 1.4 Classes de IP... 4 1.5 Máscara de Sub-Rede... 6 1.6 Atribuindo um IP ao computador... 7 2
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
Sistemas de numeração
E Sistemas de numeração Aqui estão apenas números ratificados. William Shakespeare A natureza tem algum tipo de sistema de coordenadas geométrico-aritmético, porque a natureza tem todos os tipos de modelos.
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA: PROGRAMAÇÃO ORIENTADA A OBJETOS PROFESSOR: REINALDO GOMES ASSUNTO: REVISÃO DA INTRODUÇÃO A ORIENTAÇÃO
Notas de Cálculo Numérico
Notas de Cálculo Numérico Túlio Carvalho 6 de novembro de 2002 2 Cálculo Numérico Capítulo 1 Elementos sobre erros numéricos Neste primeiro capítulo, vamos falar de uma limitação importante do cálculo
Declarando e Utilizando Ponteiros. Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável;
Declarando e Utilizando Ponteiros Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável; É o asterisco (*) que faz o compilador saber que aquela variável não vai guardar
Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>
Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras
LÓGICA DE PROGRAMAÇÃO
Todos direitos reservados. Proibida a reprodução, mesmo parcial, por qualquer processo mecânico, eletrônico, reprográfico, etc., sem a autorização, por escrito, do(s) autor(es) e da editora. LÓGICA DE
Introdução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Comandos Sequenciais if else, e Switch
Introdução à Programação Comandos Sequenciais if else, e Switch 1º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv) O computador pensa? Muitas vezes utiliza-se a
Algoritmos em Javascript
Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays
Endereçamento IP 09/05/2014. Endereçamento IP CLASSE B CLASSE A CLASSE A CLASSE C
Endereçamento IP Endereçamento IP Prof. Marcel Santos Silva marcel@magres.com.br É uma sequência de números composta de 32 bits. Esse valor consiste num conjunto de quatro grupos de 8 bits. Cada conjunto
ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS
ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS Compilação dos erros mais comuns cometidos por estudantes de Introdução a Algoritmos Marcos Portnoi Edição 19.4.2007 Universidade Salvador UNIFACS
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
Aritmética Binária e. Bernardo Nunes Gonçalves
Aritmética Binária e Complemento a Base Bernardo Nunes Gonçalves Sumário Soma e multiplicação binária Subtração e divisão binária Representação com sinal Sinal e magnitude Complemento a base. Adição binária
INTRODUÇÃO AO JAVA PARA PROGRAMADORES C
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada
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,
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
Sistemas Operacionais e Introdução à Programação. Programação com linguagem C
Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Variáveis na linguagem C: tipo char O tipo char representa um caractere ASCII (ocupa só 1 byte) int main(int argc, char **
Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante
Cálculo Numérico Aula : Computação numérica. Tipos de Erros. Aritmética de ponto flutuante Computação Numérica - O que é Cálculo Numérico? Cálculo numérico é uma metodologia para resolver problemas matemáticos
1. Introdução ao uso da calculadora
1. Introdução ao uso da calculadora O uso da calculadora científica no curso de Estatística é fundamental pois será necessário o cálculo de diversas fórmulas com operações que uma calculadora com apenas
Aula 4 Estatística Conceitos básicos
Aula 4 Estatística Conceitos básicos Plano de Aula Amostra e universo Média Variância / desvio-padrão / erro-padrão Intervalo de confiança Teste de hipótese Amostra e Universo A estatística nos ajuda a
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
2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Algoritmos e Programação _ Departamento de Informática
5 TIPOS DE DADOS Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. De um modo geral estas informações podem ser classificadas em dois tipos:
Registros. Técnicas de Programação. Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes
Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes Registros Técnicas de Programação Baseado no material do Prof. Rafael Vargas Mesquita Conceito de Registro (Struct) Vetores e Matrizes
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C
Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Belo Horizonte 2010 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4 3.1 Strings
Informática no Ensino de Matemática Prof. José Carlos de Souza Junior
Informática no Ensino de Matemática Prof. José Carlos de Souza Junior http://www.unifal-mg.edu.br/matematica/?q=disc jc Aula 02 ATIVIDADE 01 Para poupar esforço de digitação, você pode usar o tradicional
Programa ConsoleRPN. PUC-Rio CIV 2802 - Sistemas Gráficos para Engenharia Luiz Fernando Martha & André Maués Brabo Pereira
Programa ConsoleRPN Programa criado com o Visual Studio Community 2013 para efetuar operações algébricas entre números, uma calculadora funcionando com console usando RPN PUC-Rio CIV 2802 - Sistemas Gráficos
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
PROGRAMAÇÃO DE COMPUTADORES (Teoria)
PC PROGRAMAÇÃO DE COMPUTADORES (Teoria) Aula 01 Prof. Ricardo Veras (prof.rveras@gmail.com) ALGORITMOS "Seqüência ordenada de passos, que deve ser seguida para a realização de um tarefa" "Algoritmo é um
CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão
CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 Introdução a linguagem C Estruturas de decisão Introdução à Linguagem C Linguagem compilada. Desenvolvida sobre os paradigmas de programação procedural. Uma das linguagens
Gerenciamento de Clientes
Programação Orientada a Objetos Gerência de Objetos por Outro Objeto Programação de Computadores II Professor: Edwar Saliba Júnior Gerenciamento de Clientes Neste exemplo, veremos de forma bem simples
Bruno Jurkovski Lucas Fialho Zawacki. Site do curso: www.inf.ufrgs.br/pet/cursos/ruby
Bruno Jurkovski Lucas Fialho Zawacki Site do curso: www.inf.ufrgs.br/pet/cursos/ruby Recapitulando... Escopos Constantes Tipagem Métodos Input Estruturas de Controle e Repetição Classes Nativas Blocos
Noções sobre Objetos e Classes
Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão
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
PC Fundamentos Revisão 4
exatasfepi.com.br PC Fundamentos Revisão 4 André Luís Duarte...mas os que esperam no Senhor renovarão as suas forças; subirão com asas como águias; correrão, e não se cansarão; andarão, e não se fatigarão.is