М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
LinaKosarchuk
LinaKosarchuk
30.08.2021 15:17 •  Информатика

Составить блок-схему по коду(с++) или по условию. ХЕЛПаните Описать структуру с именем Aeroflot, содержащую следующие поля: dest – название пункта назначения рейса, number – номер рейса, type – тип самолета. Написать программу, выполняющую ввод с клавиатуры данных в массив Aeroport, состоящий из 7 структур типа Aeroflot. Записи должны быть упорядочены по возрастанию номера рейса. Вывести на экран номера рейсов и типы самолетов, вылетающих в пункт назначения, название которого совпало с названием, введённым с клавиатуры. Если таких рейсов нет, то вывести соответствующее сообщение.

#include
using namespace std;

struct Aeroflot
{
char punkt_naznachenia[40];
int nomer_reisa;
char tip_samoleta[20];
};

int main() {

Aeroflot as[7];
int i = 0, kol = 7;

for (i = 0; i < kol; i++) {
cout « i + 1 « "-aya zapis " « endl;
cout « "Vvedite nazvanie punkta naznachenia reisa(ne bolee 40 simvolov) " « endl;
cin » as[i].punkt_naznachenia;
cout « "Vvedite nomer reisa " « endl;
cin » as[i].nomer_reisa;
cout « "Vvedite tip samoleta(ne bolee 20 simvolov) " « endl;
cin » as[i].tip_samoleta;
}

int temp;
for (i = 0; i < kol; i++) {
if (as[i].nomer_reisa > as[i + 1].nomer_reisa) { temp = as[i].nomer_reisa; as[i].nomer_reisa = as[i + 1].nomer_reisa; as[i].nomer_reisa = as[i + 1].nomer_reisa = temp; continue; }
cout « "Vivod zapisey " « endl;

for (i = 0; i < kol; i++) {
cout « as[i].punkt_naznachenia « " ";
cout « as[i].nomer_reisa « " ";
cout « as[i].tip_samoleta « endl;
}

char poisk_samoletov[40];
cout « "Punkt naznachenia reisa " « endl;
cin » poisk_samoletov;
bool f = false;
for (i = 0; i < kol; i++)
if (strcmp(as[i].punkt_naznachenia, poisk_samoletov) == 0)
{
cout « "Nomer reisa ";
cout « as[i].nomer_reisa « endl;
cout « "Tip samoleta ";
cout « as[i].tip_samoleta « endl;
f = true;
}
if (!f) {
cout « "Net takogo punkta naznachenia reisa " « endl;
}

system("pause");
}
return 0;
}

👇
Открыть все ответы
Ответ:
lizayka2001
lizayka2001
30.08.2021
1. Программа, создающая файл

var
  f:file of integer;
  i,k:integer;
begin
  Randomize;
  Assign(f,'in.dat'); Rewrite(f);
  for i:=1 to 20 do begin
    k:=Random(99)+1;
    Write(f,k)
    end;
  Close(f)
end.

Тестовое решение
38 35 14 46 92 49 51 48 84 90 26 14 38 79 82 77 7 24 94 13

2. Основная программа

uses Crt;
const
  nn=100;
var
  i,j,k,n:integer;
  fin,fout:file of integer;
  a:array[1..nn] of integer;
  dub:boolean;
begin
  ClrScr;
  Assign(fin,'in.dat'); Reset(fin);
  Read(fin,k);
  if not eof(fin) then begin
    n:=1; Write(k,' '); a[n]:=k
    end
  else n:=0;
  while (not eof(fin)) and (n<=nn) do begin
    Read(fin,k); Write(k,' ');
    j:=1; dub:=false;
    while (j<=n) and (not dub) do begin
      dub:=(a[j]=k); Inc(j);
      end;
    if not dub then begin Inc(n); a[n]:=k; Inc(j) end
    end;
  Writeln;
  Close(fin);
  for i:=1 to n do Write(a[i],' ');
  Writeln; Writeln('n=',n);
  Assign(fout,'out.dat'); Rewrite(fout);
  Write(fout,n); Close(fout);
  ReadKey
end.

Тестовое решение:
38 35 14 46 92 49 51 48 84 90 26 14 38 79 82 77 7 24 94 13
38 35 14 46 92 49 51 48 84 90 26 79 82 77 7 24 94 13
n=18

В качестве бонуса - решение этой же задачи в современной системе программирования PascalABC.NET.

// PascalABC.NET 3.1, сборка 1219 от 16.04.2016
begin
  var fin,fout:file of integer;
  Reset(fin,'in.dat');
  var k:integer;
  var a:=new integer[fin.FileSize];
  var n:=0;
  while not eof(fin) do begin
    Read(fin,k); a[n]:=k; Inc(n)
    end;
  Close(fin);
  a.Println;
  var b:=a.ToHashSet;
  b.Println; Writeln('n=',b.Count)
end.

Тестовое решение
38 35 14 46 92 49 51 48 84 90 26 14 38 79 82 77 7 24 94 13
38 35 14 46 92 49 51 48 84 90 26 79 82 77 7 24 94 13
n=18

И вопрос: для чего давать школьникам, 9/10 из которых никогда не будут программистами, устаревшие и громоздкие, сложные для понимания, написания и отладки системы программирования? Чтобы показать, "как все это сложно"?
4,7(67 оценок)
Ответ:
вампир982
вампир982
30.08.2021

Відповідь:

Пояснення:

Алгоритмы, в которых команды выполняются последовательно одна за другой, в порядке их записи, называются линейными.

 

 Пример 1. Написать алгоритм получения изображения двузначного числа  с исполнителя Чертежник.

Выберем следующий алгоритм построения изображения:

1) создать поле для исполнителя Чертежник размером 6х5 (6 клеток по горизонтали, 5 клеток по вертикали);

2) сместиться в точку (2, 2);

3) опустить перо;

4) изобразить цифру 1;

5) поднять перо и смечтиться в точку (4,3);

6) опустить перо;

7) изобразить цифру 2;

8) поднять перо и перейти в начало координат.

 

Вначале запишем алгоритм решения задачи на русском языке. Затем для каждой команды этого алгоритма выберем соответствующую команду исполнителя Чертежник.

Запись алгоритма на русском языке Текст программы

Заголовок программы;

Program PR_1;

вызов исп. Чертежник;

uses Drawman;

начало программы;

begin

создание поля размером 6х5;

Field(6,5);

рисуем цифры 1 и 2;

ToPoint(2,2);PenDown;

ToPoint(3,3);

ToPoint(3,1);

PenUp;

ToPoint (4,3);

PenDown;

ToPoint(5,3);

ToPoint(5,2);

ToPoint(4,1);

ToPoint(5,1);

PenUp;

ToPoint (0,0);

закончить программу.

end.

Можешь загрузить!        Пример 1

Для выполнения программы выберем команды ПрограммаàВыполнить (F9 или кнопка  на панели инструментов). Откроется окно исполнителя Чертежник, где нужно нажать кнопку Пуск или клавишу Enter на клавиатуре.

Команда OnVector(a,b)

OnVector(a,b)– перемещает перо Чертежника на вектор (a,b).

Выполним пример 1, но вместо команды ToPoint(x,y),  кторая перемещает перо Чертежника в точку (x,y). будем использовать OnVector(a,b).

Перемещение из точки (1,2) в точку (3,3) с вектора: OnVector(2,1).

Перемещение из точки (3,3) в точку  (1,2) с вектора: OnVector(-2,-1).

Перемещение из точки (1,3) в точку  (4,3) с вектора: OnVector(3,0).

Перемещение из точки (4,3) в точку (1,3)  с вектора: OnVector(-3,0).

Перемещение из точки (3,2) в точку (3,5)  с вектора: OnVector(0,3).

Перемещение из точки (3,5) в точку (3,2)  с вектора: OnVector(0,-3).

 

 Пример 2. Написать алгоритм получения изображения двузначного числа  с исполнителя Чертежник, используя команду OnVector(a,b).

4,5(33 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ