atps etapa 1.docx

6
Introdução Neste relatório iremos abordar os Fundamentos de Estrutura de dados e à Alocação Estática da Memória. Fazendo uma breve introdução aos conteúdos: alocação de memória, ponteiros em C, estrutura de dados em C, vetores em C. 4

Upload: lucas-borges-teixeira

Post on 11-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ATPS ETAPA 1.docx

Introdução

Neste relatório iremos abordar os Fundamentos de Estrutura de dados e à Alocação Estática da Memória. Fazendo uma breve introdução aos conteúdos: alocação de memória, ponteiros em C, estrutura de dados em C, vetores em C.

4

Page 2: ATPS ETAPA 1.docx

Relatório 1 - Estrutura de Dados

Alocação Estática de Memória

A alocação estática de memória, é a reserva de um espaço feita diretamente na memória do computador. Esta reserva é feita através da declaração de uma variável quando se está desenvolvendo um programa. Consideremos os exemplos abaixo e seus respectivos espaços na memória.

Espaço reservado em memória:

Int = 4 bytes

Float = 4 bytes

Double =8 bytes

Char = 1 bytes

Quando se é realizado a declaração da memória se reserva apenas o espaço necessário para cada tipo de dado. Independente do valor salvo na variável o espaço reservado na memória não se altera.

Quando declaramos um vetor, o espaço de memória aumenta de acordo com a capacidade de armazenamento do vetor, por exemplo:

Espaço reservado em memória:

int [500];

4 bytes x 500 valores = 2000 bytes ou 2KB.

5

Page 3: ATPS ETAPA 1.docx

Programa para cadastro de um avião:

A seguir vemos o código em linguagem C utilizando Struct para cadastro de dados de um avião exibindo também as telas de saídas do programa.

Código do Programa em Linguagem C

#include <stdio.h>

#include <stdlib.h>

int main(){

struct {

char modelo[200];

char fabricante[200];

int passageiros;

float comprimento;

float altura;

float velocidade;

float altitude;

char motor[50];

} aviao;

//DEFININDO O TITULO PARA A CAIXA DO PROMPT

system("title ESTRUTUDA DE DADOS");

//DEFININDO UM TITULO PARA A TELA DE OPÇOES

printf("\n CADASTRO AVIAO \n\n\n");

//EXIBINDO AS MENSAGENS E COLETANDO OS DADOS

6

Page 4: ATPS ETAPA 1.docx

printf("DIGITE O MODELO DO AVIAO: ");

gets(aviao.modelo);

printf("DIGITE O FABRICAMTE DO AVIAO: ");

gets(aviao.fabricante);

printf("DIGITE O MODELO DO MOTOR DO AVIAO: ");

gets(aviao.motor);

printf("DIGITE O NUMERO DE PASSAGEIROS DO AVIAO: ");

scanf("%d",&aviao.passageiros);

printf("DIGITE O COMPRIMENTO DO AVIAO(METROS): ");

scanf("%f",&aviao.comprimento);

printf("DIGITE A ALTURA DO AVIAO(METROS): ");

scanf("%f",&aviao.altura);

printf("DIGITE A VELOCIDADE DO AVIAO(MPH): ");

scanf("%f",&aviao.velocidade);

printf("DIGITE A ALTITUDE DO AVIAO(PES): ");

scanf("%f",&aviao.altitude);

//LIMPANDO A TELAsystem("cls");

7

Page 5: ATPS ETAPA 1.docx

//EXIBINDO O RESULTADO DOS DADOS DIGITADOS E ARMAZENADOS NA STRUCT

printf("\n============================================\n");

printf("\n\nMODELO DO AVIAO: %s",aviao.modelo);

printf("\n\nFABRICANTE DO AVIAO: %s",aviao.fabricante);

printf("\n\nMOTOR DO AVIAO: %s",aviao.motor);

printf("\n\nCAPACIDADE DE PASSAGEIROS DO AVIAO: %d",aviao.passageiros);

printf("\n\nCOMPRIMENTO DO AVIAO: %.1f MTS",aviao.comprimento);

printf("\n\nALTURA DO AVIAO: %.1f MTS",aviao.altura);

printf("\n\nVELOCIDADE MAX. DO AVIAO: %.1f MPH",aviao.velocidade);

printf("\n\nALTITUDE MAX. DO AVIAO: %.1f PES",aviao.altitude);

printf("\n\n\n============================================\n");

system("pause");

}

8

Page 6: ATPS ETAPA 1.docx

Bibliografia

9