ATPS ETAPA 1.docx
-
Upload
lucas-borges-teixeira -
Category
Documents
-
view
216 -
download
0
Transcript of ATPS ETAPA 1.docx
![Page 1: ATPS ETAPA 1.docx](https://reader036.fdocument.pub/reader036/viewer/2022082708/563dba3a550346aa9aa3cfb4/html5/thumbnails/1.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082708/563dba3a550346aa9aa3cfb4/html5/thumbnails/2.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082708/563dba3a550346aa9aa3cfb4/html5/thumbnails/3.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082708/563dba3a550346aa9aa3cfb4/html5/thumbnails/4.jpg)
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](https://reader036.fdocument.pub/reader036/viewer/2022082708/563dba3a550346aa9aa3cfb4/html5/thumbnails/5.jpg)
//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](https://reader036.fdocument.pub/reader036/viewer/2022082708/563dba3a550346aa9aa3cfb4/html5/thumbnails/6.jpg)
Bibliografia
9