Atps de algoritmos etapa1

November 13, 2017 | Autor: Gabriel Amaral | Categoria: N/A
Share Embed


Descrição do Produto

ANHANGUERA EDUCACIONAL
FACULDADE DE CIÊNCIAS APLICADAS






CURSO DE ENGENHARIA DE PRODUÇÃO







RELATÓRIO 1 CONCEITOS FUNDAMENTAIS DE PROGRAMAÇÃO







PROF. FABIANE








CASCAVEL - PR
2014

ANHANGUERA EDUCACIONAL
FACULDADE DE CIÊNCIAS APLICADAS




CURSO DE ENGENHARIA DE PRODUÇÃO




ATPS da matéria de ALGORITMOS E
PROGRAMAÇÃO do curso de engenharia de
produção da faculdade anhanguera educacional
sob orientação da professora Fabiane.





ACADÊMICOS:

NOME: GABRIEL BARROS DO AMARAL
RA: 9095470527

NOME: MAIKON RODRIGO DIECKMANN
RA: 8060801684






CASCAVEL
2014
NOÇÃO DE ALGORITMO

Algoritmo pode ser definido como uma sequência lógica, e sem ambiguidade de passos que levam a solução de um dado problema.
É uma sequência de passos que visam atingir um objetivo bem definido.
O algoritmo está presente em todas as ações do nosso dia à dia como se fosse um plano para resolução de problemas.
Os algoritmos são comuns em nosso cotidiano, como por exemplo, uma receita de bolo. Nela está descrita um série de ingredientes necessários, uma sequência de passos a serem cumpridos para atingir o objetivo que é ter um bolo pronto. Ou então um mapa para chegar até a Cascavel que descreve o caminho a ser percorrido através de uma sequência de passos.
Podemos descrever atividades do cotidiano como por exemplo, trocar uma lâmpada queimada. Apesar de aparentemente óbvio demais, muitas vezes fazemos esse tipo de atividade sem percebermos determinados detalhes. De maneira simples podemos descrever:
Pegue uma escada;
Posicione-a embaixo da lâmpada queimada;
Pegue uma lâmpada nova;
Suba na escada;
Retire a lâmpada velha;
Coloque a lâmpada nova;
Desça e guarde a escada.
A sequência descrita supõe que a lâmpada nova não esteja queimada e que se tenha apenas uma lâmpada para ser trocada.
Se tivermos uma outra situação: várias lâmpadas que precisam ser testadas e trocadas ou não, conforme sua condição, a sequência de passos para a solução do problema será outra.
PSEUDO DA LINGUAGEM

Este modo de representar algoritmos procura empregar uma linguagem que esteja o mais próximo possível de uma linguagem de programação de computadores de alto nível mas evitando de definir regras de construção gramatical muito rígidas. A ideia é usar as vantagens do emprego da linguagem natural, mas restringindo o escopo da linguagem. Normalmente estas linguagens são versões ultra reduzidas de linguagens de alto nível do tipo Pascal ou C.


















ESTRUTURA DE UM PROGRAMA

Estruturação dos programas entende-se que agora o programa será construído a partir de pequenos blocos de código isto é, funções cada um deles com uma tarefa especifica e bem definida. Isso facilita a compreensão do programa.




TIPOS PRIMITIVOS PARA REPRESENTAÇÃO DE DADOS E VARIÁVEIS

Um tipo primitivo é fornecido por uma linguagem de programação como um bloco de construção básico. Dependendo da implementação da linguagem, os tipos primitivos podem ou não possuir correspondência direta com objetos na memória. Tipos primitivos típicos incluem:

Tipos numéricos

Os tipos numéricos estão entre os primeiros implementados pelas linguagens de programação. A maioria das linguagens oferece tanto representações dos números inteiros, como representações dos números reais. As representações computacionais desses tipos são apenas aproximações desses conjuntos matemáticos, que são infinitos, não podendo ser representados na memória do computador, que é finita, a tabela abaixo mostra os principais operadores aritméticos, a forma como são representados e exemplos de como utilizá-los.

Valores numéricos podem também ser operandos de operadores relacionais.

Os operadores relacionais são utilizados para comparar valores, podendo ser aplicados sobre operandos numéricos, além de outros tipos. Contudo, um operador relacional sempre produz um valor de tipo booleano, independente do tipo dos operandos comparados.

Tipo inteiro

O tipo inteiro é o tipo primitivo numérico mais comum. Sem parte fracionária, o tipo inteiro é caracterizado por sua faixa de valores representáveis, havendo versões dos inteiros com ou sem sinal. São comuns implementações de inteiros, inteiros sem sinal e inteiros longos.
Na escrita do algoritmo sob a forma de pseudocódigo, o tipo inteiro é identificado pela palavra reservada inteiro. Como o algoritmo é uma representação genérica, não existe a preocupação com o tamanho necessário para armazenar esse tipo. Veja alguns valores do tipo inteiro: 5, -3 e 0. Dentro do programa o tipo inteiro é representado pelo comando int.



Tipo flutuante
Os números em ponto-flutuante correspondem ao conjunto dos números reais, aqueles que abrangem os números racionais e irracionais. Para muitos números reais, as representações computacionais em ponto-flutuante são apenas aproximações, como acontece com dízimas periódicas e números como, e pode haver prejuízo de exatidão durante algumas operações aritméticas, como supondo numerador e denominador representados em ponto-flutuante. Um valor em ponto-flutuante é definido em termos de precisão e faixa. A precisão corresponde à exatidão de sua parte fracionária, medida pelo número de bits empregados para representá-la, ao passo que a faixa de valores é uma combinação dos valores do expoente e da parte fracionária. Um número em ponto-flutuante é geralmente representado pelo padrão de ponto-flutuante IEEE 754. Nesse padrão, um bit representa o sinal, seguido de uma sequência de bits que representa o expoente e outra sequência de bits que representa o valor da parte fracionária. Dentro do programa o tipo flutuante é representado pelo comando float.


Tipo booleano

O tipo booleano é certamente o tipo primitivo mais simples, pois possui apenas dois valores associados: true e false. Normalmente, o tipo booleano é empregado como sinalizador ou comutador para indicar a ocorrência de certas condições ou para desviar o fluxo de execução do programa. Ainda que algumas linguagens de programação utilizem outros tipos para essas funções, como acontece com a linguagem C, o uso do tipo booleano geralmente torna o programa mais compreensível.
Já variáveis, nas linguagens de programação, uma variável representa um valor qualquer de um determinado tipo, o tipo da variável. Variável, como o nome indica, é um dado que tem a possibilidade de variar, ou seja, ter seu valor alterado durante a execução do algoritmo existem algumas regras básicas que regulam a o batismo de variáveis. Estas regras básicas são:
O caractere "_" é contado como uma letra;
Todo primeiro caractere deve ser sempre uma letra; 
Letras maiúsculas e minúsculas são consideradas caracteres diferentes em muitas linguagens.
Palavras reservadas não podem ser usadas como nome de variáveis. Entre outras.
Nomear uma variável com poucos caracteres e com significado.








OPERADORES ARITMÉTICOS, LÓGICOS E RELACIONAIS

Os operadores são usados nas condições dos comandos (se então, para faca, repita ate, enquanto faca) e nas expressões para atribuição.
Operadores Aritméticos
Usados para representar as operações matemáticas. Ordem de prioridade: Exponenciação, Multiplicação ou Divisão e por último a Soma ou a Subtração. Esses operadores só são usados com tipos de dados inteiros e reais. No caso o + também é usado para concatenar textos, valores literais.
Operador
Ação
**
 Potenciação
*
Multiplicação
/
 Divisão
+
Adição ou concatenar literal
-
Subtração ou inversor de sinal


Operadores especiais
Operador

Ação
Exemplo
div
Retorna o quociente da divisão entre 2 números.
13 div 2 = 6
resto
Retorna o resto da divisão entre 2 números inteiros.
13 resto 2 = 1

Outros operadores que geram bastantes dúvidas são: resto e div. O resto é usado geralmente para verificar se um número é par, ímpar, se é divisível por algum número, etc. Também é conhecido como mod e em Java é representado pelo %.

Operadores relacionais
São utilizados para comparar variáveis ou expressões, resultando em um valor lógico (verdadeiro ou falso), sendo eles:

Operador
Comparação
>
maior que
<
menor que
>=
maior ou igual
, 6) e (frequencia>75) entao… //as duas condições devem ser verdadeiras para executar o(s) comando(s) após o entao
se (idade>18) ou (amigoDoDono=verdadeiro) entao… // uma única condição sendo verdadeira já executa o(s) comando(s) após o entao
se nao(nome="Andreia")entao… //inverte o resultado da condição: se nome="Andreia", retorna falso. Se nome"Andreia", retorna verdadeiro.
Esses são operadores utilizados nos algoritmos e que ajudam a construir as condições das estruturas.










CARACTERÍSTICAS DO AMIBIENTE E DESENVOLVIMENTO C


C é uma linguagem de programação geral, padronizada pela ISO, foi criado no ano de 1972 por Dennis Ritchie para o sistema operacional Unix. 

A linguagem C foi criada para facilitar a criação de programas e diminuir a margem de erros, esta linguagem possui as seguintes características: 

Linguagem simplificada, com realização de funções matemáticas ou manuseamento de arquivos, fornecida por um conjunto de rotinas do mesmo padrão.
Em foco, o paradigma de programação procedural.
Sistema simples que evita operações sem sentido. 
Pré-processamento tendo a possibilidade de múltiplos ficheiros.
Ponteiros dão maior flexibilidade à linguagem. 
Acesso de baixo-nível, através de inclusões de código Assembly no meio do programa C. 
Usam-se valores e não referencias.
Alto nível de definição de variáveis.
Estruturas de variáveis que permitem que dados relacionados sejam combinados e manipulados como um todo 

C é uma linguagem de programação mais utilizada, que deram origem a outras linguagens, uma delas é a C++ que foi uma "evolução" do C, pois, falta algumas características que C não possui, mas são úteis encontradas em outras linguagens sendo: 

Segurança de tipo
Coletor de lixo 
Vetores que crescem automaticamente
Algumas classes ou objetos com comportamento 
Closures
Funções aninhadas 
Sobrecarga de operadores 
Meta-programação 
Apoio nativo de multithreading e comunicação por rede 

Mesmo com esta falta de funcionalidade citada acima, o C é muito utilizado, pois possui maior velocidade, simplicidade e eficiência tendo preferência no desenvolvimento de softwares de base e em plataformas atuais deixando de ser antiquário, o único concorrente direto é o Assembly que corre mais rápido, pois possui o controle completo da maquina. 

C também é usado no estudo das ciências da computação, pois a sua proximidade de código de maquina permite que um projetista seja capaz de prever a funcionalidade do programa mesmo antes de executá-lo. 

O ponto fraco desta linguagem é a falta de proteção que oferece ao programador podendo dar resultados inesperados com erros de difícil localização.



Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.