Na linguagem Pascal variáveis são caracterizadas por sua tipo. Um tipo é uma propriedade de uma variável pela qual uma variável pode assumir muitos valores permitidos por esse tipo e participar de muitas operações permitidas por esse tipo.
Um tipo define o conjunto de valores válidos que uma variável pode assumir. deste tipo. Também define o conjunto de operações válidas em uma variável de um determinado tipo e define representações de dados em BATER computador.
Por exemplo:
n:inteiro;
Pascal é uma linguagem estática, o que significa que o tipo de uma variável é determinado quando ela é declarada e não pode ser alterado. A linguagem Pascal possui um sistema de tipos desenvolvido - todos os dados devem pertencer a um tipo de dados previamente conhecido (seja um tipo padrão criado durante o desenvolvimento da linguagem ou um tipo personalizado definido pelo programador). O programador pode criar seus próprios tipos com uma estrutura de complexidade arbitrária baseada em tipos padrão ou já definidos pelo usuário. Quantidade tipos criados ilimitado. Os tipos personalizados em um programa são declarados na seção TYPE usando o formato:
[nome] = [tipo]
O sistema de tipos padrão possui uma estrutura hierárquica ramificada.
Os principais na hierarquia são tipos simples. Tais tipos estão presentes na maioria das linguagens de programação e são chamados de simples, mas em Pascal possuem uma estrutura mais complexa.
Tipos estruturados são construídos de acordo com certas regras a partir de tipos simples.
Placas de sinalização são formados a partir tipos simples e são usados em programas para definir endereços.
Tipos processuais são uma inovação na linguagem Turbo Pascal e permitem acessar sub-rotinas como se fossem variáveis.
Objetos também são uma inovação e pretendem usar a linguagem como uma linguagem orientada a objetos.
Na linguagem Pascal, existem 5 tipos de tipos inteiros. Cada um deles caracteriza a faixa de valores aceitos e o espaço que ocupam na memória.
Ao usar números inteiros, você deve ser guiado pelo aninhamento de tipos, ou seja, tipos com intervalo menor podem ser aninhados em tipos com intervalo maior. O tipo Byte pode ser aninhado em todos os tipos que ocupam 2 e 4 bytes. Ao mesmo tempo, o tipo Short Int, que ocupa 1 byte, não pode ser aninhado no tipo Word, pois não possui valores negativos.
Existem 5 tipos reais:
Os tipos inteiros são representados com absoluta precisão em um computador. Ao contrário dos tipos inteiros, o valor dos tipos reais define um número arbitrário apenas com alguma precisão finita, dependendo do formato do número. Os números reais são representados em um computador como ponto fixo ou flutuante.
2358.8395
0.23588395*10 4
0,23588395*E4
O tipo Comp ocupa uma posição especial em Pascal, na verdade, é um número inteiro grande com sinal. Este tipo é compatível com todos os tipos reais e pode ser usado para um número inteiro grande. Ao representar números reais com ponto flutuante, o ponto decimal está sempre implícito antes da mantissa esquerda ou inicial, mas ao operar em um número ele é deslocado para a esquerda ou para a direita.
Os tipos ordinais combinam vários tipos simples. Estes incluem:
Os recursos comuns para tipos ordinais são: cada tipo possui um número finito de valores possíveis; o valor desses tipos pode ser ordenado de uma determinada forma e um determinado número, que é um número de série, pode ser associado a cada número; valores adjacentes de tipos ordinais diferem em um.
Para valores do tipo ordinal, pode-se aplicar a função ODD(x), que retorna o número ordinal do argumento x.
Função PRED(x) - retorna o valor anterior de um tipo ordinal. PRED(A) = 5.
Função SUCC(x) - retorna o próximo valor ordinal. SUCC(A) = 5.
Os valores do tipo de caractere são 256 caracteres do conjunto permitido pela tabela de códigos do computador em uso. A área inicial deste conjunto, ou seja, a faixa de 0 a 127 corresponde ao conjunto de códigos ASCII, onde são carregados os caracteres alfabéticos, números arábicos e caracteres especiais. Os caracteres da área inicial estão sempre presentes no teclado do PC. A área sênior é chamada de alternativa, contém símbolos de alfabetos nacionais e diversos caracteres especiais e caracteres pseudográficos não ASCII.
Um valor de tipo de caractere ocupa um byte na RAM. No programa, os significados são colocados entre apóstrofos. Os valores também podem ser especificados na forma de seu código ASCII. Neste caso, você precisa colocar um sinal # antes do número com o código do símbolo.
C:= 'A'
Existem dois valores booleanos: True e False. Variáveis deste tipo são especificadas usando a palavra de função BOOLEAN. Os valores booleanos ocupam um byte na RAM. Os valores Verdadeiro e Falso correspondem aos valores numéricos 1 e 0.
Existe um subconjunto do seu tipo base, que pode ser qualquer tipo ordinal. Um tipo de intervalo é definido pelos limites dentro do tipo base.
[valor mínimo]…[valor máximo]
O tipo de intervalo pode ser especificado na seção Tipo como certo tipo, ou você pode diretamente na seção Var.
Ao determinar a faixa de tipo, você deve ser guiado por:
Este tipo pertence aos tipos ordinais e é especificado enumerando os valores que pode enumerar. Cada valor é chamado de identificador específico e está localizado na lista, entre parênteses. O tipo enumerado é especificado em Tipo:
Povos = (homens, mulheres);
O primeiro valor é 0, o segundo valor é 1, etc.
Potência máxima 65535 valores.
O tipo string pertence ao grupo dos tipos estruturados e consiste no tipo base Char. O tipo string não é um tipo ordinal. Ele define muitas sequências de caracteres de comprimento arbitrário de até 255 caracteres.
Em um programa, um tipo string é declarado com a palavra String. Como String é um tipo base, ela é definida na linguagem e declarada tipo de variável String é implementada em Var. Ao declarar uma variável do tipo string como String, é aconselhável indicar o comprimento da string entre colchetes. Um número inteiro de 0 a 255 é usado para indicar.
Família: String;
Especificar o comprimento da string permite que o compilador aloque o número especificado de bytes na RAM para esta variável. Se o comprimento da string não for especificado, o compilador alocará o número máximo possível de bytes (255) para o valor desta variável.
Um tipo simples define um conjunto ordenado de valores de parâmetros. Turbo Pascal possui os seguintes grupos de tipos simples:
Todos os tipos simples, com exceção dos tipos reais, são chamados de tipos ordinais. Para quantidades de tipos ordinais, são definidos procedimentos e funções padrão: Dec, Inc, Ord, Pred, Succ (ver seção 13.1).
Ao contrário do Pascal, que define um único tipo inteiro, Integer, o Turbo Pascal possui cinco tipos inteiros padrão: Shortint, Integer, Longint, Byte, Word. As características desses tipos são apresentadas na tabela. 2.
Tabela 2. Tipos de dados inteiros
Tipo | Faixa | Formatar | Tamanho em bytes |
Shortint | -128 .. 127 | Icônico | 1 |
Inteiro | -32768 .. 32767 | Icônico | 2 |
Inteiro longo | -2147483648 .. 2147483647 | Icônico | 4 |
Byte | 0 .. 255 | Não assinado | 1 |
Palavra | 0 .. 65535 | Não assinado | 2 |
O tipo booleano padrão (tamanho - 1 byte) é um tipo de dados, qualquer elemento do qual pode assumir apenas dois valores: Verdadeiro e Falso. Neste caso, as seguintes condições são válidas:
Falso Ord (Falso) = 0
Ord (Verdadeiro) = 1
Sucesso (Falso) = Verdadeiro
Pred (Verdadeiro) = Falso
Turbo Pascal 7.0 adicionou mais três tipos lógicos ByteBool (tamanho - 1 byte), WordBool (tamanho - 2 bytes) e LongBool (tamanho - 4 bytes). Eles foram introduzidos para unificação com outras linguagens de programação e com Ambiente Windows. Sua diferença em relação ao tipo booleano padrão é o valor real do parâmetro desse tipo, correspondente ao valor True. Para todos os tipos lógicos, o valor False corresponde ao número 0, escrito no número de bytes correspondente. O valor True para o tipo Booleano corresponde ao número 1 escrito em seu byte, e para os demais tipos o valor True corresponde a qualquer número diferente de zero (embora a função Ord neste caso dê o valor 1).
O tipo de caractere padrão Char define conjunto completo Caracteres ASCII. A função Ord de um valor do tipo Char fornece o código do caractere correspondente. Os valores do tipo de caractere são comparados de acordo com seus códigos.
Um tipo enumerado não é padrão e é definido por um conjunto de identificadores aos quais os valores dos parâmetros podem corresponder. A lista de identificadores é indicada entre parênteses, os identificadores são separados por vírgulas:
tipoÉ importante a ordem em que os identificadores são listados ao definir um tipo, porque o primeiro identificador recebe o número de série 0, o segundo - 1, etc. O mesmo identificador pode ser usado na definição de apenas um tipo enumerado. A função Ord de um valor de um tipo enumerado fornece o número ordinal de seu valor.
Exemplo. Tipo enumerado.
digite Operat = (Mais, Menos, Mult, Divisão);
Um tipo booleano é um caso especial de um tipo enumerado:
digite Boolean = (Falso, Verdadeiro);
Em qualquer tipo ordinal, você pode selecionar um subconjunto de valores, definido pelos valores mínimo e máximo, que inclui todos os valores do tipo original que estão dentro desses limites, incluindo os próprios limites. Este subconjunto define um tipo de intervalo. O tipo de intervalo é especificado especificando os valores mínimo e máximo, separados por dois pontos:
tipo = . . ;
O valor mínimo ao definir este tipo não deve ser maior que o máximo.
Exemplo. Definição de tipos de intervalo.
tipo
Dúzia = 1..12; (números de 1 a 12)
AddSub = Mais..Menos; (operações de adição e subtração)
Diferentemente do padrão da linguagem Pascal, onde apenas um tipo real Real é definido, o Turbo Pascal possui cinco tipos reais padrão: Real, Single, Double, Extended, Comp. Para as características desses tipos, consulte a tabela. 3. Tabela 3. Tipos de dados reais
Tipo | Faixa | Número algarismos significativos | Tamanho em bytes |
Real | 2.9*10-39..1.7*1038 | 11-12 | 6 |
Solteiro | 1.5*10-45..3.4*1038 | 7-8 | 4 |
Dobro | 5.0*10-324.-1.7*10308 | 15-16 | 8 |
Estendido | 3.4*10-4932..1.1*104932 | 19-20 | 10 |
Comp. | -263+1..263-1 | 19-20 | 8 |
O tipo Comp é na verdade um tipo inteiro de intervalo estendido, mas não é considerado um tipo ordinal.
Os tipos Single, Double, Extended e Comp podem ser utilizados em programas somente se houver um coprocessador aritmético ou quando o emulador de coprocessador estiver habilitado (ver parágrafos 17.5.8 e 17.7.1).
Ao descrever uma variável, você deve indicar seu tipo. O tipo de uma variável descreve o conjunto de valores que ela pode assumir e as ações que podem ser executadas sobre ela. Uma declaração de tipo especifica um identificador que representa o tipo.
Os tipos simples são divididos em padrão (ordinal) e enumerados (restritos).
Turbo Pascal possui quatro tipos padrão integrados: inteiro, real, booleano e char.
Turbo Pascal possui cinco tipos de inteiros integrados: shortint, inteiro, longint, byte e word. Cada tipo denota um subconjunto específico de números inteiros, conforme mostrado na tabela a seguir.
Tipos inteiros integrados.
Faixa |
Formatar |
|
8 bits assinados |
||
16 bits assinados |
||
2147483648 +2147483647 |
32 bits assinado |
|
8 bits não assinados |
||
16 bits não assinados |
As operações aritméticas sobre operandos do tipo inteiro são realizadas de acordo com as seguintes regras:
Operações realizadas em números inteiros:
“+” - adição
“-“ - subtração
"*" - multiplicação
SQR - quadratura
DIV – descarta a parte fracionária após a divisão
MOD - obtendo o resto inteiro após a divisão
ABS - módulo numérico
RANDOM(X)-receber número aleatório de 0 a X
R:=100; b:=60 ; resultado a DIV b - 1 resultado a MOD b - 40
Variáveis do tipo inteiro são descritas a seguir:
var lista de variáveis: tipo;
Por exemplo: var à,р,n:inteiro;
O tipo real é um subconjunto de números reais que pode ser representado em formato de ponto flutuante com um número fixo de dígitos. Escrever um valor no formato de ponto flutuante normalmente envolve três valores - m, b e e - tais que m*b e, onde b é sempre 10 e m e e são valores inteiros no intervalo tipo real. Esses valores de m e e determinam ainda mais o alcance e a precisão do tipo real.
Existem cinco tipos de tipos reais: real, simples, duplo, exnende, comp. Os tipos reais variam no intervalo e na precisão dos valores associados a eles
Intervalo e dígitos decimais para tipos reais
Faixa |
Números |
|
2,9x10E-39 a 1,7x10E 38 1,5x10E-45 a 3,4x10E 38 5,0x10E-324 a 1,7x10E 308 3,4x10E-493 a 1,1x10E 403 2E 63 a 2E 63 |
Operações realizadas em números reais:
Variáveis do tipo real são descritas a seguir:
var lista de variáveis: tipo;Por exemplo:
var d,g,k:real;O tipo char é qualquer caractere colocado entre apóstrofos. Para representar um apóstrofo como uma variável de caractere, você deve colocá-lo entre um apóstrofo: ''''.
Cada personagem tem seu próprio código e número. Os números de série dos dígitos 0,1..9 são ordenados em ordem crescente. Os números de série das letras também estão ordenados em ordem crescente, mas não necessariamente se sucedem.
Os seguintes sinais de comparação se aplicam aos dados de caracteres:
> , < , >=, <=, <> .
Por exemplo: 'A'< ‘W’
Funções que se aplicam a variáveis de caracteres:
Tipo de enumeração
Um tipo de dados enumerado tem esse nome porque é especificado como uma lista de constantes em uma ordem estritamente definida e em uma quantidade estritamente definida. Um tipo enumerado consiste em uma lista de constantes. Variáveis deste tipo podem assumir o valor de qualquer uma dessas constantes. A descrição do tipo de enumeração é semelhante a esta:<имя типа>Tipo<имя переменной>:<имя типа>;=(lista de constantes) ; Var<список констант>Onde
Por exemplo:
- este é um tipo especial de constantes, especificadas separadas por vírgulas e com número de série próprio, começando em 0.digite direção=(norte, sul, oeste, leste); mês=(junho, julho, agosto, janeiro) ; capacidade=(balde, barril, vasilha, tanque) ; var rotação: direção; partida:mês; volume:capacidade;
var turn:(norte, sul, oeste, leste); partida: (junho, julho, agosto, janeiro); volume: (balde, barril, vasilhame, tanque);
Você pode executar os seguintes operadores de atribuição:
Rotação:=sul; partida:=Agosto; volume:=tanque;
mas você não pode fazer tarefas mistas:
Partida:=sul; volume:=Agosto;
As seguintes funções se aplicam a variáveis do tipo enumerado:
1. ORD - número de série
2. PRED – elemento anterior3. SUCC – elemento subsequente.< юг, июнь < январь имеют значения TRUE, а юг>PRED (barril) = balde; SUCC (sul) =oeste; ORD (julho) =1;<бочка значение FАLSE.
oeste e tanque
Tipo limitado
Se uma variável não aceita todos os valores de seu tipo, mas apenas dentro de um determinado intervalo, ela pode ser considerada uma variável de tipo limitado. Cada tipo restrito é definido impondo uma restrição aos tipos base.<имя типа>É descrito da seguinte forma:TIPO
Você pode descrevê-lo imediatamente na seção de descrição da variável:
var a,g:0 ..63 ; char1,char2:'a'..'z'.Dados são um conceito geral para tudo com que um computador opera.
As variáveis usadas para armazenar dados em Pascal podem ser de vários tipos. Isso, em particular, se deve ao desejo de criar programas mais compactos e rápidos que utilizem menos memória durante sua operação.
Por exemplo, armazenar números pequenos requer menos memória do que armazenar números grandes. Números inteiros no intervalo de 0 a 255 ocupam apenas 1 byte de memória, enquanto números maiores requerem mais bytes. Se, pela lógica do programa, se sabe que o resultado não ultrapassará 255, basta utilizar uma variável de um byte para armazená-lo.
Por outro lado, os processadores modernos normalmente tratam números inteiros e reais de maneira diferente. Por exemplo, instruções aritméticas inteiras em processadores i80x86 são executadas diretamente na ALU principal e requerem relativamente pouco tempo de processador. Já as operações com números reais são realizadas por um coprocessador matemático, que, embora possua maior capacidade de processamento, requer muito mais tempo para obtenção do resultado.
Portanto, se a lógica do algoritmo não requer o uso de números reais, não faz sentido usar a complicada aritmética “flutuante”. Ao especificar no programa que uma determinada variável é um número inteiro, o programador na verdade instrui o compilador a processá-la com a ALU rápida do processador principal, sem utilizar desnecessariamente o coprocessador.
Além disso, diferentes operações podem ser definidas para diferentes tipos de dados. Por exemplo, não faz sentido realizar uma operação de divisão em cadeias de caracteres ou adicionar uma variável real a uma variável booleana. Se, ao declarar uma variável, for indicado seu tipo, o compilador poderá monitorar a exatidão das expressões nas quais essa variável será utilizada. Isso permite reduzir ligeiramente o número de erros no programa.
Pascal possui tipos de dados simples, compostos e de referência. Agora conheceremos detalhadamente apenas o primeiro deles, e falaremos sobre o restante nas próximas palestras.
Os tipos simples incluem:
– lógico
– tipos inteiros
– tipos reais
– simbólico
1. Tipo lógico (tipo booleano)
Um valor booleano é um dos dois valores verdade, que são denotados por nomes reservados falso E verdadeiro.
O tipo booleano é definido de modo que falso < verdadeiro. As operações relacionais sempre produzem um resultado lógico. Por exemplo, atitude
para x = 0, y = 0 dá falso; em x = 0, y = 10 – valor verdadeiro.
2. Tipos de dados inteiros
Os valores das variáveis do tipo inteiro são os elementos de um subconjunto limitado de inteiros; este subconjunto é específico da implementação.
O Pascal padrão define apenas um tipo de dados inteiro - tipo inteiro. Tipo de número inteiro ocupa dois bytes de memória; neste caso, o bit zero determina o sinal do número.
Na implementação Pascal com a qual trabalharemos, em variáveis como inteiro Você pode armazenar números inteiros no intervalo –32768 a +32767.
Além disso, o Turbo Pascal possui tipos de dados inteiros adicionais:
1) tipo shortint– um inteiro curto de um byte com sinal (o sinal ocupa o bit zero), limites de variação -128 .. 127;
2) tipo byte– um inteiro curto com um byte sem sinal (todos os oito bits são dígitos binários), altera os limites 0 .. 255;
3) tipo palavra– comprimento inteiro dois bytes (palavra) sem sinal, limites de alteração 0 .. 65535;
4) tipo inteiro longo– inteiro longo com 4 bytes de comprimento, assinado, limites de alteração - 2.147.483.648 .. 2.147.483.647.
As seguintes operações aritméticas são válidas para valores inteiros:
Adição;
– subtração;
* multiplicação;
divisão divisão por um número inteiro (observe que o sinal de divisão tradicional "/" retorna um número fracionário em Pascal, portanto o resultado de tal operação não pode ser atribuído a uma variável inteira).
moda restante da divisão.
Numa expressão aritmética, dois sinais de operação não podem aparecer lado a lado. Por exemplo, você não pode escrever * -b. Aqui você precisa escrever um * (-b).
Antiguidade da operação:
1) expressões entre colchetes;
2) *, div, mod (operações multiplicativas);
3) +, – (operações aditivas).
As operações de igual precedência são executadas da esquerda para a direita.
Não há operação de exponenciação em Pascal. Para expoentes inteiros, esta operação pode ser substituída por multiplicação múltipla.
As seguintes funções prescritas fornecem o resultado completo:
1) abs(i) – valor absoluto do argumento inteiro i;
2) sqr(i) – valor ao quadrado do argumento inteiro i;
3) trunc(R) – número inteiro resultante do descarte da parte fracionária do número R;
4) round(R) – um número inteiro obtido pelo arredondamento de R.
trunc(3,3) = 3; rodada(3,3) = 3;
trunc(3,5) = 3; rodada(3,5) = 4;
trunc(3,8) = 3; rodada(3,8) = 4;
truncar(-3,3) = -3; rodada(-3,3) = -3;
truncar(-3,8) = -3; rodada (-3,8) = -4.
3. Tipos reais
Os números reais são números de ponto flutuante. Seu uso generalizado é típico para tarefas técnicas e de engenharia.
Na ausência de um coprocessador, apenas um tipo real é implementado - tipo real; se houver um coprocessador, os tipos também serão implementados solteiro, dobro, estendido, comparação. Os tipos reais diferem entre si no número de bits alocados para representar a mantissa e a ordem.
Por tipo real quatro operações aritméticas são definidas:
Adição - Subtração
* multiplicação/divisão
O resultado das operações “+”, “–”, “*” é um valor real se pelo menos um dos operandos for do tipo real. A operação “/” fornece um valor real mesmo quando ambos os operandos são do tipo inteiro.
As funções padrão abs(x) e sqr(x) produzem um resultado real se seu argumento x for do tipo real. Independentemente do tipo de argumento, as seguintes funções padrão sempre fornecem um resultado real: sin(x), cos(x), ln(x), exp(x), arctan(x), sqrt(x) (raiz quadrada).
As funções também fornecem um resultado real com um argumento real
Int(x) - parte inteira do valor real x;
Frac(x) - parte fracionária do valor real x.
4. Tipo de dados de caractere (tipo char)
Os valores das variáveis do tipo de caractere são os elementos de um conjunto finito e ordenado de caracteres. Este conjunto pode ser diferente em computadores diferentes.
O valor de uma variável de tipo de caractere é representado por um único caractere cercado por apóstrofos.
"A" "a" "8" """" (apóstrofo escrito duas vezes)
Independentemente da implementação, as seguintes suposições se aplicam a um tipo de caractere.
1) Os dígitos decimais “0” a “9” são organizados de acordo com seu significado e escritos um após o outro.
2) Existem todas as letras maiúsculas do alfabeto latino de "A" a "Z". Este conjunto está ordenado alfabeticamente, mas não está necessariamente conectado. Portanto, qualquer implementação deve executar “I”< "J".
3) Pode haver letras minúsculas do alfabeto latino de “a” a “z”. Se sim, então este conjunto de letras está ordenado alfabeticamente, mas não necessariamente coerente.
Para um tipo de caractere, duas funções de conversão inversa ord e chr são definidas:
k = ord(ch) – número de série do símbolo ch;
ch = chr(k) – símbolo com número de série k.
Para um tipo de caractere, todas as operações relacionais são definidas.
Acredita-se que ch1< ch2, если ord(ch1) < ord(ch2).
Estrutura do programa Pascal
Um programa Pascal consiste em um cabeçalho de programa e alguns blocos:
Título do programa;
Bloquear .
Cabeçalho consiste na palavra-chave programa e no nome do programa:
Exemplo de programa;
Bloquear contém seções de descrição, que definem todos os objetos locais para um determinado programa, e uma seção de operador, que especifica as ações que devem ser executadas nesses objetos. O bloco consiste nas seguintes seções:
1. Seção de descrição da tag.
2. Seção de descrição constante
3. Digite a seção de descrição
4. Seção de descrição da variável.
5. Seção que descreve procedimentos e funções.
6. Seção Operadores.
O bloco pode estar faltando em qualquer uma das seções, exceto a seção de instruções.
1. Seção de descrição da tag
Qualquer instrução em um programa pode ser marcada com um rótulo. O rótulo é colocado antes do operador e separado dele por dois pontos. Todas as tags devem ser descritas na seção de descrição da tag.
Etiqueta 10, 20, Met15;
2. Seção de descrição constante
Esta seção define alguns identificadores como sinônimos de constantes.
TextString = "Pressione Enter";
A constante pi é predefinida e igual a
pi = 3,1415926536.
O uso de identificadores constantes melhora a legibilidade do programa e facilita sua modificação.
3. Digite a seção de descrição
Os tipos de dados real, inteiro, booleano, char são predefinidos e usados na seção de declaração de variáveis. Se o programador precisar introduzir um novo tipo de dados, ele deverá ser descrito na seção de descrição do tipo.
Falaremos mais sobre a descrição de novos tipos posteriormente.
4. Seção de descrição da variável
Cada variável, matriz ou outro nome de objeto de programa deve ser listado na seção de declaração de variável.
Var i, j, k: inteiro;
5. Seção que descreve procedimentos e funções
O propósito e a estrutura da seção serão delineados ao discutir procedimentos e funções.
6. Seção Operadores
A seção contém operadores que implementam o processamento de informações no programa. Uma seção de instrução é um caso especial de uma instrução composta, que inclui uma ou mais instruções entre "colchetes de instrução" início...fim. O separador entre as instruções é um ponto e vírgula. Nas aulas seguintes estudaremos os operadores básicos da linguagem Pascal.
Seção nº 9 (2 horas)
Operador de atribuição. E/S
em programas Pascal
Operador de atribuição. Escrevendo Expressões Aritméticas
Procedimentos de entrada do teclado
Procedimentos de exibição de tela
Você está na seção de materiais de programação Pascal. Antes de começarmos a programar, precisamos esclarecer alguns conceitos que precisaremos no início. Afinal, você não pode simplesmente programar assim. Não podemos escrever o programa em palavras - o computador não entende nada além de zeros e uns. Para isso, foi criado um simbolismo especial em Pascal - a linguagem Pascal, um conjunto de palavras reservadas que não podem ser usadas em nenhum outro lugar de seus programas, exceto para a finalidade pretendida. Vamos listar os conceitos básicos que precisaremos no início:
✎ 1) programa – em inglês “programa”, escrito logo no início do código, seguido do nome do programa em latim e ponto e vírgula. Por exemplo: programa Suma; − um programa chamado Summa. Mas esta parte do código, chamada cabeçalho do programa, não precisa ser escrita - ela está presente apenas para maior clareza e mostra qual problema este programa resolve. Aqui usamos a palavra “código” - este é o nome da entrada de texto do programa.
✎ 2) inteiro – em inglês significa “inteiro” (ou simplesmente “inteiro”) e em Pascal é usado para denotar inteiros assinados de 32 bits (8 bytes) do intervalo [-2147483648, 2147483647] . Veremos o que esses grandes números significam mais tarde.✎ 3) real – do inglês “real”, “real”, “real”, “real”. Na linguagem Pascal, este termo denota números reais no intervalo [-1,8∙10 308, 1,8∙10 308]. Esses são números muito grandes, mas são exibidos de 15 a 16 dígitos significativos. A propósito, os tipos de dados inteiros e reais no ambiente de programação PascalABC.Net são sempre destacados automaticamente em azul.
✎ 4) const – análogo do inglês. "constante", que significa "constante", "constante". Em Pascal, esta é uma quantidade que não pode mudar. Está escrito assim:
Esta entrada deve ser tomada como está escrita: o número N é 12, S é 5, “pi” é 3,14 (como em matemática, apenas um ponto é usado em vez de uma vírgula em Pascal). Na última linha usamos uma barra dupla (duas barras), seguida de texto - é assim que os comentários são escritos em Pascal, e o programa não os percebe. Tudo o que começa com uma barra dupla e até o final da linha é um comentário, que é escrito para explicar o programa e é sempre destacado com uma cor diferente (no PascalABC.Net é verde; Turbo Pascal não utiliza este tipo de comentário). Existe outro tipo de comentário - este (texto entre colchetes, assim como aqui, também destacado em verde). Esse tipo de comentário pode valer para várias linhas seguidas - desde o início do colchete até seu fechamento, e o compilador não percebe tudo o que está no meio de tal construção como código e simplesmente pula.
Na realidade o formato de gravação const um pouco mais complicado. De acordo com as regras, tivemos que escrever:
|
Após declarar cada valor, seu tipo é indicado e então um valor é atribuído. Mas a entrada anterior também está correta, pois o compilador Pascal está configurado para determinar automaticamente o tipo de uma constante. Mas isso não pode ser dito sobre o próximo tipo de números - variáveis.
✎ 5) var – vem do inglês. “variável” (“variável” ou “alterável”), que em Pascal significa um valor que pode mudar de valor durante o programa. Está escrito assim:
Como pode ser visto na entrada, não há sinal “=” aqui - variáveis do mesmo tipo são recalculadas (separadas por vírgulas) e apenas o tipo é indicado após os dois pontos. As variáveis N, m (inteira) e Q, r, t (real) do programa podem alterar valores dentro dos limites de inteiro e real, respectivamente. Mais uma observação: a descrição das variáveis sempre vem depois da descrição das constantes (constantes) - a construção const vem primeiro e depois a var.
✎ 6) começar – traduzido do inglês significa “começar” e Pascal significa o início do programa principal no qual os comandos (operadores) são escritos. Depois da palavra começar Não há ponto e vírgula.
✎ 7) fim – em inglês. “fim”, e em Pascal significa a mesma coisa (fim do programa). Depois da última palavra fim sempre há um período. Enfatizamos a palavra “último” porque o uso da construção começo–fim talvez em mais um caso: são os chamados colchetes de operadores, que servem para combinar várias operações em um único operador. Mas falaremos mais sobre isso mais tarde. Então o programa principal ficará assim:
|
Aqui, os operadores no corpo do programa são comandos diferentes para o compilador.
✎ 8) escrever – em inglês significa “escrever”. Este operador exibe o texto nele colocado, por isso é chamado de operador de saída. O texto colocado dentro dele está destacado em azul e escrito assim:
Escrever( "este texto é exibido na tela");
Uma mensagem entre parênteses e aspas será mostrada na janela do console (você não pode simplesmente colocá-la entre parênteses sem aspas). Após executar esta instrução veremos na tela:
este texto é exibido na tela
Neste formulário, o operador write é utilizado no caso em que é necessário mostrar uma dica, explicação, comentário, etc. valor numérico, digamos S = 50 m². m, então o formato é usado:
Escreva (, S);
Como resultado, obtemos o resultado na tela:
A área é igual a: S = 50
E se você precisar exibir unidades de medida, será necessário inserir o texto entre aspas novamente após S:
Escrever( "A área é igual a: S =", S, "m²" );
Após executar a última instrução de saída, obtemos a seguinte saída na tela:
O tamanho da área é: S = 50 m²
✎ 9) writeln – o mesmo que write, mas após a execução o cursor será movido para a próxima linha.
✎ 10) read – traduzido do inglês significa “ler”, então read é chamado de operador de leitura ou entrada de dados. Está escrito como read(N), o que significa que o valor N deve ser inserido, onde N é qualquer número, ou texto, ou outro tipo de variável. Por exemplo, se precisarmos inserir a idade de uma pessoa que tem 32 anos, podemos escrever assim:
Na primeira linha deste código, o programa exibe a pergunta “ Qual é a sua idade?" e move o cursor para a próxima linha (terminando em ln); na segunda linha imprimimos “Ano =” (espaço no início); A seguir vemos o operador readln(Year), o que significa que é necessário inserir a idade Ano (número 32); por fim, exibimos as mensagens “Minha idade”, “32” e “anos. "um por um. Você precisa observar os espaços com cuidado. Como resultado da execução deste código, receberemos a mensagem:
Qual é a sua idade?
Ano = 32
Minha idade é 32 anos
✎ 11) readln – o mesmo que read, apenas traduzido para nova linha. Com efeito, no exemplo acima, após introduzir o número Ano, escrevemos apenas na linha seguinte: “ Minha idade é 32 anos».
Isso é tudo por enquanto. Na próxima página escreveremos o primeiro programa, e na programação Pascal este será o nosso