• Nenhum resultado encontrado

IFSC Chapecó Algoritmos II (Linguagem Pascal)

N/A
N/A
Protected

Academic year: 2021

Share "IFSC Chapecó Algoritmos II (Linguagem Pascal)"

Copied!
23
0
0

Texto

(1)
(2)

Sumário 1 Algoritmos

... 3 2 A Linguagem Pascal

... 4 2.1 Construção do programa em Pascal

... 4 2.1.1 Cabeçalho do Programa ... 5 2.1.2 Área de Declarações ... 5 2.1.3 Corpo do Programa ... 5 2.2 Variáveis ... 6 2.2.1 Tipos de Variáveis ... 6 2.2.2 Atribuição de Valores ... 7 2.3 Entrada e Saída de dados

... 7 2.3.1 Entrada de dados ... 8 2.3.2 Saída de dados ... 8 2.4 Operadores ... 8 2.5 Posicionamento na tela ... 9 2.6 Cores do texto e fundo (textbackground e textcolor)

... 9 2.7 Estruturas de Repetição e Condição

... 10 2.7.1 Comando for n=:1 to 10

... 10 2.7.2 Comando If ... then ... else

... 10 2.7.3 Comando While

... 10 2.7.4 Comando Break

... 11 2.8 Comando Case of:

... 12 3 Variáveis Compostas Homogêneas - Vetores

... 14 3.1 Uso do comando for com vetores

... 14 3.2 O que se pode e o que não se pode fazer com vetores, na linguagem Pascal:

.. 15

3.2.1

Não é possível: ... 15 3.2.2 O que é permitido:

... 15 4 Variáveis Compostas Homogêneas – Matrizes

... 16 5 Procedimentos (procedures)

... 17 6 Variáveis Compostas Heterogêneas – Registros

... 19 7 Menu Hierárquico

... 20 8 Variáveis Compostas Heterogêneas – Registros em arquivos (c:\cadastro.txt)

(3)

ALGORITMOS II

1 Algoritmos

Um algoritmo pode ser definido como um conjunto de regras (instruções), bem definidas, para solução de um determinado problema. Segundo o dicionário Michaelis, o conceito de algoritmo é a "utilização de regras para definir ou executar uma tarefa específica ou para resolver um problema específico."

A partir desses conceitos de algoritmos, pode-se perceber que a palavra algoritmo não é um termo computacional, ou seja, não se refere apenas à área de informática. É uma definição ampla que agora que você já sabe o que significa, talvez a utilize no seu cotidiano normalmente.

Na informática, o algoritmo é o "projeto do programa", ou seja, antes de se fazer um programa (software) na Linguagem de Programação desejada (Pascal, C, Delphi, etc.) deve-se fazer o algoritmo do programa. Já um programa, é um algoritmo escrito numa forma compreensível pelo computador (através de uma Linguagem de Programação), onde todas as ações a serem executadas devem ser especificadas nos mínimos detalhes e de acordo com as regras de sintaxe1 da linguagem escolhida.

Uma das formas mais eficazes de aprender algoritmos é através de muitos exercícios. Tabela 1: Dicas de como aprender e como não aprender algoritmos

Algoritmos não se aprende Algoritmos se aprende

Copiando algoritmos Construindo algoritmos

Estudando algoritmos prontos Testando algoritmos

Os algoritmos podem ser representados de várias formas, como por exemplo:

a) Através de uma língua (português, inglês, etc.): forma utilizada nos manuais de instruções, nas receitas culinárias, bulas de medicamentos, etc.

b) Através de uma linguagem de programação (Pascal, C, Delphi, etc.): esta forma é utilizada por alguns programadores experientes, que "pulam" a etapa do projeto do programa (algoritmo) e passam direto para a programação em si.

c) Através de representações gráficas: são bastante recomendáveis, já que um "desenho" (diagrama, fluxograma, etc.) muitas vezes substitui, com vantagem, várias palavras.

Diagrama

(4)

2 A Linguagem Pascal

Pascal é uma linguagem de programação estruturada, que recebeu este nome em homenagem ao matemático Blaise Pascal. Foi criada em 1970 pelo suíço Niklaus Wirth, tendo em mente encorajar o uso de código estruturado.

O próprio Niklaus Wirth diz que Pascal foi criada simultaneamente para ensinar programação estruturada e para ser utilizada em sua fábrica de software. Simultaneamente, a linguagem reflete a liberação pessoal de Wirth das restrições impostas após seu envolvimento com a especificação de ALGOL 68, e sua sugestão para essa especificação, o ALGOL W.

Pascal originou uma enorme gama de dialetos, podendo também ser considerada uma família de linguagens de programação. Grande parte de seu sucesso se deve a criação, na década de 1980, da linguagem Turbo Pascal, inicialmente disponível para computadores baseados na na arquitetura 8086 (com versões para 8080 no seu início).

Pascal é normalmente uma das linguagens de escolha para ensinar programação, junto com Scheme, C e Fortran. Comercialmente, a linguagem foi sucedida pela criação da linguagem Object Pascal, atualmente utilizada nos IDEs Embarcadero Delphi (Object Pascal), Kylix e Lazarus.

2.1 Construção do programa em Pascal

O programa se constitui num texto, que pode ser editado em qualquer editor de texto ou diretamente no compilador, sendo necessário ser salvo com a terminação .pas de pascal, em seguida compilado (traduzido para linguagem de máquina), para depois ser executado. Nos compiladores de hoje já é possível executar direto pulando todas estas etapas.

Um programa em Pascal é composto, basicamente, de três partes. São elas:

Cabeçalho do Programa; Área de Declarações; Corpo do Programa.

(5)

2.1.1 Cabeçalho do Programa

Esta área é utilizada para se fazer a identificação do programa com um nome. O cabeçalho de um programa é constituído pela instrução PROGRAM seguida de um nome. Ao final do nome deve-se colocar o símbolo ponto-e-vírgula ( ; ).

2.1.2 Área de Declarações

Esta área é utilizada para validar o uso de qualquer tipo de identificador que não seja predefinido, estando divida em sete sub-áreas: uses, label, const, type, var, procedure e function.

No II Curso Pré-engenharia, vamos estudar apenas a sub-área var. Esta é utilizada na declaração das variáveis que serão utilizadas durante a execução de um programa, assim como o seu tipo.

2.1.3 Corpo do Programa

Nessa área escreveremos nossos algoritmos utilizando as funções da linguagem Pascal e as declarações feitas na área anterior. Aqui está o programa propriamente dito, isto é, a seqüência de instruções que daremos à máquina para que ela crie um programa que execute as ações que desejamos.

Iniciamos o corpo do programa com a instrução BEGIN e finalizamos com a instrução END seguida de um ponto ( . ). O uso dessas instruções caracteriza o que chamamos de bloco.

O programa em Pascal se constitui basicamente de:

{comentários entre chaves não são lidos pelo compilador}

program Nome_do_programa; {identificação do programa}

var {declaramos as variáveis} a,b,c:real; {variáveis:tipo}

begin {início do corpo do programa}

(6)

c:=a; {comandos terminam com ponto e vírgula}

end. {fim do corpo do programa com ponto}

2.2 Variáveis

Em programação, variáveis são regiões da memória do computador previamente identificadas, que têm por finalidade armazenar informações (dados) de um programa temporariamente. Podem ser vistas como um papel, inicialmente em branco, onde se podem escrever valores (sejam numéricos, de texto ou lógicos) no decorrer da execução do programa.

Uma variável pode armazenar apenas um valor por vez. Sendo considerado como valor o conteúdo de uma variável, este valor está associado ao tipo de dado da variável.

Para declarar variáveis na linguagem Pascal, devemos

obedecer à seguinte sintaxe: declarando as variáveis de nome Soma, Nesse exemplo estamos Total e Salário como sendo do

tipo REAL; Idade e Contador como sendo do tipo INTEGER; e Nome como sendo do tipo STRING.

2.2.1 Tipos de Variáveis

Veremos aqui os principais tipos de variáveis que são utilizados na linguagem Pascal.

Tipo Descrição Tamanho

Boolean Variáveis desse tipo podem armazenar

apenas dois valores distintos: True ou False

(Verdadeiro ou Falso).

8 bits (1 byte)

Char Variáveis desse tipo

podem armazenar apenas um caractere.

8 bits (1 byte) Byte Armazena valores inteiros

positivos entre 0 e

255, inclusive.

8bits (1 byte) Integer Armazena valores inteiros

positivos ou

negativos entre -32768 e 32767.

16 bits (2 bytes)

Longint Armazena valores inteiros positivos ou

negativos entre -2147483648 e 2147483647.

32 bits (4 bytes)

Shortint Armazena valores inteiros positivos ou

negativos entre -128 e

(7)

127.

Word Armazena valores inteiros positivos entre 0 e

65535.

16 bits (2 bytes) Double Armazena valores reais.

Possui precisão de

15 dígitos.

8 bytes Real Armazena valores reais.

Possui precisão de

11 dígitos.

6 bytes String Armazena cadeias de

caracteres (palavras ou frases).

Depende do valor da variável

2.2.2 Atribuição de Valores

Para atribuir valores a uma variável, utilizamos a seguinte construção:

Nome-da-Variável := Valor; Vejamos este exemplo:

Esse programa declara algumas variáveis e atribui valores a elas. Observe que quando

trabalhamos com caracteres ou string, o valor atribuído deve estar entre aspas simples (‘ ’). Caso

contrário o resultado não sairá como o esperado.

Observe também que esse programa não exibe nenhuma mensagem na tela do computador. Ele

apenas atribui valores às variáveis e finaliza sem qualquer mensagem. No capítulo seguinte aprenderemos

como fazer isso.

2.3 Entrada e Saída de dados

Aqui começaremos a apresentar os primeiros comandos da linguagem Pascal. É muito importante prestar atenção na sintaxe dos comandos, pois pequenos erros farão com que o compilador exiba uma mensagem de erro e o programa não será criado.

Entrada e saída de dados são fundamentais em todos os programas criados, pois estabelecem uma comunicação entre a máquina e o usuário.

2.3.1 Entrada de dados

Em Pascal, a entrada de dados é feita utilizando o comando readln(). A sintaxe desse comando é a seguinte:

(8)

Nesse caso, o programa vai parar sua execução até que o usuário digite algum valor. Ao digitar o

valor e pressionar a tecla ENTER, o valor digitado será armazenado na Variável1 e o programa esperará

novamente por um valor, mas o armazenará na Variável2. Isso se repete até que todas as variáveis

listadas estejam preenchidas com algum valor.

Vejamos um programa que utiliza entrada de dados pelo usuário: 2.3.2 Saída de dados

Em Pascal, a saída de dados é feita utilizando o comando writeln(). Esse comando imprime alguma

mensagem na tela do computador. Vejamos sua sintaxe:

Writeln(‘Mensagem 1’, variável 1, ...);

Vejamos ao lado um programa que apenas exibe uma mensagem na tela:

2.4 Operadores

Os operadores, como o nome sugere, nos permitem realizar operações entre variáveis numéricas.

Essas operações podem ser algébricas, lógicas ou de comparação. Dessa forma, existem operadores diferentes para cada tipo. Veremos a seguir.

Operadores Aritméticos

(9)

Operador Função

+ Soma

- Subtração

* Multiplicação

/ Divisão simples div Divisão inteira

mod Resto da divisão inteira

Um exemplo da utilização desses operadores pode ser observado no programa abaixo. Nosso primeiro exemplo de programa em Pascal:

program nome; var nome:string; begin clrscr; write('Escreva um nome '); read(nome);

writeln('O nome que voce escreveu foi: ',nome); readkey;

end.

Segundo desafio:

Criar um programa que leia dois valores e calcule as operações básicas com os mesmos: Adição, subtração, multiplicação, divisão e média.

2.5 Posicionamento na tela

O comando gotoxy define a posição do cursor do teclado na tela. Sintaxe

gotoxy (coluna: integer ; linha: integer ) ;

Exemplo.Programa que move o cursor do teclado para a linha 10, coluna 15, e imprime "Olá, mundo!" na tela.

Program PascalZIM; Begin gotoxy(15,10); textcolor( lightcyan ); textbackground( red ); write('Olá, mundo!'); End.

2.6 Cores do texto e fundo (textbackground e textcolor)

O comandos definem a cor de fundo usada na impressão de textos. Sintaxe

(10)

onde listaDeCores pode ser uma constante inteira ou qualquer uma dentre as cores seguintes:

BLUE GREEN CYAN RED

MAGENTA BROWN LIGHTGRAY DARKGRAY

LIGHTBLUE LIGHTCYAN LIGHRED LIGHMAGENTA

LIGHTGREEN YELLOW WHITE BLACK

2.7 Estruturas de Repetição e Condição

Por vezes, precisamos que o programa realize determinada ação repetidamente, seja por um número determinado de vezes, ou enquanto uma condição está sendo satisfeita, ou mesmo até que uma condição seja verificada. Para isto utilizam-se as Estruturas de Repetição, para evitar que, por exemplo, tenhamos que escrever 30 vezes o comando readln() quando quisermos ler do teclado as notas dos 30 alunos de uma turma de informática.

2.7.1 Comando for n=:1 to 10

Repete a execução de um bloco de comandos por um número de vezes que depende dos

objetivos do programa. Sua sintaxe é a seguinte:

Desafio: criar um programa que mostre na tela os números de 1 a 100, sendo que dez números em cada linha.

2.7.2 Comando If ... then ... else

Na maioria dos casos, quando verificamos uma condição, queremos que uma ação seja tomada

no caso da condição ser satisfeita, mas também queremos que outra ação seja tomada no caso da

condição não ser verificada. Para isso existe a estrutura supracitada, cuja sintaxe é a que segue (atenção à

ausência de ponto-e-vírgula antes do comando else):

Desafio: criar um programa que mostre na tela os números de 1 a 100, sendo que dez números em cada linha, porém, os números pares tem que ser amarelos e os ímpares brancos.

Desafio: criar um algoritmo para ler o nome do aluno, notas das tres provas, e calcular se o mesmo foi aprovado ou reprovado conforme a média(mínimo 6).

(11)

Difere do comando for quanto à sintaxe. A maioria dos programas em que se usa o while podem ser feitos usando-se o for, e vice-versa. Porém, em alguns casos a escolha de um deles simplifica significativamente a lógica a ser utilizada. Vejamos a sintaxe do comando while:

Dasefio: criar um algoritmo para ler um número infinito de palavras e mostrar na tela após a leitura. Para encerrar a leitura, deverá ser digitada a palavra “SAIR”.

2.7.4 Comando Break

Algumas vezes é interessante parar o programa antes que um laço seja realizado por completo.

(12)

Desafio: montar um algoritmo que crie X números aleatórios . O usuário tem que digitar o número até acertar. Quando isto ocorrer, o algoritmo tem que emitir uma mensagem e avisar sobre o acerto do número. O usuário terá um número Y de tentativas.

Desafio da loteria. Os números da loteria são de 01 até 60. Montar um algoritmos que sorteie 6 dezenas. Não pode haver duplicidade de números.

Escreva um programa que leia a razão de uma PA, o seu primeiro termo e a quantidade de termos e com isso calcule a soma dessa PA.

2.8 Comando Case of:

Possibilita a escolha de um conjunto de comandos que serão executados, dentre várias alternativas de escolha.

Sintaxe

case < selector > of

< lista de constantes > : < comandos > ; < lista de constantes > : < comandos > ; ...

< lista de constantes > : < comandos > ; else < comandos > ;

end ; Onde:

- < seletor > é uma expressão do tipo integer ou char ;

- < lista de constantes > é uma sequência de constantes do tipo integer ou char, separadas por vírgula (ao invés de uma constante é possível usar um intervalo de constantes, que consiste em duas constantes separadas por um par de pontos)

A cláusula else não é obrigatória, e os comandos associados a essa cláusula serão executados somente se nenhuma outra opção do case foi selecionada ;

Exemplo

Program PascalZIM ; Var

opcao : integer ; Begin

write ( 'Entre com uma opcao: ' ); readln ( opcao );

case opcao of

1 : writeln( 'Você escolheu a opção 1...' ); 2 : writeln( 'Você escolheu a opção 2...' ); 3 : writeln( 'Você escolheu a opção 3...' );

else writeln( 'Você escolheu uma opção diferente de 1, 2, 3...' ); end ;

(13)
(14)

3 Variáveis Compostas Homogêneas - Vetores

Um vetor (array em inglês) é um agregado de variáveis do mesmo tipo (homogêneas). O exemplo abaixo mostra a representação gráfica de um vetor de 6 inteiros chamado v:

Cada “casa” , ou “elemento”, do vetor é uma variável independente. No exemplo acima, cada elemento pode conter um valor inteiro, e as posições foram ordenadas de 1 até 6. Os elementos de um vetor são identificados pelo nome do vetor associado ao número de ordem da sua

posição relativa no vetor: v[1], v[2], v[3], v[4], v[5] e v[6].

Assim, no caso acima, a variável v[2] tem o valor 67.

Podemos alterar esse valor exatamente como fazemos com qualquer variável: v[2] := 100;

readln(v[2]);

Para declarar esse vetor em um programa Pascal, é usada a forma abaixo: var

v: array[1..6] of integer; A forma geral é:

var <identificador do vetor>: array [<intervalo das posições>] of <tipo dos valores do vetor>

Cada variável do conjunto é representada por:

<identificador do vetor>[<expressão cujo valor é a posição da variável> ]

onde a expressão deve ser do tipo declarado.

Por exemplo, a variável na posição 3 do vetor pode ser representada por: v[3] v[10-7] v[5*5-2*11] v[x-4], supondo que x tenha o valor 7, etc.

3.1 Uso do comando for com vetores

A manipulação de vetores é grandemente facilitada pelo uso dos comandos de repetição, especialmente o for. Por exemplo, para zerar (colocar o valor 0) todas as posições do vetor v definido acima, seria necessário escrever 6 comandos:

v[1]:= 0; v[2]:= 0; v[3]:= 0; v[4]:= 0; v[5]:= 0; v[6]:= 0;

A mesma operação pode ser feita com apenas um comando de repetição for, usando uma variável de controle para representar as posições do vetor:

for i:= 1 to 6 do v[i]:=0;

É fácil imaginar o que isso representa de simplificação para a manipulação de vetores grandes.

(15)

Da mesma forma, para ler do teclado todos os valores do vetor v, seriam também necessários 6 comandos: read (v[1]); read (v[2]); read (v[3]); read (v[4]); read (v[5]); read (v[6]);

Todos esses comandos podem ser substituídos por um único comando for: for i:= 1 to 6 do read(v[i]);

3.2 O que se pode e o que não se pode fazer com vetores, na

linguagem Pascal:

3.2.1 Não é possível:

a) Não se pode ler todo um vetor diretamente com um comando read. Não se pode escrever: read(v);

É necessário ler casa a casa, diretamente, ou com um laço de repetição como for no exemplo acima.

b) Não se pode escrever todos os elementos de um vetor com um único comando write. Não é permitido escrever: write(v). Também nesse caso cada elemento deve ser tratado como uma variável independente, por exemplo:

for i:= 1 to 6 do write(v[i]);

c) Não é possível copiar os valores dos elementos de um vetor para outro com um único comando de atribuição. Ou seja, dados dois vetores v e w, ambos do mesmo tamanho e do mesmo tipo, não é permitido fazer: w:= v; . Também aqui é necessário trabalhar elemento a elemento, e o comando for mais uma vez é indicado:

for i:= 1 to 6 do w[i]:= v[i];

c) Não existe comandos ou funções que dão o tamanho (número de elementos) de um vetor.

d) Não é permitido tentar acessar uma posição fora do intervalo de posições definido para o vetor. A tentativa causará um erro em tempo de execução e o programa abortará. No caso do vetor v acima, por exemplo, não é permitido escrever: v[8]:= 20, read(v[8]) ou write (v[8]) porque a faixa de valores das posições vai de 1 a 6 apenas.

3.2.2 O que é permitido:

a) A faixa de valores das posições não precisa começar em 1. Qualquer intervalo de valores pode ser usado na definição de um vetor. Por exemplo, podemos definir um vetor assim:

var v:array[15..20] of real;

Nesse caso o vetor v terá apenas os elementos: v[15], v[16], v[17], v[18], v[19] e v[20] b) As posições não precisam ser necessariamente números inteiros. Podem ser qualquer tipo

ordinal, ou seja, que possa ser definido por uma seqüência ordenada de valores. Por exemplo, os

caracteres em Pascal formam uma seqüência ordenada na tabela de caracteres, e podem portanto serem marcadores de posição em um vetor.

Podemos definir um vetor assim:

var letras: array['a'..'z'] of integer;

(16)

4 Variáveis Compostas Homogêneas – Matrizes

Matriz é um vetor em que existem duas dimensões, linha e coluna. Serve para armazenar várias informações em cada linha, porém todas do mesmo tipo (número ou texto). Não se pode inserir um número e um texto na mesma matriz.

A declaração abaixo define um vetor de duas dimensões, do tipo inteiro: var

matriz : array [ 1 .. 10, 1.. 20 ] of integer ; matriz com 10 linhas e 20 colunas cada linha. matriz : array [ 1 .. 5, 1.. 5 ] of integer ; matriz com 5 linhas e 5 colunas cada linha.

Desafio: Fazer um programa que dada duas matrizes A e B, determinar a soma de A e B.

A soma de duas matrizes é bastante simples, apenas precisamos somar os elementos correspondentes de cada matriz e o resultado colocar em uma outra matriz. Veja o seguinte exemplo de soma de dois matrizes A e B de tamanho 3x3:

Desafio: Crie um programa em pascal que realize as seguintes operações na matriz C: a) soma dos elementos de cada linha;

b) soma dos elementos de cada coluna c) soma dos elementos da diagonal principal;

(17)

5 Procedimentos (procedures)

Uma procedure é uma parte do programa que pode ser executada diversas vezes com base em algum critério. Exemplo: de acordo com um valor de entrada, se o mesmo for par, executa determinado cálculo, caso contrário, outro cálculo.

A chamada ou ativação de uma procedure é feita referenciando-se o seu nome no local do programa onde a mesma deve ser ativada, ou seja, onde a sua execução deve ser iniciada. Observe o exemplo:

O programa ao lado lê 2 valores e mostra a soma e subtração dos mesmo através de procedures.

(18)

Ao terminar a execução dos comandos de uma procedure, a seqüência do programa retorna sempre à instrução seguinte que provocou a sua chamada.

A pocedure deve ser implementada antes da rotina principal do programa.

Desafio: elaborar um programa que faça desenhos com forma de quadrado ou retângulo através de duas procedures.

(19)

Um posto está vendendo combustíveis com a seguinte tabela de descontos: Álcool:

• até 20 litros, desconto de 3% por litro • acima de 20 litros, desconto de 4% por litro

Gasolina:

• até 30 litros, desconto de 4% por litro • acima de 30 litros, desconto de 5% por litro.

Diesel:

• somente acima de 50 litros, desconto de 6% por litro.

Escreva um algoritmo que leia o número de litros vendidos, o tipo de combustível (codificado da seguinte forma: A-álcool, G-gasolina, D-diesel), calcule e mostre o valor a ser pago pelo cliente sabendo-se que o preço do litro da gasolina é R$ 2,50 o preço do litro do álcool é R$ 1,90 e o diesel é R$ 1,85. Mostrar o valor do desconto oferecido.

6 Variáveis Compostas Heterogêneas – Registros

Pode-se inserir informações de tipos diferentes em vetores, como exemplo, código, nome, cidade, idade, etc, através de registros.

Os registros são conjuntos de dados logicamente relacionados, mas de tipos diferentes (inteiro, real, literal, ...). Veja o exemplo abaixo:

Temos campos de tipos diferenciados dentro de um único vetor com 100 posições, ou seja, pode-se cadastrar 100 pessoas com as informações de cada campo.

Para inserir a informação no vetor, basta indicar qual a posição(ponteiro) e o campo no mesmo.

Para exibir as informações, basta usar o comando write, posição(ponteiro) do vetor e qual o campo.

(20)

7 Menu Hierárquico

A maioria dos sistemas possui diversos módulos, clientes, cidades, vendas, produtos e demais. Para facilitar o gerenciamento, existe um recurso muito utilizado, o Menu Hierárquico, que consiste em dividir o sistemas em diversas Procedures dentro de uma Procedure Principal e assim sucessivamente.

Na linguagem Pascal, cada sub módulo (3 nível do organograma), deve ser declarado como uma procedure. Em seguida os Sub Menus que chamam as procedures e por final o Menu Principal. Ou seja, na linguagem será como o organograma invertido, Procedure + Sub Menus + Menu Principal.

Menu Principal

Clientes Vendas Relatórios

(21)
(22)

8 Variáveis Compostas Heterogêneas – Registros em

arquivos (c:\cadastro.txt)

As operações básicas realizadas sobre um arquivo são abertura, leitura, escrita e fechamento. A abertura de arquivos corresponde à ação de se associar o arquivo declarado no programa com o arquivo físico(c:\cadastro.txt).

• O primeiro passo é associar as informações digitadas na tela a um arquivo (txt) a ser gravado no computador: assign(arquivo, 'C:\ARQTXT.TXT');

• Para ler o conteúdo de um arquivo, usa-se o comando: reset(arquivo); Este comando lê as informações do arquivo físico e as coloca na memória do sistema.

• Para exibir o conteúdo do arquivo, usa-se o comando: readln(arquivo, mensagem); sendo que mensagem é um campo texto do arquivo.

• Para incluir o conteúdo da memória para o arquivo, usa-se o comando: writeln(arquivo, mensagem);

Resumindo:

Cria a variável arquivo:text;

Cria a variável

mensagem:string[50];

O comando append inclui o conteúdo da variável mensagem ao arquivo físico.

Após manipular o arquivo, deve-se fechar o mesmo com o comando

close(arquivo);

O comando reset pega as informações do arquivo físico e traz para a memória.

while not eof(arquivo) percorre

todos os registros do arquivo.

Após manipular o arquivo, deve-se fechar o mesmo com o comando

(23)

Algoritmos II – Lista de exercícios

Faça um algoritmo que leia um vetor com 15 posições. Os números são de 1 a 5. Mostrar quantas ocorrências crescentes e decrescentes aconteceram no vetor. Ex 1-3-4-2-3-3-5-4-5

1 2 4 3 2 3 4 1 1 5 4 1 3 5 5

Crescentes=7 Decrescentes=5 Iguais=2

Matriz

Criar duas matrizes A e B com tamanho 4x4. Inserir valores de 1 a 4. Mostrar quantos valores estão na mesma posição em ambas as matrizes.

Preço médio

O preço médio é um recurso muito utilizado nos sistemas de gerenciamento de estoque para saber se uma compra está sendo executada dentro do valor aceitável. Ele é calculado através da seguinte fórmula:

Produto Qtdade Custo Total Custo Médio Limite aceitável

Geladeira 10 R$ 1.000,00 R$ 10.000,00 R$ 1.000,00 R$ 1.100,00

% limite 15 R$ 900,00 R$ 13.500,00 R$ 940,00 R$ 1.034,00

10% 5 R$ 1.200,00 R$ 6.000,00 R$ 983,33 R$ 1.081,67

=SOMA(D2:D4)/SOMA(B2:B4)

Com base nesta informação, elabore um algoritmo que avise quando o custo de uma compra for maior que 10% do custo médio. Use registros para facilitar o algoritmo.

Referências

Documentos relacionados

d) Observe o número de lugares em cada estádio. Organize-os, nos espaço abaixo, em ordem crescente.. Leia com atenção o texto a seguir para responder as questões. Quase todas as

(D) não acreditou na bruxa.. D5 – Identificar o tema ou assunto de um texto. A percepção do tema responde a uma questão essencial para a leitura: “O texto trata de quê?” Em

“Essa simplificação da linguagem pelos adolescentes não pode ser entendida como alternativa, porque esse código acaba tomando o lugar da escritura convencional”, analisa..

O autor reconhece nesse caso o problema do anacronismo, designado por ele como “discordância de tempo”, que fornece, entre a encenação da peça pelos King’s Men e hoje,

Para saber mais sobre a dança, realize a leitura do texto abaixo... Texto: Dança como

Para fins de análise as manifestações de esporte desenvolvidas na Região Central forma agrupadas nas seguintes tipologias: manifestações da escola: trata- se das

vii) A seguir, inserir uma fórmula definindo o número de pontos atribuídos a cada time, de acordo com os resultados obtidos.. ii) Obter o número de gols contra e armazenar

Ø idCatOnibus: campo numérico que associa a cada categoria de ônibus um número único;. Ø tipoOnibus: campo de texto que irá armazenar os tipo de ônibus