Логотип сайта

Подготовка к ЕГЭ и ОГЭ

  • Главная
  • Информация о сайте
  • Сочинения ЕГЭ
  • Выпускное сочинение
  • Поиск по сайту

Дан целочисленный массив...найти и вывести...

Категория: Язык программирования: Паскаль

Задание:

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест по информатике. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет найти и вывести количество учащихся, чья оценка за тест выше средней оценки в классе. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.

Паскаль

const N=30; 
var a: array [1..N] of integer; 
    i, j: integer; 
    s: real; 
begin
  for i:=1 to N do readln(a[i]); 
  ...
end.

Си

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

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

Объявляем массив A из 30 элементов. Объяв-ляем целочисленные переменные i, j.
Объявляем действительную переменную s.
В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.
...

Решение:

Эта задача в целом напоминает упрощенный вариант этой задачи, поэтому можно сразу привести решение. Единственная тонкость – можно исключить операции с вещественными числами, которые (теоретически) могут привести к ошибкам. Подробно этот прием описан в решении предыдущей задачи.
Решение на естественном языке. Записываем в переменную s начальное значение 0. В цикле добавляем все значения элементов массива, от 1-ого до 30-ого, к значению переменной s. После завершения цикла делим значение s на 30, чтобы найти среднее значение. Далее записываем в переменную j начальное значение 0. В цикле рассматриваем все элементы массива, от 1-ого до 30-ого, сравниваем значение текущего элемента со значением переменной s. Если значение текущего элемента больше значения s, увеличиваем счетчик j на 1. После завершения цикла выводим значение переменной j.
В приведенном выше решении на естественном языке дан «чистый» алгоритм. При работе на реальном компьютере нужно заботиться о точности вычислений, поэтому в программе на Паскале вместо проверки условия a[i] > среднего мы используем равносильное ему a[i]*N > суммы элементов. При этом переменную s можно было бы сделать и целой (но она вещественная по условию задачи, это нельзя менять!).

 const N=30;
var a: array [1..N] of integer;
    i, j: integer;
    s: real;
begin
  for i:=1 to N do readln(a[i]);
  s:= 0;
  for i:=1 to N do s:= s + a[i];
  j:= 0;
  for i:=1 to N do
   if a[i]*N > s then j:= j + 1;
  writeln(j)
end.
Похожие материалы
  • Дан целочисленный массив из 30 элементов...
  • Дан целочисленный массив из 20 элементов...
  • Дан целочисленный массив из 30 элементов...
  • Дан целочисленный массив из 30 элементов...
  • Дан целочисленный массив..Элементы массива могут..
  • Дан целочисленный массив из 31 элемента...
  • Дан целочисленный массив из 30 элементов...
  • 1
  • 2
  • 3
  • 4
  • 5
Оценка: 2.5 из 13

💬 Чат ЕГЭ В Telegram. Вступить

Copyright Vopvet.Ru © 2025 Хостинг от uWeb