ETAPA 1 E 2 ATPS - Estrutura de Dados
Por: senja • 29/11/2015 • Trabalho acadêmico • 1.073 Palavras (5 Páginas) • 295 Visualizações
Etapa 1 - passo 3.
1- O que é alocação estática.
A alocação estática de memória é o espaço reservado na memória do computador na hora da compilação, este espaço é reservado através da declaração das variáveis, estás variáveis não poder ser alterados o tamanho pois o computador já reconhece o tamanho de cada tipo de variável (char,int,float) e reserva um espaço para ela ser alocada de forma sequencial, o programador deve tomar muito cuidado na hora de definir as variáveis de um programa neste modelo , pois se declarar uma quantidade de variáveis acima do necessário irá ocupar espaço de memória desnecessária e ocasionando maior tempo de compilação e execução do programa.
No exemplo abaixo iremos demonstrar um programa utilizando alocação de memória estática, utilizando variáveis globais.
Exemplo 1:
//Programa para somar dois valores
//e mostrar na tela
#include<stdio.h>
#include<stdlib.h>
int n1,n2, result;
int main()
{
printf("\nDigite um valor int:");
printf("\nDigite outro valor int:");
scanf("%d",&n2);
result=n1+n2;
printf("\nO resultado e:%d\n",result);
system("pause");
return 0;}
Neste exemplo foi declarada 3 variáveis para efetuar a operação somar, repare as 3 variáveis foram utilizadas, ou seja, não houve ocupação desnecessária de memória, na hora da compilação o computador reservou 3 espaço de memória no tamanho necessária para o tipo que foram declaradas (int -4 bit ).
Passo 3 - Código Fonte para cadastro de avião
#include<stdio.h>
#include<stdlib.h>
int i=0;
int x=0;
struct aviao
{
char modelo[50];
char fabricante[50];
char motor[30];
int passageiro;
float comprimento;
float altura;
float velocidade;
float altitude;
}Aviao[10];
void cadastrar();
void mostrar();
int main ()
{
int m;
do {
system("cls");
printf("\n\nMenu:");
printf("\n1-Cadastro de Aviao\n2-mostrar cadastros\n3 -Sair\n");
printf("opcao:");
scanf("%d",&m);
switch(m)
{
case 1:
cadastrar();
break;
case 2:
mostrar();
break;
case 3:
system("cls");
printf("\nPrograma Finalizado");
return 0;
default:
system("cls");
printf("\nOpcao invalida\n");
system("pause");
}
}while (m!=3);
}
void cadastrar()
{
int op=0;
do{
system("cls");
printf("\n C A D A S T R O ");
fflush(stdin);
printf("\nDigite o modelo do aviao: ");
scanf("%s",Aviao[i].modelo);
printf("\nDigite o nme do Fabricate: ");
scanf("%s",Aviao[i].fabricante );
printf("\n digite o modelo do motor: ");
scanf("%s",Aviao[i].motor);
fflush(stdin);
printf("\nDigite a capacidade de passegeiros: ");
scanf("%d",&Aviao[i].passageiro );
printf("\ndigite o comprimento do aviao:");
scanf("%f",&Aviao[i].comprimento );
printf("\nDigite a altura do aviao ");
scanf("%f",&Aviao[i].altura);
printf("\nDigite a velocidade maxima: ");
scanf("%f",&Aviao[i].velocidade);
printf("\nDigite a altitude maxima:");
scanf("%f",&Aviao[i].altitude);
printf("\n\nDeseja cadastrar outro
...