В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
али544
али544
07.01.2022 00:32 •  Информатика

Сколько листьев у данного дерева?

Показать ответ
Ответ:
vika8330
vika8330
15.09.2022 15:51

1. Подумать над алгоритмом
2. Вот сам алгоритм:
а. спросить у пользователя значения
б. расчитать ответ
в. выдать ответ на экран
3. Написать код в паскале
4. Исправить ошибки компиляции
5. Протестировать, вводить разные числа
6. обнаружила, что если вводить числа наугад ответ получается отрицательным иногда
7. Вставить код проверки введенных пользователем значений
8. убрать ошибки компиляции
9. протестировать
10. готово

 

А вот и сама программа:

 

program aerobus;
uses crt;
const TotalPlace = 160;
var businessPlaces, economyPlaces:integer;
businessPrice, economyPrice:real;
totalCharge:real;
a,b:integer;
correctInput:boolean;
begin
clrscr;
businessPlaces:=TotalPlace div 4;
economyPlaces:= TotalPlace - businessPlaces;
writeln('business places count: ', businessPlaces);
writeln('economy places count: ', economyPlaces);
correctInput:=false;
while not correctInput do
begin
write('Please Input Business Class Ticket Price: ');
readln(businessPrice);
if(businessPrice>0) then
begin
correctInput:=true;
end
else
begin
writeln('The price should be a positive number, please try again');
end;
end;
economyPrice:=businessPrice/2;
writeln('Economy Ticket Price is: ', economyPrice:0:2);
correctInput:=false;
while not correctInput do
begin
write('How many business tickets are left?: ');
readln(a);
if(a>=0) and (a<=businessPlaces)then correctInput:=true;
if(a<0) then
begin
writeln('Please input a positive number or 0, please try again');
end;
if(a>businessPlaces) then
begin
writeln('Please input a number which is less or equal to the tolal business place count, please try again');
end;
end;

correctInput:=false;
while not correctInput do
begin
write('How many economy tickets are left?: ');
readln(b);
if(b>=0) and (b<=economyPlaces)then correctInput:=true;
if(b<0) then
begin
writeln('Please input a positive number or 0, please try again');
end;
if(b>economyPlaces) then
begin
writeln('Please input a number which is less or equal to the tolal economy place count, please try again');
end;

end;
totalCharge:=(businessPlaces-a)*businessPrice;
totalCharge:=totalCharge+(economyPlaces-b)*economyPrice;
writeln('The total charge is:', totalCharge:0:2);
writeln;
writeln('Press enter to exit');
readln;
end.

 

0,0(0 оценок)
Ответ:
FireBOY57
FireBOY57
07.05.2022 01:45

#include<iostream>

#include<cstdlib>

#include<ctime>

#include<conio.h>

using std::cout;

using std::cin;

using std::endl;

bool gameOver;

const int width = 25;

const int height = 25;

int x, y, fruitX, fruitY, score;

int tailX[100], tailY[100];

int nTail;

enum eDirection { STOP = 0, LEFT, RIGHT, UP, DOWN };

eDirection dir;

void Setup() {

gameOver = false;

dir = STOP;

x = width / 2 - 1;

y = height / 2 - 1;

fruitX = rand() % width;

fruitY = rand() % height;

score = 0;

};

void Draw() {

cout << "w = UP" << endl;

cout << "s = DOVN" << endl;

cout << "d = RIGHT" << endl;

cout << "a = LEFT" << endl;

system("cls");//system("clear");

for (int i = 0;i < width + 1;i++) {

 cout << "##";

};

for (int i = 0;i < height;i++) {

 for (int j = 0;j < width;j++) {

  if (j == 0 || j == width - 1) {

   cout << "##";

  };

  if (i == y && j == x) {

   cout << "0";

  }

  else if (i == fruitY && j == fruitX) {

   cout << "F";

  }

  else {

   bool print = false;

   for (int k = 0;k < nTail;k++) {

    if (tailX[k] == j && tailY[k] == i) {

     print = true;

     cout << "o";

    }

   }

   if (!print) {

    cout << " ";

   }

  };

  cout << " ";

 };

 cout << endl;

};

cout << endl;

for (int i = 0;i < width;i++) {

 cout << "#";

};

cout << endl;

cout << "Score: " << score << endl;

};

void Input() {

if (_kbhit()) {

 switch (_getch()) {

 case'a': {

  dir = LEFT;

 }

     break;

 case'd': {

  dir = RIGHT;

 }

     break;

 case'w': {

  dir = UP;

 }

     break;

 case's': {

  dir = DOWN;

 }

     break;

 case'x': {

  gameOver = true;

 }

     break;

 }

};

};

void Logic() {

int prevX = tailX[0];

int prevY = tailY[0];

int prev2X, prev2Y;

tailX[0] = x;

tailY[0] = y;

for (int i = 1;i < nTail;i++) {

 prev2X = tailX[i];

 prev2Y = tailY[i];

 tailX[i] = prevX;

 tailY[i] = prevY;

 prevX = prev2X;

 prevY = prev2Y;

}

switch (dir)

{

case LEFT:

 x--;

 break;

case RIGHT:

 x++;

 break;

case UP:

 y--;

 break;

case DOWN:

 y++;

 break;

}

/*

if (x > width || x < 0 || y>height || y < 0) {

 gameOver = true;

};*/

if (x >= width - 1) {

 x = 0;

}

else if (x < 0) {

 x = width - 2;

}

if (y >= height) {

 y = 0;

}

else if (y < 0) {

 y = height - 1;

}

for (int i = 0;i < nTail;i++) {

 if (tailX[i] == x && tailY[i] == y) {

  gameOver = true;

 }

}

if (x == fruitX && y == fruitY) {

 score += 10;

 fruitX = rand() % width;

 fruitY = rand() % height;

 nTail++;

}

}

int main() {

srand(time(0));

Setup();

while (!gameOver) {

 Draw();

 Input();

 Logic();

}

return 0;

}

Объяснение:

эта игра работает только в кампиляторе Visual studio или qt creater

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота