Buscar

Resumao Programacao Pascal

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Gustavo Meira - EQ • UEM Algorítmos e Programação de Computadores 
 Fundamentos de PROG 
 O computador 
 Software e hardware 
 ● Software são todos os programas que executam e 
 programam o hardware (sistemas operacionais, 
 navegadores, editores, etc). 
 ● Hardware é a parte física de um computador 
 (componentes eletrônicos, como por exemplo, circuitos de 
 fios e luz, placas, utensílios, correntes, e qualquer outro 
 material em estado físico, que seja necessário para fazer 
 com que o computador funcione). 
 ● Computador junção desses dois componentes 
 Hardware 
 Noções Básica 
 ● CPU (unidade central de processamento) é o principal 
 item de hardware do computador, que também é 
 conhecido como processador . A CPU é responsável por 
 calcular e realizar tarefas determinadas pelo usuário e é 
 considerado o cérebro do computador 
 ● Core (núcleo) pequena pastilha de silício que contém 
 todos os transístores; é o interior de um processador onde 
 cada core é uma unidade de processamento separada 
 capaz de lidar com tarefas independentes 
 Arquitetura Von Neumann 
 Trata-se da arquitetura conceitual dos computadores: 
 CPU 
 ● Responsável pelo processamento e execução de 
 programas armazenados na memória principal 
 ● Coordena, controla e realiza todas as operações do 
 sistema 
 ○ Função processamento atividades relacionadas 
 com a efetiva execução de uma operação ( processar ) 
 ○ Função de controle atividade de busca , 
 interpretação , controle de execução das instruções e 
 controle da ação dos demais componentes do sistema 
 (memória, E/S, etc) 
 ● Principais partes 
 ○ ULA (unidade lógica e aritmética) realiza cálculo 
 real ou o processamento de dados 
 ○ UC (unidade de controle) controla o movimento 
 de dados e instruções dentro e fora da CPU, 
 controlando, também, as operações do ULA de forma 
 sincronizada e adequada 
 ○ Registradores Memória interna da CPU, rápida e 
 com capacidade restrita 
 ○ Barramento interno da CPU caminho para 
 transferir dados entre os vários registradores e a ULA, 
 podendo ter velocidades distintas 
 Memória Principal 
 ● Armazena todos os programas em execução, bem como 
 os dados envolvidos no processamento 
 ● Nada “entra ou sai” do computador sem passar pela 
 memória principal 
 ● É organizada em células endereçáveis de tamanho fixo 
 ● O computador só pode representar a informação por meio 
 0s e 1s dígitos binários ou bit. Um bit é a unidade básica 
 1 
 Gustavo Meira - EQ • UEM Algorítmos e Programação de Computadores 
 de memória, ou seja, a menor unidade de informação que 
 pode ser armazenada 
 ● Como o valor de um bit tem pouco significado, as 
 memórias são estruturadas e divididas em conjuntos 
 ordenados de bits, denominados células 
 (majoritariamente padronizada como: 8 bits (1 byte) = 1 
 célula 
 ● Pode ser acessada por operações de leitura e escrita 
 ○ Leitura requisita à memória o conteúdo de 
 determinada célula 
 ○ Escrita escreve o conteúdo em uma célula da 
 memória 
 ● Classificada em dois grupos 
 ○ RAM (random access memory) memória volátil que 
 retém as instruções e dados de programas que estão 
 sendo executados. Geralmente, os termos "memória 
 principal" e RAM são usados como sinônimos. Assim 
 que o computador é desligado, seu conteúdo é todo 
 apagado. 
 ○ ROM (read only memory) as informações são 
 gravadas no momento da fabricação e não mais serão 
 alteradas. Contém informações necessárias para o 
 funcionamento do computador, como rotinas que 
 verificam se os meios físicos estão aptos para o 
 funcionamento. 
 Memória Secundária 
 ● Memória não volátil , geralmente com grande capacidade 
 de armazenamento 
 ● Usada para guardar informações (instruções e dados de 
 programas) que não serão imediatamente usadas pela 
 CPU 
 ● A memória permanece inalterada mesmo com o 
 computador desligado; 
 ● Exemplos 
 ○ Discos (fixos e removíveis), HD (hard disk), SSD 
 (solid-state drive), disquetes, DVDs, etc 
 ○ Memórias flash (pendrive, cartão de memória) 
 Interface de Entrada e Saída 
 ● Conjunto de circuitos (hardware) e programas (software) 
 que interligam um ou mais dispositivos de E/S e o 
 subsistema CPU/MP para controlar e efetivar a 
 transferência de bits entre esses elementos 
 ● Um subsistema de E/S deve, em conjunto, ser capaz de 
 realizar duas funções 
 ○ Receber ou enviar informações ao meio exterior 
 ○ Converter as informações de uma forma inteligível 
 para a máquina ou para usuário 
 Barramento do Sistema 
 ● É o elemento responsável pela interligação dos demais 
 componentes (CPU, memória, E/S) 
 ● Conduz de modo sincronizado o fluxo de dados de uns 
 para os outros, de acordo com uma programação de 
 atividades previamente definida na unidade de controle. 
 Software 
 Todos os elementos de programação de um sistema de 
 computação. 
 Softwares Básicos 
 Programas que oferecem estruturas para um programa de 
 software aplicativo: 
 ● BIOS (Basic Input/Output System) Software que 
 determina como o computador deve se comunicar com os 
 seus diversos periféricos 
 ● Drivers Pequenos programas que instruem o 
 computador sobre como se comunicar com um 
 determinado periférico. Ampliam as instruções da BIOS e 
 disponibilizam funções mais avançadas 
 ● Sistemas Operacionais Conjunto de programas que 
 controla os vários componentes do hardware, 
 coordenando as funções básicas do computador, 
 tornando-o operacional. Serve de interface com o usuário. 
 Softwares Aplicativos 
 Programas voltados para a utilização do usuário final. 
 ● Sistemas de escritório editores de texto, planilhas 
 eletrônicas e programas de apresentação 
 ● Sistemas comerciais gerenciadores de bancos de 
 dados e gestão empresarial 
 ○ ERP (Enterprise Resource Planning) 
 ○ CRM (CustomerRelationshipManagement) 
 ● Projetos (CAD e CAM) 
 ● Programas gráficos , Programas educacionais , jogos , etc. 
 Sistemas Operacionais 
 É uma camada de software que opera entre o HW e os 
 programas aplicativos voltados ao usuário final. É uma 
 estrutura de software ampla, muitas vezes complexa , que 
 incorpora aspectos de baixo nível (como drivers de 
 dispositivos e gerência de memória física) e de alto nível 
 (como programas utilitários e a própria interface gráfica). 
 ● Provê a interface básica entre o usuário e o computador 
 ● É um gerenciador de recursos , alocando o hardware, o 
 software e os dados 
 2 
 Gustavo Meira - EQ • UEM Algorítmos e Programação de Computadores 
 ● Controla e coordena todas as operações básicas do 
 sistema de computação 
 ● Mac OS , UNIX, LINUX, Windows , DOS… 
 Codificação 
 Representação de Dados 
 Circuitos eletrônicos entendem apenas dois estados: com 
 energia (1) ou sem energia (0) . Com o código ASCII 
 (american standard code for information interchange) temos 
 uma grafia transformada em um decimal que, posteriormente, 
 será transformado em um código binário, por exemplo. 
 O sistema de números romanos e o sistema sexagesimal 
 (0-59) são exemplos de representação de dados. 
 Sistema de numeração 
 ● Base quantidade de algarismos ou símbolos para 
 representar todos os números do sistema de numeração. 
 ○ Decimal; binário; octal; hexadecimal... 
 ● Decimal (base 10) a cada posição à esquerda, o 
 símbolo vale 10 vezes mais 
 ● Binário (base 2) os computadores mapeiam valores 
 com voltagem de 0 Volts (0) e +5 Volts (1). Cada valor 
 numérico é representado por uma combinação de 0s e 1s. 
 ○ Cada dígito é chamado de bit (binary digit) {1 dígito = 
 bit, 4 dígitos = nibble, 8 dígitos = byte} 
 ● Octal sistema que vai de 0 até 7 
 ● Hexadecimal 16 símbolos (0-9 + a-f + 10) 
 Conversão de Bases 
 ● Binário 
 ○ Binário para decimal considerando um código 
 binário lido da esquerdapara a direita e com o primeiro 
 número na posição 0, temos que uma posição do bit 
 equivale à , sendo 0 ou 1 e n a posição que ele 𝑥 × 2 𝑛 𝑥 
 se encontra. Por exemplo: 100 é 
 0 × 2 0 + 0 × 2 1 + 1 × 2 2 = 4 
 ○ Decimal para binário para transformar um número 
 em binário basta dividi-lo sucessivamente por 2, tal 
 que o resto (ao contrário) dará o código. Por exemplo: 
 47 = / 47 ÷ 2 = 23 ( 𝑐𝑜𝑚 𝑟𝑒𝑠𝑡𝑜 1 )
 / 23 ÷ 2 = 11 ( 𝑐𝑜𝑚 𝑟𝑒𝑠𝑡𝑜 1 )
 / / 11 ÷ 2 = 5 ( 𝑐𝑜𝑚 𝑟𝑒𝑠𝑡𝑜 1 ) 5 ÷ 2 = 2 ( 𝑐𝑜𝑚 𝑟𝑒𝑠𝑡𝑜 1 )
 logo, 47 = 101111 2 ÷ 2 = ( 𝑐𝑜𝑚 𝑟𝑒𝑠𝑡𝑜 0 ) 1 
 ● Decimal 
 ○ Binário para decimal usa-se a fórmula para 𝑥 × 2 𝑛 
 converter. Exemplo: 1001 
 2 
= 9 
 10 
 ○ Octal para decimal 𝑥 × 8 𝑛 
 ○ Decimal para octal divisão sucessiva por 8 
 ● Octal 
 ○ Octal para binário faz uma análise separada de cada 
 um dos símbolos (ex: já que 2 = 010 e 27 
 8 
= 010111 
 2 
 7 = 111) 
 ○ Binário para octal faz-se o processo inverso (análise 
 de 3 em 3 bits) 
 ● Hexadecimal 
 ○ Hexadecimal para decimal 𝑥 × 16 𝑛 
 ○ Decimal para hexadecimal divisão sucessiva com 
 16 
 ○ Todos os valores maiores do que 10 e diferentes de 16 
 tem que ser substituídos (A = 10, B = 11, C = 12, D = 
 13, E = 14 e F = 15) 
 ○ Hexadecimal para binário análise separada de cada 
 símbolo (sempre completando 4 bits, se só possuir 3, 
 adiciona-se um 0 na quarta posição) 
 ○ binário para hexadecimal agrupa-se 4 bits a partir 
 da direita 
 de \ 
 para Binário Octal Decimal Hexa 
 Binário - Análise 3 bits 𝑥 × 2 
 𝑛 Análise 
 4 bits 
 Octal Análise 3 bits - 𝑥 × 8 
 𝑛 O -> B 
 B -> H 
 Decimal Divisão por 2 
 Divisão 
 por 8 - 
 Divisão 
 por 16 
 Hexa Análise 4 bits 
 H -> B 
 B -> O 𝑥 × 16 
 𝑛 - 
 Métricas Computacionais 
 Capacidade de Armazenamento 
 Refere-se a memória principal (RAM) e secundária. 
 Nomenclatura de aglomerações de bits : 
 ● 1 Byte = 8 bits 
 ○ KB 1024 B 
 ○ MB 1024 KB 
 ○ GB 1024 MG 
 ○ TB 1024 GB 
 Velocidade de Processamento 
 Refere-se aos processadores . Hertz são ciclos por 
 segundo que originam a velocidade de processamento 
 (instruções realizadas por segundo). As nomenclaturas de 
 aglomeração de Hz são as mesmas que as do Byte. 
 O valor puro de Hz vezes a quantidades de bits no 
 processador (bits por ciclo) mostra quantos bits ele processa 
 por segundo . 
 3 
 Gustavo Meira - EQ • UEM Algorítmos e Programação de Computadores 
 Taxa de Transmissão de Dados 
 Refere-se, de forma mais direta, à velocidade da internet . 
 É medida em bits por segundo . 
 Conceitos Fundamentais 
 ● Problema objeto da questão fundamentado por uma 
 pergunta de caráter geral a ser respondida. Precisa de 
 uma entrada e uma saída com condições envolvidas 
 ● Lógica correlação de pensamentos de forma correta 
 ● Algoritmos sequência de passos que visam atingir um 
 objetivo. De modo direto, é uma receita 
 ● Estruturas de dados programa = algoritmo + estrutura 
 de dados. Representa objetos, operações... 
 ○ Dados porção das informações a serem 
 processadas pelo computador 
 ○ Estrutura forma de representação de dados 
 ● Linguagem de Programação é o método utilizado para 
 comunicar instruções para um computador com análise 
 semântica e sintática 
 ○ Linguagens estrutura Pascal, C... 
 ○ Linguagens orientadas a objetos C + +, Java… 
 ● Implementação codificação; tradução do algoritmo 
 para uma linguagem de programação específica. Teste de 
 mesa (verificar se o algoritmo foi escrito corretamente) 
 ● Programa sequência de instruções codificadas em uma 
 linguagem de programação para ser executado na 
 memória do computador 
 Algorítmos 
 Representação de Algoritmos 
 ● Descrição narrativa escrever os passos em linguagem 
 natural, em prosa 
 ● Fluxograma formas geométricas (símbolos gráficos) 
 representam diferentes ações 
 ● Pseudocódigo ou Portunhol escrever os passos por 
 meio de regras bem definidas 
 Construção de Dados 
 ● Compreender completamente o problema a ser resolvido 
 ● Definir os dados de entrada 
 ● Definir o processamento , os cálculos e restrições 
 ● Definir os dados de saída 
 ● Construir o algoritmo 
 ● Testar o algorítmos com simulações 
 Variáveis 
 Representa uma posição na memória com nome e tipo, 
 dimensionando um valor real para um valor virtual 
 ● Numéricos 
 ○ Inteiros números positivos e negativos sem parte 
 fracionária 
 ○ Reais pode possuir parte fracionada, tal que a parte 
 decimal é obrigatoriamente representada por um 
 ponto 
 ● Lógicos ou Booleanos assumir valores de verdadeiro 
 (1) e falso (0) 
 ● Literais ou caracteres formado por um caractere ou 
 uma cadeia de caracteres (letras, dígitos e símbolos 
 especiais) 
 Estrutura Sequencial 
 Formação de Identificadores 
 São os nomes das variáveis, programas, constantes, etc. 
 Possuem uma formação regrada: 
 ● São permitidos números, maiúsculas, minúsculas e 
 sublinhados 
 ● Primeiro sempre letra ou caractere sublinhado 
 ● Não pode conter espaços em branco e caracteres 
 especiais 
 ● Não pode haver palavras reservadas 
 Estrutura Sequencial em Algoritmos 
 ● DECLARE declara quais são as variáveis (literais, 
 numéricos e lógico) 
 DECLARE X NUMÉRICO 
 Y, Z LITERAL 
 TESTE LÓGICO 
 ● ← comando de atribuição que concede valores ou 
 operações a variáveis 
 x 4 
 y " aula " 
 teste falso 
 ● Início 
 4 
 Gustavo Meira - EQ • UEM Algorítmos e Programação de Computadores 
 ○ LEIA comando de entrada em algoritmos que 
 recebe os valores adicionados pelo usuário 
 LEIA X 
 LEIA Y 
 ● 
 ○ ESCREVA comando de saída onde mostra os 
 resultados na tela ou impressora 
 ESCREVA X 
 ESCREVA " conteúdo de Y = ", Y 
 Operadores 
 ● Adição + 
 ● Subtração - 
 ● Multiplicação * 
 ● Divisão real / 
 ● divisão inteira div 
 ● Resto da divisão mod 
 Declare dividendo, divisor: inteiro; 
 quociente, resto: inteiro; 
 Início 
 dividendo ← 17; 
 divisor ← 2; 
 quociente ← dividendo div divisor; {8} 
 resto ← dividendo mod divisor; {1} 
 fim . 
 ● Igual = 
 ● Diferente <> 
 ● Maior > 
 ● Menor < 
 ● Maior ou igual >= 
 ● Menor ou igual <= 
 Operadores Lógicos 
 ● Aditiva e 
 ● Adversativa ou 
 ● não 
 A B não(A) não(B) A e B A ou B 
 V V F F V V 
 V F F V F V 
 F V V F F V 
 F F V V F F 
 Estrutura Sequencial 
 Estruturas que controlam a sequência , ou fluxo, de 
 execução das instruções no programa 
 Estrutura Sequência (Composição) 
 Os comandos são executados em uma sequência 
 pré-estabelecida . Cada comando é executado somente 
 após o anterior ter finalizado 
 ● início - fim 
 início 
 Comando x; 
 fim; 
 Estrutura Condicional 
 Faz um questionamento sobre o conteúdo de uma variável, 
 tal que ele direciona o resultado a partir disso. 
 ● Condicionais 
 ○ Simples \ se - então 
 se ExpressãoLógica (EL) 
 então Comando ; 
 ○ Composta \ se - então - senão 
 se ExpressãoLógica (EL) 
 então Comando 1 
 {V} 
 senão Comando 2 ; 
 {F} 
 ○ Seletiva \ caso - de 
 Laços de Repetição 
 Laços Condicionais 
 ● Com avaliação a priori ( enquanto - faça ) 
 Gera um looping do tipo "enquanto algo não acontecer, 
 continue executando um comando''. Quando acontecer, pare 
 de executar". 
 enquanto ExpressãoLógica faça Comando (s) ; 
 ● Com avaliação a posteriori ( repita - até ) 
 Pascal 
 Geral 
 program x; 
 Uses crt; 
 Var x: integer; 
 Begin 
 {comentário} 
 write ("coloque um número") 
 readln (numero) 
 5 
 Gustavo Meira - EQ • UEM Algorítmos e Programação de Computadores 
 numero := numero + 10 
 end . 
 ● Tipos de dados 
 ○ Inteiro\ integer 
 ○ real \ real 
 ○ Literal \ string (conjunto 1 - 255) ou char (um carácter) 
 ○ Lógico \ boolean 
 ● Constantes \ CONST nome = valor 
 ● Comentários \ texto entre { } ou (* *) ou após // 
 ● Escreva \ write ou writeln (passa o cursor para nova 
 linha) 
 ● Leia \ read ou readln (nova linha ao pressionar Enter) 
 ● Escrita formatada \ 0:2 (2 casas decimais a partir do 
 ponto) 
 Funções Predefinidas 
 abs (x) valor absoluto 
 exp (x) obtém o logaritmo natural elevado a potência x 
 log (x) logaritmo natural de x 
 trunc (x) parte inteira do número real armazenado em x 
 frac (x) parte fracionária armazenada em x 
 round (x) arredonda x 
 sin (x) calcula o seno 
 cos (x) calcula o cosseno 
 pi retorna o valor de π 
 sqrt (x) calcula a raiz quadrada de x 
 sqr (x) calcula x elevado ao quadrado 
 inc (x, y) incrementa a variável x com o valor da variável 
 y 
 dec (x, y) decrementa a variável x com o valor de y 
 Laços 
 ● Laços condicionais 
 ○ Avaliação a priori \ while - do 
 ○ Avaliação a posteriori \ repeat - until 
 ● Laços contados 
 ○ Repetição automática \ for - to - do 
 ● VC \ variável de comando (integer) 
 for VC := LI to LF do 
 Comando; 
 Matrizes & Cadeia de Caracteres 
 Vetor 
 São estruturas homogêneas (conjunto de valores do 
 mesmo tipo) referenciáveis pelo mesmo nome e 
 individualizadas entre si através de sua posição dentro desse 
 conjunto (variáveis indexadas) 
 Os arranjos tridimensionais são chamados de vetores e os 
 bidimensionais são chamados de matriz. 
 ● Array \ é um vetor (Vi) de um determinado tipos de dado 
 ● Dimensões \ (inteiros positivos) são faixas de valores que 
 determinam os índices da variável 
 var NomedaVariavel: array [dim1,dim2,...] of 
 TipoDeDado ; 
 ⋮ 
 var A: array [1..10] of integer; 
 begin 
 A[1] := 17; 
 A[2] := 32; 
 ⋮ 
 A[10] := 12; 
 end . 
 Se var for string : 
 begin 
 A[1] := 'Nkaj'; 
 end . 
 Matrizes 
 É um arranjo multidimensional possuindo um aspecto de 
 tabela [duas dimensões m ( linha ) por n ( colunas )]. 
 nome_do_arranjo: array [1..x,1..y] of tipo; 
 ⋮ 
 nome_do_arranjo: array [1..x,1..y] of tipo; 
 = ((elementos_linha_1), 
 (elementos_linha_2), (...)); 
 Para apresentar a matriz na tela: 
 for i := 1 to 3 do 
 Begin 
 for j := 1 to 4 do 
 Begin 
 Write (mat[i,j]:2, ' '); 
 end ; 
 writeln (''); 
 end. 
 Para escrever os valores na matriz: 
 for i := 1 to 4 do 
 Begin 
 for j := 1 to 5 do 
 Begin 
 Write ('informe mat[', i, ',', j, ']: 
 6 
 Gustavo Meira - EQ • UEM Algorítmos e Programação de Computadores 
 '); 
 end ; 
 end. 
 Cadeia de Caracteres 
 Outro tipo de dados homogêneos - chamados de strings - 
 que permite o armazenamento de caracteres. 
 var x: string [ numero_de_caracteres ]; 
 x := '...'; 
 ● chr( núm ) \ mostra o código do caracter 
 ● ord( 'arlgoritmo' ) \ transforma os algoritmos de volta em 
 caracter 
 ● length( string ) \ calcula o tamanho da string 
 ● upcase( string ) \ transforma minúscula para maiúscula 
 ● Concatenação \ declara-se uma nova variável que some 
 as strings existentes 
 Agregados Heterogêneos & Subprogramação 
 Agregados Heterogêneos 
 Envolve, em uma única estrutura, dados de tipos diferentes. 
 ● Record \ guarda as informações de diferentes tipos 
 var x: record 
 var y: string; 
 var w: integer; 
 var z: char; 
 var k: real; 
 end ; 
 Para atribuir valores temos: 
 x.y := 'Alguma_coisa'; 
 x.w := 25; 
 x.z := 'F'; 
 x.k := 89.2; 
 ● Type \ cria um tipo de registro de dados que define como 
 o dado é estruturado 
 Type 
 var Tx : record 
 var y: string; 
 var w: integer; 
 var z: char; 
 var k: real; 
 end; 
 var p: var Tx ; 
 Subprogramação 
 São blocos de instruções que realizam tarefas específicas. 
 Ela melhora a estrutura do programa, a legibilidade e a 
 modificação / correção do programa. 
 ● Funções 
 Retorna um valor processado 
 Function Identific (parâmetro: tipo ; 
 parametro : tipo; ...): Tipo; 
 Var … 
 Begin 
 … 
 Identificador := expressão ; 
 … 
 end. 
 ● Funções sem parâmetro \ se resolvem por conta própria 
 tal que o usuário decide um parâmetro 
 Function Identific( ): Tipo; 
 ● Local de declaração \ devem ser declaradas antes do 
 programa principal 
 ● Funções com interdependência \ (declaração do 
 protótipo da função) usa-se forward 
 Function Identific (parametro: tipo; 
 parametro: tipo; ...): Tipo; Forward ; 
 ● Procedimento 
 Não retorna nada 
 Procedure Identific ( sequência de 
 parâmetros ); 
 Var … 
 Begin 
 … 
 end. 
 ● Escopo de variáveis 
 ○ Escopo global \ declarações feitas no programa 
 principal, sendo elas únicas e acessíveis em qualquer 
 parte do programa 
 ○ Escopo local \ variáveis declaradas dentro dos 
 subprogramas (sombreiam as variáveis globais quando 
 declaradas iguais) 
 ● Passagem de parâmetros 
 Procedure Identif( var a: tipo; var b: 
 tipo); 
 Isso indica que o que acontecerá com a e b também 
 acontecerá com os valores que estão ligados a eles por 
 referência. 
 Recursividade 
 Objetos que podem ser definidos em termos de si próprios 
 7 
 Gustavo Meira - EQ • UEM Algorítmos e Programação de Computadores 
 ● Caso base \ uma instância do problema que possui 
 solução direta 
 ● Chamadas recursivas \ o objeto define-se em termos de 
 si próprio, convergindo até o caso base 
 Tipos de recursão: 
 ● Rotina direta \ ela mesma se chama na recursão 
 ● Rotina indireta \ uma rotina chama a outra que chama a 
 primeira e assim por diante 
 Ordenação 
 Ordenação Interna de Dados 
 Serve para ordenar dados de alguma forma. 
 ● Medidas de complexidade relevantes: 
 ○ C(n) \ número de comparações entre elementos 
 ○ M(n) \ número de movimentações de elementos 
 Seleção 
 Neste método, ele analisa o vetor casa por casa e verifica 
 elementos menores quando comparado ao primeiro e então 
 troca os dois de posição e assim por diante. 
 for i := 1 to N do 
 Begin 
 menor := vet[i]; 
 m {posição do menor} := i; 
 for j := i + 1 to 10 do 
 Begin 
 if vet[j] < menor then 
 Begin 
 menor := vet[j]; 
 m := j; 
 end; 
 end; 
 aux := vet[i]; 
 vet[i] := vet[m]; 
 vet[m] := aux; 
 end; 
 Excluindo menor: 
 for i := 1 to N do 
 Begin 
 m {posição do menor} := i; 
 for j := i + 1 to 10 do 
 Begin 
 if vet[j] < vet[m] then 
 Begin 
 menor := vet[j]; 
 m := j; 
 end; 
 end; 
 aux := vet[i]; 
 vet[i] := vet[m]; 
 vet[m] := aux; 
 end; 
 Inserção 
 Acrescenta o número maior/menor na posição correta 
 diretamente por deslocar os que possuem uma casa a mais. 
 Procedure Troca(var x: integer; var y: 
 integer); 
 Var aux: integer; 
 Begin 
 aux := x; 
 x := y; 
 y := aux; 
 end; 
 for i := 2 to N do 
 Begin 
 k := i; 
 while (k > 1) and (vet[k] < vet[k-1]) 
 do 
 Begin 
 Troca (vet[k], vet[k-1]); 
 k := k - 1; 
 end; 
 end; 
 troca 
 Vai analisando par a par e trocando a posição deles quando 
 necessário 
 Procedure BubbleSort(var vet: TVetor); 
 var i, j: integer; 
 Begin 
 for i := 1 to ( N-1 ) do 
 Begin 
 for j := 1 to ( N-i ) do 
 Begin 
 if vet[j] > vet[j+1] then 
 Begin 
 Troca (vet[j], vet[j+1]); 
 end; 
 end; 
 end; 
 end. 
 Manipulação de Arquivos 
 Arquivo é tudo o que se pode armazenar na memória do 
 computador, tal que eles podem ser manipulados por um 
 programa. 
 Permitem o armazenamento permanente dos dados! 
 8 
 Gustavo Meira - EQ • UEM Algorítmos e Programação de Computadores 
 Texto 
 ● Descritor \ quem manipula o arquivo 
 ● Abrir o arquivo 
 ● Manipular o arquivo 
 ● Fechar o arquivo 
 var arquivoTexto: Text ; 
 linha: string; 
 Begin 
 Assign ( arquivoTexto , 'arquivo' ); 
 Readln ( arquivoTexto , linha ); 
 End. 
 ● Reset(Descritor) \ abrir o arquivo para leitura dos dados 
 do arquivo 
 ● Rewrite(Descritor)\ 
 ● EOF(Descritor) \ retorna verdadeiro no final do arquivo 
 Registro 
 ● Read(arq, reg) \ (não se usa o ln) 
 ● Seek \ serve para nos deslocarmos dentro do arquivo e 
 irmos para o registro que queremos 
 ● FilePos(Descritor) \ retorna o número do registro que 
 está posicionado o final do arquivo 
 ● FileSize(Descritor) \ retorna o número de registros 
 contidos no arquivo 
 var arquivoTexto: Text ; 
 linha: string; 
 Begin 
 Assign ( arquivoTexto , 'arquivo' ); 
 Readln ( arquivoTexto , linha ); 
 End. 
 9

Continue navegando