Главная » Дан целочисленный массив из 31 элемента, в котором...
20:32

Дан целочисленный массив из 31 элемента, в котором...


Задание:

Дан целочисленный массив из 31 элемента, в котором записаны значения температуры воздуха в марте. Элементы массива могут принимать значения от (–20) до 20. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит среднюю температуру по всем дням, когда была оттепель (температура поднималась выше нуля). Гарантируется, что хотя бы один день в марте была оттепель. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.

Паскаль

Естественный язык

const N = 31; 
var A: array[1..N] of integer; 
    i, x, y: integer; 
    s: real; 
begin
  for i:=1 to N do readln(A[i]); 
  ...
end.

Объявляется массив A из 31 элемента. 
Объявляются целочисленные переменные i, x и y, а также вещественная переменная s.
В цикле от 1 до 31 заполняются все элементы массива A с 1-ого по 31-ый.
...

 

Си

 

#include <stdio.h> 
int main(void) {
    const int N=31; 
    int A[N]; 
    int i, x, y; 
    float s; 
    for (i=0; i<N; i++)
     scanf(″%d″, &A[i]); 
  ...
}

 

Решение: 

Нужно найти количество дней, когда была оттепель, и общую сумму температур в эти дни. Средняя температура вычисляется как сумме температур, деленная на количество дней. В переменной x будем считать дни оттепели, а в переменной y – накапливать сумму температур. Сначала в обе эти переменные запишем нули (начальные значения). Затем в цикле от 1 до 31 рассматриваем все элементы массива A. Если очередной элемент больше 0, увеличиваем переменную x на единицу (считаем этот день) и добавляем значение этого элемента массива к старому значению переменной y. После окончания цикла выводим результат деления y на x. Недостающая часть программы может выглядеть так:

  1. x := 0; y := 0;  { не забыть начальные условия! }
  2.  for i:=1 to N do
  3.    if A[i] > 0 then begin
  4.      x := x + 1;
  5.      y := y + A[i];
  6.    end;
  7.  s := y / x;
  8.  writeln('Средняя температура ', s:10:3);

 


Похожие материалы:
Нашли ошибку на сайте? Напишите в комментариях!
Категория: Язык программирования: Паскаль | Просмотров: 50 | Добавил: Ученик | Рейтинг: 5.0/1