Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Apostila programação, Notas de estudo de Programação Assembly

Programação Borland c builder

Tipologia: Notas de estudo

2011

Compartilhado em 21/11/2011

rafael-afornalli-4
rafael-afornalli-4 🇧🇷

1 documento

1 / 188

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ
CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA MECATRÔNICA
TÉCNICAS DE PROGRAMAÇÃO
TPI e TPII
Versão: julho/2003
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Apostila programação e outras Notas de estudo em PDF para Programação Assembly, somente na Docsity!

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA

DEPARTAMENTO DE ENGENHARIA MECATRÔNICA

TÉCNICAS DE PROGRAMAÇÃO

TPI e TPII

Versão: julho/

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ

CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA

DEPARTAMENTO DE ENGENHARIA MECATRÔNICA

APOSTILA DE TÉCNICAS DE PROGRAMAÇÃO

ELABORAÇÃO: PROF. MARCELO RUDEK

REVISÃO: PROF. MAURÍCIO C. MELLO

PROFa. MARIA A. ROVEREDO

COLABORAÇÃO: GELSON LUIZ CARNEIRO

ADRIANO ZELAZOWSKI PEREIRA

Versão: julho/

TP I

TP I - Capítulo 1

i. A Disciplina

Este programa de aprendizagem explora o estudo de algoritmos e programação em linguagem C. Para aprovação neste semestre o aluno deverá estar apto a raciocinar e desenvolver a sua capacidade de abstração, para a criação de algoritmos e programas elementares.

As técnicas de programação serão vistas através da utilização de uma pseudolinguagem em português, denominada "Portugol". Assim, o aluno poderá escrever algoritmos e aplicar as técnicas de desenvolvimento para serem usadas com qualquer linguagem de programação. Para esta disciplina., será utilizada a linguagem C padrão, em ambiente Windows.

Bibliografia Recomendada

  1. Algoritmos e Estruturas de Dados; Guimarães e Lages, LTC – Livros Técnicos e Científicos.
  2. Estruturas de Dados Usando C; A. Tanenbaum; Makron Books
  3. Dominando Algoritmos com C; Kyle Loundon; Ed. Ciência Moderna.
  4. C Completo e Total; Hebert Schildt; Makron Books;
  5. C A Linguagem de Programação Padrão Ansi; Brian W. Kerninghan, Dennis M. Ritchie; Editora Campus;
  6. C++ Builder 5 – Guia Prático; César A Mateus. Ed. Érica (www.erica.com.br);
  7. C++ Buider 5 Developer´s Guide; J. Hollinworth, D. Butterfield, et al. Ed. SAMS;
  8. Internet

TP I - Capítulo 1

1.2. ALGORITMOS EM PORTUGOL

Como no item 1 ".... um algoritmo é de forma geral, uma descrição passo a passo de como um problema pode ser solucionado. A descrição deve ser finita, e os passos devem ser bem definidos sem ambiguidades" [Terada]. A razão da existência do algoritmo vem da dissonância entre um estado desejado e aquele observado na realidade. Algoritmo não é a solução de um problema, mas é o meio de obtê-la. A resolução de um problema envolve vários parâmetros que devem ser organizados através de alguma técnica formal.

As técnicas de desenvolvimento estruturado de algoritmos, tem o objetivo de:

  • Facilitar o desenvolvimento de algoritmos;
  • Facilitar o seu entendimento pelos operadores;
  • Antecipar a correção;
  • Facilitar manutenção e modificações;
  • Permitir que o desenvolvimento seja feita por uma equipe de pessoas.

Uma técnica formal afasta a possibilidade de uma ambiguidade. Ou seja, a partir de dadas condições iniciais a execução do algoritmo será realizada por um mesmo "caminho" (sequência de ações), que deve resultar num mesmo estado final. Uma destas técnicas é o portugol.

1.3. PORTUGOL

Portugol é uma pseudolinguagem que permite ao programador pensar no problema em si e não no equipamento que irá executar o algoritmo. Devem ser considerados a sintaxe (em relação à forma) e a semântica (em relação ao conteúdo ou seu significado). Em portugol a sintaxe é definida pela linguagem e a semântica depende do significado que quer se dar ao algoritmo.

No portugol e nas linguagens de programação, basicamente têm-se comandos e variáveis que operacionalizam a execução de um algoritmo. Estes comandos são

TP I - Capítulo 1

executados sequencialmente, de forma que um comando só será executado após a finalização do comando anterior.

A estrutura de um algoritmo em portugol pode ser dada como:

Exemplo:

início <declarações de variáveis> fim

1.4. Variáveis

1.4.1. Declaração de Variáveis

Uma variável é um local (área na memória do computador) que armazena um tipo específico de conteúdo. Uma variável contém um valor que se modifica durante a execução do programa. A variável possui um identificador (nome), que pode ser representado da seguinte forma:

TP I - Capítulo 1

usado real A1; inteiro A2; ou normalmente um nome mais significativo, como real media, inteiro valor, caracter nome, etc.

b) Tomar alguns cuidados em relação à sintaxe da linguagem, por exemplo, não é possível ter identificador como: caracter ?nome, real valor*, inteiro 1x,.

c) .Letras maiúsculas e minúsculas são tratadas de forma diferente, então Media é diferente de media, como também de MEDIA.

Cada variável definida no programa usa um local da memória, que é acessada através do nome dado a variável. O espaço de memória ocupado pelo conteúdo da variável, depende do tamanho destes tipos de dados, que variam de acordo com o tipo do processador a com a implementação do compilador. Como referência inicial para este estudo sobre variáveis, pode-se considerar pelo ANSI C, o seguinte:

  • Tipo Inteiro com 2 bytes;
  • Tipo real com 4 bytes;
  • Tipo caracter com 1 byte;

Exemplo:

Pode-se supor a memória como uma matriz, como a figura abaixo, onde cada célula possui

tamanho de 1 byte (8 bits):

Para armazenar o valor inteiro A= 1, necessita-se de 2 bytes (1 inteiro = 2 bytes na memória*);

Para armazenar o valor real B= 1, necessita-se de 4 bytes (1 real = 4 bytes na memória*);

  • no C ANSI; no C++ Builder os tamanhos das variáveis são diferentes.

A B

área ocupada por outros programas.

TP I - Capítulo 1

1.4.2 Constantes

Uma constante é um valor fixo, que não se modifica ao longo do tempo, durante a execução do programa. Em algoritmos representaremos constantes pelo tipo const, constante ou #define (eventualmente, na elaboração dos algoritmos, alguns elementos da linguagem C podem ser escritos no algoritmo).

Exemplo: const M 10;

1.5. Estrutura do Algoritmo em Portugol

1.5.1. Comando de Atribuição (<-)

A sintaxe do comando é dada por:

Exemplos: a) atribuição de um valor constante inteiro^ valor; valor <- 10; b) atribuição entre variáveis inteiro^ valor; inteiro x; x <- 10; valor <- x; c) resultado de expressões: inteiro^ valor; inteiro x, y; x <- 10; y <- 5; valor <- x + y * 2;

TP I - Capítulo 1

Obs:

  • O incoveniente deste algoritmo é que sempre fornecerá o mesmo resultado, o que não é interessante. De maneira mais correta, os valores de x e y podem ser fornecidos pelo usuário, permitindo ao algoritmo que efetue a soma de dois números quaisquer.
  • Neste exemplo podemos observar que o resultado da soma de x + y será armazenado em z. Como o usuário ficará sabendo da resposta? É necessário usar comandos de escrita, para apresentar os resultados.

1.5.3. Entrada e Saída de Dados

Na construção de algoritmos, é conveniente que o usuário possa informar dados externos, para serem operados pelo programa. Assim, um programa pode receber um dado informado por um operador através de um comando de leitura. Da mesma forma, pode ser necessário conhecer o resultado de determinada operação executada pelo computador, então será necessária uma forma de exibir os dados.

Cada linguagem tem uma forma específica para entrada e saída de dados. Em algoritmos usaremos os comandos genéricos leia() e escreva(), para realizar a interface com o usuário.

Exemplo:

início real A, B, C; leia(A); leia(B); c <- A + B; escreva(C); fim

Lê os valores fonecidos pelo usuário e armazena em A e B.

Apresenta a resposta (tela, impressora, arquivo, etc)

TP I - Capítulo 1

1.5.4. Regras para escrever algoritmos em portugol

  • Incluir comentários pelo menos nas linhas mais importantes do programa;
  • Usar nomes significativos para as variáveis e constantes, que possam identificar o conteúdo;
  • Grifar as palavras chaves do portugol;
  • Alinhar os comandos facilita a legibilidade do algoritmo e reduz a possibilidade de erros.

1.5.5. Exercícios

1 – Desenvolva um algoritmo em portugol para calcular xy. Os valores de x e y serão

fornecidos pelo usuário do programa;

2 – Desenvolva um programa que calcule o volume de uma esfera de raio R, fornecido pelo

usuário. [ V = 4 / 3 π R^3 ]

3 – Desenvolva um programa que transforme um valor de temperatura fornecido pelo usuário,

de Farenheit ( F ) para Graus Celcius ( ºC ). [C = 5 / 9 (F – 32)]

4 – Desenvolva um algoritmo para calcular a média entre 4 valores fornecidos pelo usuário.

5 – Desenvolva um algoritmo para encontrar as raízes de uma equação do tipo Ax^2 + Bx + C.

1.6. Comandos de Controle

Os comandos de controle permitem alterar a direção tomada por um programa (desvio), ou fazer com que partes específicas de um algoritmo seja executada mais de uma vez (loop).

1.6.1. Desvio Condicional

Muitas vezes será necessário desviar a execução do programa segundo uma condição. (Exemplo: ir a universidade de carro ou de ônibus ?). Para se testar condições é necessário utilizar operadores lógicos e relacionais.

1.6.1.1. Operadores Lógicos