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

Как можно описать на паскале массив, в котором будут хранится значения численности населения москвы к концу каждого года xx века ?

👇
Ответ:
inga50
inga50
08.05.2020

обычно

 

var Nas:array[2000..2013] of integer;
begin
Nas[2000]:=znachenie;
...
Nas[2013]:=znachenie;
end.

4,4(23 оценок)
Ответ:
dkfur
dkfur
08.05.2020

Первое решение понятно, но это только общие мысли, в целом оно ошибочно по двум пунктам

1. В задании идёт речь о 20 веке, а это года 1901,19022000. Поэтому в объявлении массива нужно указать именно эти интервалы. Или просто 1 - 100, понятно же, что это один век, а при отображении года следует отображать (1900+i). 

2. В задании не определено, с какой точностью это самое население считается, если с точностью до человека, то INTEGER не хватит, поэтому этот вопрос нужно уточнить и в зависимости от точности (до тысяч, до десятков или сотен тысяч человек) выбрать соответствующий формат представления данных.

3. Странно писать 100 одинаковых операторов присваивания(кстати в тексте ещё ошибка - присваивается ОДНО И ТО ЖЕ значение, ведь оператора ввода данных НЕТ!).

Такие вещи делаются в цикле по индексам. Внутри цикла 2 оператора 

Ввод()

Присваивание

Опять же в задании не сказано, откуда берутся данные, ведь они могут браться с клавиатуры, с внешнего устройства(диска) или с какого-нибудь другого устройства ввода, например, сканера. Эти вводы реализуются похожими, но РАЗНЫМИ операторами.

 

Вот мои замечания, хотя, если формально точно реализовывать предложенное задание, нужно всего лишь описать массив, в котором будут храниться некоторые данные. В этом случае действительны лишь замечания 1 и 2. 

 

И ещё. Я не помню, что такое INTEGER. INTEGER 2-байтный точно не хватит, INTEGER 4-байтный должно хватить.

Успехов!

4,8(31 оценок)
Открыть все ответы
Ответ:
Mysteryon
Mysteryon
08.05.2020
Поскольку за последним словом в предложении пробела нет, то количество слов в предложении будет на единицу больше количества пробелов.

var
  i,n:integer;
  s:string;
begin
  Writeln('Введите текст, разделяя слова ровно одним пробелом');
  Readln(s);
  n:=0;
  for i:=1 to Length(s) do
    if s[i]=' ' then Inc(n);
  Writeln('Количество слов в тексте равно ',n+1)
end.

Тестовое решение:
Введите текст, разделяя слова ровно одним пробелом
Это текст, количество слов в котором нам нужно посчитать.
Количество слов в тексте равно 9
4,4(54 оценок)
Ответ:
GangstaPro
GangstaPro
08.05.2020
1)
var 
a: array [1..5] of integer;
i,k:integer;
Begin
Writeln('Перечислите элементы массива: ');For i:=1 to 5 do
read(a[i]);
For i:=1 to 5 do 
If (a[i] > -1) then write(a[i]:2);
End.
2)
var 
a: array [1..5] of integer;
i,k1,k2,max,min:integer;
Begin
min:=MaxInt;
max:=-MaxInt;
Writeln('Перечислите элементы массива: ');
For i:=1 to 5 do 
begin
read(a[i]);
if (a[i] > max) then max:=a[i];
if (a[i] < min) then min:=a[i];
end;
For i:=1 to 5 do 
begin
If (a[i] = max) then inc(k1);
If (a[i] = min) then inc(k2);
end;
If (k1>k2) then writeln('Больше max элементов') 
else writeln('Больше min элементов');
End.
3)
var 
a: array [1..5] of integer;
i,k,x:integer;
Begin
Write ('X = ');
read(x);
Writeln('Перечислите элементы массива: ');
For i:=1 to 5 do begin     read(a[i]);
if (a[i] = x ) then inc(k);
end;  
writeln('kol = ',k) ;
end.
4,6(89 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ