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

Какие из следующих указаний вы не сможете выполнить​

Показать ответ
Ответ:
Max325t
Max325t
04.02.2020 14:18

У мові програмування Object Pascal є кілька команд, які можуть реалізувати цикл. Одна з них - команда циклу з лічильником. Її доцільно використовувати в тих випадках, коли кількість повторень команд тіла циклу відома ще до початку виконання команди циклу. Загальний вигляд цієї команди такий:

for <ім’я змінної> := <вираз1> to <вираз2> do begin  <команди тіла циклу> end;

Рядок for <ім’я змінної> := <вираз1> to <вираз2> do (англ. for - для, to - до, do - робити, виконувати) називають рядком заголовка команди циклу з лічильником. Змінну в рядку заголовка команди циклу з лічильником, що стоїть перед знаком присвоювання, називають лічильником циклу.  Лічильник циклу, виразі і вираз2 мають набувати тільки цілих значень. Якщо тіло циклу складається лише з однієї команди, операторні дужки begin і end можна не ставити.

Виконується команда циклу з лічильником так:

1) Надати лічильнику циклу і значення виразі.

2) Обчислити значення логічного виразу і J вираз2.

3) Якщо значення логічного виразу true, то виконати команди тіла циклу і перейти до виконання команди 4, якщо false - перейти до виконання команди, наступної за командою циклу.

4) Збільшити значення лічильника циклу на 1.

5) Перейти до виконання команди 2.

Для ілюстрації виконання команди циклу з лічильником розглянемо фрагмент проекту, в якому обчислюється сума 12 + 22 + 32 + 42.

var s, і: integer; begin s := 0;

for і := 1 to 4 do begin

s := s + i*i; end;

Labell.Caption := IntToStr (s); end;

Виконаємо цей фрагмент програми.

Команда     Результат виконання

s := 0              s = 0

i := 1                 i = 1

i <= 4              (1 <= 4) = true

s := s + i*i        s = 0 + 1*1 = 1

i := i + 1            i = 2

i <= 4              (2 <= 4) = true

s := s + i*i        s = 1 + 2*2 = 5

i := i + 1            i = 3

i <= 4              (3 <= 4) = true

s := s + i*i        s = 5 + 3*3 = 14

i := i + 1            i = 4

i <= 4              (4 <= 4) = true

s := s + i*i        s = 14 + 4*4 = 30

i := i + 1            i = 5

i <= 4               (5 <= 4) = false

Labell.Caption := IntToStr (s)         Labell.Caption = 30

Звертаємо вашу увагу, що після закінчення виконання команди циклу з лічильником значення лічильника циклу (змінної і) на 1 більше, ніж значення вираз2, і це значення, за потреби, можна використовувати в наступних командах.

Існує різновид команди циклу з лічильником, у якому лічильник не збільшується на 1, а зменшується на 1:

For <ім’я змінної> := <вираз1> downto <вираз2> do begin

<команди тіла циклу> end;  (англ. down to - униз до).

Цей цикл продовжує виконуватися, якщо значення лічильника циклу більше або дорівнює (не менше) значенню вираз2.

Загальний вигляд команди циклу з лічильником такий:

for <ім’я змінної> := <вираз1> to <вираз2> do begin

<команди тіла циклу> end;

Рядок for <ім’я змінної> := <вираз1> to <вираз2> do називають рядком заголовка команди циклу з лічильником. Змінну в рядку заголовка команди циклу з лічильником, що стоїть перед знаком присвоювання, називають лічильником циклу. Лічильник циклу, виразі і вираз2 мають набувати тільки цілих значень.

0,0(0 оценок)
Ответ:
qwertzasd
qwertzasd
31.12.2020 15:37
// PascalABC.NET 3.0, сборка 1073
const
  nn=30;
  mm=30;
var
  a:array[1..mm,1..nn] of integer;
  m,n,i,j,k,s:integer;
begin
  Writeln('Введите число строк и столбцов массива: '); Read(m,n);
  Randomize;
  Writeln('*** Исходный массив ***');
  k:=0;
  for i:=1 to m do begin
    for j:=1 to n do begin
      a[i,j]:=Random(51)-25;
      Write(a[i,j]:4);
      if Odd(a[i,j]) then Inc(k)
    end;
    Writeln
  end;
  if k>5 then begin
    Writeln('Средние арифметические отрицательных элементов по строкам');
    for i:=1 to m do begin
      s:=0; k:=0;
      for j:=1 to n do
        if a[i,j]<0 then begin Inc(k); s:=s+a[i,j] end;
      if k>0 then Writeln(s/k:9:5) else Writeln('  0.00000');
    end
  end
  else begin
    Writeln('*** Результирующий массив ***');
    for i:=1 to m do begin
      for j:=1 to n do begin a[i,j]:=2*a[i,j]; Write(a[i,j]:4) end;
    Writeln
    end
  end
end.

Тестовые решения:
Введите число строк и столбцов массива:
8 6
*** Исходный массив ***
 -16  -8  -1  24 -22   1
  -9 -20 -25  13 -11  10
 -15  10 -12  20 -22   3
  -6  25  -3  25 -14  22
  24  -4  24  17  -4 -17
 -23  -9 -22   1 -18 -13
 -12  13   6 -16   2 -13
  19   8 -22  14  -3   4
Средние арифметические отрицательных элементов по строкам
-11.75000
-16.25000
-16.33333
 -7.66667
 -8.33333
-17.00000
-13.66667
-12.50000

Введите число строк и столбцов массива:
3 5
*** Исходный массив ***
   3  24 -21 -22  -8
 -21  14 -22   0 -22
  15 -16  -2   6  22
*** Результирующий массив ***
   6  48 -42 -44 -16
 -42  28 -44   0 -44
  30 -32  -4  12  44
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота