FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO

Documentos relacionados
Aula 3 Conceitos de memória, variáveis e constantes Cleverton Hentz

Capítulo 1 Conceitos Básicos

Introdução à programação em PASCAL. Aula de 22/10/2001. Nota: Conjunto de slides baseados nas transparências utilizadas em PEDA em anos anteriores

Introdução à Ciência da Computação

ALGORITMOS 3ª Aula. 3. Introdução Tipos de dados, variáveis e operadores Tipos de dados

Algoritmos e Estrutura de Dados I Conceitos de Algoritmos. Prof. Elyssandro Piffer

ALGORITMOS E ESTRUTURA DE DADOS

ALOCAÇÃO DINÂMICA DE MEMÓRIA

LÓGICA DE PROGRAMAÇÃO. Algoritmos Computacionais. Sérgio Carlos Portari Júnior

4 Variáveis. Unesp Campus de Guaratinguetá

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

Universidade Federal de Uberlândia Faculdade de Computação. Conceitos básicos de algoritmos Prof. Renato Pimentel. Computação

Pseudocódigo e Visualg

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

Linguagem Pascal. Prof. Antonio Almeida de Barros Junior

Algoritmos e Técnicas de Programação

AULA TEÓRICA 3 Tema 2. Introdução a programação em Java (JVM, JDK)

Introdução aos Algoritmos

Paradigmas de Linguagens

ALGORITMOS VARIÁVEIS E OPERADORES. Prof. Angelo Augusto Frozza, M.Sc.

Projeto de Algoritmos

Algoritmos: Conceitos Fundamentais. Slides de autoria de Rosely Sanches e Simone Senger de Souza

Programação Introdução

Introdução aos Algoritmos

Professora Martha Spalenza Professora de Informática da Faetec

Linguagem Pascal. Prof. Sérgio Rodrigues. É a descrição, de forma lógica, dos passos a serem executados no cumprimento de determinada tarefa;

3. Tipos de dados e variáveis

Fundamentos de Algoritmos (5175/31)

Laboratório de Programação II

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

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

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)

Variáveis. Lógica de Programação. Prof. Kleber Rezende

08/05/2012. Tipos de dados. Tipos de dados. Elementos Básicos. Tipos de dados. Elementos Básicos Tipos de dados. Dados e seus tipos:

Organização de programas em Pascal

Introdução à Programação

Programação de Computadores I. Professor Ilaim Costa Junior

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

ORGANIZAÇÃO DE COMPUTADORES

Pascal. -Cabeçalho do programa. - label - const - type - var - procedure - function. - integer - real - byte - boolean - char - string

Introdução a Programação de Jogos

APÊNDICE A - FUNDAMENTOS DA LINGUAGEM DE PROGRAMAÇÃO PASCAL.

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

SEBENTA INTRODUÇÃO Á ALGORITMIA

Introdução à Ciência da Computação

LÓGICA DE PROGRAMAÇÃO

TÉCNICO EM MANUTENÇÃO E SUPORTE EM INFORMÁTICA FORMA SUBSEQUENTE. Professora: Isabela C. Damke

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Conceitos Básicos de Algoritmos

I - CONCEITOS INICIAIS

Lógica de Programação I. Gilson de Souza Carvalho

Tipos de Dados, Variáveis e Entrada e Saída em C. DCC 120 Laboratório de Programação

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

I1, I2 e In são instruções simples ou estruturadas da linguagem Pascal.

Introdução à Programação de Computadores Fabricação Mecânica

ESTRUTURA DE DADOS I AULA I

Introdução à Informática

TÉCNICO DE INFORMÁTICA - SISTEMAS

Linguagem C: Introdução

Algoritmos. Conceitos e Comandos

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Algoritmos: Conceitos Fundamentais. Baseado nos slides de autoria de Rosely Sanches e Simone Senger de Souza

Pseudolinguagem. BC0501 Linguagens de Programação t2 Aula 11. Prof. Alysson Ferrari ufabc.edu.br

Aula 03 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

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

UNISINOS - UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Programação Estruturada Aula VisualG

O AMBIENTE DE PROGRAMAÇÃO VISUAL -PLANO DE ENSINO. Prof. Angelo Augusto Frozza, M.Sc.

- Aula 01, 02, 03 e 04 Apresentação da disciplina.

Algoritmos II prof. Daniel Oliveira

Fluxogramas e variáveis

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

3. Linguagem de Programação C

Fundamentos de TI. Aula07_Representação de dados pelo Computador.doc 1

Linguagem de Programação Pascal - Introdução

Programação científica C++

Exercícios. Resposta: a) var valor: real; i: integer. b)

Algoritmo e Programação Matemática

Transcrição:

FERRAMENTAS BÁSICAS DA PROGRAMAÇÃO

VARIÁVEIS E O COMANDO DE ATRIBUIÇÃO

O computador possui uma área específica de armazenamento denominada de memória.

O computador possui uma área específica de armazenamento denominada de memória. Todas as informações existentes no computador estão ou na memória principal (também chamada primária) ou na memória secundária (discos, fitas, CD-ROM etc).

O computador possui uma área específica de armazenamento denominada de memória. Todas as informações existentes no computador estão ou na memória principal (também chamada primária) ou na memória secundária (discos, fitas, CD-ROM etc). Memória principal: volátil (dados se perdem ao se desligar o computador) Memória secundária (ou auxiliar): não volátil (persistência de dados)

Vejamos como um programa armazena informações na memória principal ou RAM (Ramdom Access Memory - memória de acesso aleatório ).

Vejamos como um programa armazena informações na memória principal ou RAM (Ramdom Access Memory - memória de acesso aleatório ). A memória do computador pode ser entendida metaforicamente como um conjunto de caixas (de tamanhos variados), que num certo momento, guardam algum tipo de dado, como um número inteiro ou real, uma letra, uma palavra, uma frase etc.

O sistema computacional gerencia esse armazenamento através de endereços de memória: números, que indicam onde cada informação está localizada. Tipicamente esses endereços possui uma representação hexadecimal (base 16).

Com a evolução das linguagens de programação surgiram formas mais simples de referência às posições de memória:

Com a evolução das linguagens de programação surgiram formas mais simples de referência às posições de memória: AS VARIÁVEIS São posições de memória às quais são associados nomes.

Com a evolução das linguagens de programação surgiram formas mais simples de referência às posições de memória: AS VARIÁVEIS São posições de memória às quais são associados nomes. Com este recurso, os programadores ficam livres dos endereços físicos e podem trabalhar com referências lógicas.

Com a evolução das linguagens de programação surgiram formas mais simples de referência às posições de memória: AS VARIÁVEIS São posições de memória às quais são associados nomes. Com este recurso, os programadores ficam livres dos endereços físicos e podem trabalhar com referências lógicas. Representação esquemática: 18 Idade

O conteúdo ou valor dessas caixas (variáveis) é algo dinâmico:...a variável Idade em dado momento contém o valor 18, mas em um outro momento, poderá guardar outro valor qualquer (dentro dos valores permitidos pelo tipo de dados definido).

O conteúdo ou valor dessas caixas (variáveis) é algo dinâmico:...a variável Idade em dado momento contém o valor 18, mas em um outro momento, poderá guardar outro valor qualquer (dentro dos valores permitidos pelo tipo de dados definido). OBS: a metáfora de caixas é apenas uma representação esquemática, que aqui nos interessa didaticamente. O estudo mais preciso sobre memória e variáveis é feito na disciplina Organização de Computadores, dentre outras.

Formação do nome (identificador) de variáveis O nome de uma variável é formado por uma letra ou então por uma letra seguida por uma seqüência de letras ou dígitos numéricos.

Formação do nome (identificador) de variáveis O nome de uma variável é formado por uma letra ou então por uma letra seguida por uma seqüência de letras ou dígitos numéricos. Não é permitido o uso do espaço em branco nem do hífen ( - ). É possível ainda empregar (inclusive no início) o traço inferior ( _ ).

Nomes válidos para variáveis: Num N1, N2, N3 MedArit, MedGeom med_geom NOME, Nome, nome

Nomes inválidos: 4N (começa com dígito numérico...) Med Geom (emprega espaço...) Med-Arit (emprega um hífen...)

Embora o nome da variável seja uma livre escolha do programador, é importante que sejam escolhidos nome significativos, ou seja, que já forneçam uma idéia ou sugestão do conteúdo daquela variável. Isto contriui para uma importante qualidade dos programas:

Embora o nome da variável seja uma livre escolha do programador, é importante que sejam escolhidos nome significativos, ou seja, que já forneçam uma idéia ou sugestão do conteúdo daquela variável. Isto contriui para uma importante qualidade dos programas: LEGIBILIDADE

É muito comum, como já mostrado nos exemplos anteriores, o destaque em maiúsculas das iniciais das palavras compostas: MedArit, MedGeom

É muito comum, como já mostrado nos exemplos anteriores, o destaque em maiúsculas das iniciais das palavras compostas: MedArit, MedGeom Já variáveis escritas todas em maiúsculas, típicas de editores antigos, hoje têm uso mais restrito (por exemplo, identificação de constantes). IDADE, ALTURA

O comando de atribuição Comando empregado, para se armazenar certo valor em uma variável.

O comando de atribuição Comando empregado, para se armazenar certo valor em uma variável. Em pseudocódigo, emprega-se o símbolo para indicar uma atribuição. As linguagens de programação empregam outros símbolos. Ex:

O comando de atribuição Comando empregado, para se armazenar certo valor em uma variável. Em pseudocódigo, emprega-se o símbolo para indicar uma atribuição. As linguagens de programação empregam outros símbolos. Ex: pseudocódigo Pascal C ou Java Idade 25; Idade := 25; Idade = 25; Peso 62; Peso := 62; Peso = 62;

Efeito da execução:... Idade := 25; Idade := Idade+1; Idade := 10;... Idade

Efeito da execução:... Idade := 25; Idade := Idade+1; Idade := 10;... 25 Idade

Efeito da execução:... Idade := 25; Idade := Idade+1; Idade := 10;... 25 Idade Note que o próprio conteúdo da variável será usado para o cálculo do seu novo valor...

Efeito da execução:... Idade := 25; Idade := Idade+1; Idade := 10;... 26 Idade

Efeito da execução:... Idade := 25; Idade := Idade+1; Idade := 10;... 10 Idade

Efeito da execução:... Idade := 25; Idade := Idade+1; Idade := 10;... 10 Idade...já neste caso, o valor antigo foi completamente descartado.

Utilidade da atribuição: Em geral, os valores armazenados ficarão disponíveis para futura recuperação...

Utilidade da atribuição:... Idade := 25; Idade := Idade+1; Idade := 10;... if Idade > 20 then writeln('a idade...'); Dobro := 2*Idade; writeln(idade);... 10 Idade

GENERALIDADE Observe que o uso de variáveis possibilita a construção de programas genéricos, isto é, capazes de resolver uma certa classe de problemas e não apenas um caso particular desse problema.

GENERALIDADE Observe que o uso de variáveis possibilita a construção de programas genéricos, isto é, capazes de resolver uma certa classe de problemas e não apenas um caso particular desse problema. Pode ser muito útil, por exemplo, um programa que calcule o volume de uma esfera de raio R (que assumirá diferentes valores).

GENERALIDADE Observe que o uso de variáveis possibilita a construção de programas genéricos, isto é, capazes de resolver uma certa classe de problemas e não apenas um caso particular desse problema. Pode ser muito útil, por exemplo, um programa que calcule o volume de uma esfera de raio R (que assumirá diferentes valores)....o mesmo não se pode dizer de um programa que calcule o volume de uma esfera de raio igual a 5!

Tipos de dados Observe os comandos abaixo: Idade := 25; Peso := 60.5;

Tipos de dados Observe os comandos abaixo: Idade := 25; Peso := 60.5; A variável Idade assumirá valores inteiros dentro de certa faixa. Já Peso poderá assumir valores fracionários.

Tipos de dados Observe os comandos abaixo: Idade := 25; Peso := 60.5; A variável Idade assumirá valores inteiros dentro de certa faixa. Já Peso poderá assumir valores fracionários. Assim, essas variáveis serão diferentes em termos de tamanho (em bytes) e também terão estruturas diferentes. Isso leva ao conceito de tipos de dados.

Os tipos de dados determinam principalmente: o conjunto de valores que certa variável pode assumir; as operações válidas para esses valores.

Os tipos de dados determinam principalmente: o conjunto de valores que certa variável pode assumir; as operações válidas para esses valores. A maioria das LP exigem que qualquer variável a ser empregada em um programa seja antes declarada. Ex: var Raio : real; Idade: integer; Palavra: string[6];

Os tipos de dados determinam principalmente: o conjunto de valores que certa variável pode assumir; as operações válidas para esses valores. A maioria das LP exigem que qualquer variável a ser empregada em um programa seja antes declarada. Ex: var Raio : real; Idade: integer; Palavra: string[6]; Obs: o tipo string permite o armazenamento de cadeias de caracteres (nomes de pessoas, endereços, etc). A declaração acima, por exemplo, especifica um tamanho máximo de 6.

Obs.: Os identificadores (nomes) dados às variáveis devem ser únicos. Não podem coincidir com nomes de outras variáveis, nem com palavras reservadas do Pascal, tais como program, begin, end, etc

Obs.: Os identificadores (nomes) dados às variáveis devem ser únicos. Não podem coincidir com nomes de outras variáveis, nem com palavras reservadas do Pascal, tais como program, begin, end, etc var nome : string[40]; end: string[45]; peso: real;...o compilador acusará um erro na segunda linha.

Obs.: Os identificadores (nomes) dados às variáveis devem ser únicos. Não podem coincidir com nomes de outras variáveis, nem com palavras reservadas do Pascal, tais como program, begin, end, etc var nome : string[40]; ender: string[45]; peso: real;...agora tudo certo!

As linguagens em geral oferecem um amplo repertório de tipos de dados. Só para valores inteiros, há vários tipos de dados, a depender da faixa de valores, ou na necessidade ou não de armazenar números negativos. Exemplos em Pascal: shortint: inteiros na faixa -128..127 byte: inteiros na faixa 0..255 integer: inteiros na faixa -32768..32767 word: inteiros na faixa 0..65535 longint: inteiros na faixa -2147483648..2147483647

Qual a razão dessas faixas de valores? Lembre-se de que o maior número de informações que podemos armazenar com n bits é...

Qual a razão dessas faixas de valores? Lembre-se de que o maior número de informações que podemos armazenar com n bits é... Para 1 bit: Para 2 bits Para 3 bits 0 e 1 (2 combinações) 00,01,10,11 (4 combinações) 000,001,010,011,100, 101,110,111 (8 combinações)

Qual a razão dessas faixas de valores? Lembre-se de que o maior número de informações que podemos armazenar com n bits é... Para 1 bit: Para 2 bits Para 3 bits 0 e 1 (2 combinações) 00,01,10,11 (4 combinações) 000,001,010,011,100, 101,110,111 (8 combinações)...ou seja: para n bits, 2 n informaçoes diferentes podem ser armazenadas.

Assim, para o tipo byte... Como se emprega um byte (8 bits), podem ser armazenadas 256 informações diferentes: 0..255.

Assim, para o tipo byte... Como se emprega um byte (8 bits), podem ser armazenadas 256 informações diferentes: 0..255. Já o tipo shortint... Também 8 bits. Mas como se podem armazenar valores negativos, é necessário reservar um bit de sinal.

Assim, para o tipo byte... Como se emprega um byte (8 bits), podem ser armazenadas 256 informações diferentes: 0..255. Já o tipo shortint... Também 8 bits. Mas como se podem armazenar valores negativos, é necessário reservar um bit de sinal. Como 2 7 = 128......a faixa de valores possíveis será -128..127 (256 valores).

Assim, para o tipo byte... Como se emprega um byte (8 bits), podem ser armazenadas 256 informações diferentes: 0..255. Já o tipo shortint... Também 8 bits. Mas como se podem armazenar valores negativos, é necessário reservar um bit de sinal. Como 2 7 = 128... Um a menos por causa do zero......a faixa de valores possíveis será -128..127 (256 valores).

Assim, para o tipo byte... Como se emprega um byte (8 bits), podem ser armazenadas 256 informações diferentes: 0..255. Já o tipo shortint... Também 8 bits. Mas como se podem armazenar valores negativos, é necessário reservar um bit de sinal. Como 2 7 Para entender = 128... melhor, pesquise sobre a representação em ˮcomplemento de 2ˮ....a faixa de valores possíveis será -128..127 (256 valores).

Cuidado com overflow... Vários erros podem ocorrer quando não se atenta para essas faixas de valores.

Cuidado com overflow... Vários erros podem ocorrer quando não se atenta para essas faixas de valores. Ex: var n1,n2,soma : integer; begin readln(n1,n2); soma := n1+n2;...

Cuidado com overflow... Vários erros podem ocorrer quando não se atenta para essas faixas de valores. Ex: var n1,n2,soma : integer; begin readln(n1,n2); soma := n1+n2;... Se acontecer do usuário fornecer, para n1 e n2, 30000 e 10000, respectivamente, o resultado da soma daria 40000...

Cuidado com overflow... Vários erros podem ocorrer quando não se atenta para essas faixas de valores. Ex: var n1,n2,soma : integer; begin readln(n1,n2); soma := n1+n2;... Se acontecer do usuário fornecer, para n1 e n2, 30000 e 10000, respectivamente, o resultado da soma daria 40000... Como esse valor está fora da faixa do tipo integer, um resultado incorreto será armazenado.

Cuidado com overflow... Vários erros podem ocorrer quando não se atenta para essas faixas de valores. Ex: var n1,n2,soma : integer; begin readln(n1,n2); soma := n1+n2;... ATENÇÃO!! overflow pode levar a erros de difícil detecção. Se acontecer do usuário fornecer, para n1 e n2, 30000 e 10000, respectivamente, o resultado da soma daria 40000... Como esse valor está fora da faixa do tipo integer, um resultado incorreto será armazenado.

Outros tipos de dados: Adiante voltaremos aos tipos de dados para uma discussão mais completa. Por ora, vejamos apenas alguns exemplos de tipos de dados, dentre os mais empregados em Pascal.

Outros tipos de dados: real: valores numéricos reais char: 1 caractere letras, dígitos numéricos e caracteres especiais ('#', '&', '%', etc.) boolean: valores lógicos: true e false string: cadeias de caracteres

Para o tipo string, podemos especificar um tamanho máximo, até 255. var endereco: string[40]; palavra: string[15]; cadeia: string;...

Para o tipo string, podemos especificar um tamanho máximo, até 255. var endereco: string[40]; palavra: string[15]; cadeia: string;......endereço pode armazenar cadeias de quaisquer tamanhos, até o limite de 40.

Para o tipo string, podemos especificar um tamanho máximo, até 255. var endereco: string[40]; palavra: string[15]; cadeia: string;......se não for especificado o tamanho máximo, Pascal assumirá 255.

Desenvolvido com software livre: