let x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
for(let i = 0;i<x.length; i++){
if(i % 2 == 0){
console.log(i/3)//не знаю правильно ли???
}
}
задан 29 янв 2020 в 22:28
VahanVahan
4832 серебряных знака14 бронзовых знаков
1
let x = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
var count = 0;
var summ = 0;
for(let i = 0;i<x.length; i++){
if(x[i] % 2 == 0){ //Тут берём число и проверяем чётное ли. i у Вас это ключ
count += 1; // Если чётное считаем сколько чётных цифр
summ += x[i]; // Если чётно считаем сумму чётных
}
}
var itog = summ / count; // Выводим среднее - делим сумму на количество.
console.log(itog);
ответ дан 29 янв 2020 в 22:41
Denis640KbDenis640Kb
14k5 золотых знаков21 серебряный знак45 бронзовых знаков
Формулировка задачи:
Задан массив из 10 целых чисел. Найдите среднее арифметическое всех четных элементов массива.
Хелп плиз
Код к задаче: «Найдите среднее арифметическое всех четных элементов массива»
textual
Var x: Array[1..10] of Integer; i,k: Integer; s: Longint; BEGIN Writeln('Введите массив:'); For i:=1 to 10 do begin Readln(x[i]); If x[i] mod 2=0 Then begin s:=s+x[i]; k:=k+1; end; end; Writeln('Среднее арифметическое четных = ',s/k:5:2); Readln END.
Полезно ли:
13 голосов , оценка 4.231 из 5
Program NoName;
var num: integer;
x, y: real;
Begin
readln(num);
if (num>=10)and(num<=99)then
begin
x := trunc(num/10);
y := (num/10-trunc(num/10))*10;
writeln(x+y);
writeln(x*y);
writeln(y*10+x);
end;
end.
Ну вот так как-то…
Ответ:
Мне кажется это больше логическая задача. Если я правильно понял то:
1.2.2) 4)
1.2.3) 2)
1.2.4) 1) или 3)
1.2.5) 1)
Решение в прикрепленном файле.
Ответ:
1)
10010100₂ = 0*2⁰ + 0*2¹ + 1*2² + 0*2³ + 1*2⁴ + 0*2⁵ + 0*2⁶ + 1*2⁷ = 148₁₀
148₁₀ = 4*8⁰ + 2*8¹ + 2*8² = 224₈
148₁₀ = 4*16⁰ + 9*16¹ = 94₁₆
2)
300₈ = 0*8⁰ + 0*8¹ + 3*8² = 192₁₀
192₁₀ = 0*2⁰ + 0*2¹ + 0*2² + 0*2³ + 0*2⁴ + 0*2⁵ + 1*2⁶ + 1*2⁷ = 11000000₂
192₁₀ = 0*16⁰ + 12*16¹ = C0₁₆
3)
172₁₀ = 0*2⁰ + 0*2¹ + 1*2² + 1*2³ + 0*2⁴ + 1*2⁵ + 0*2⁶ + 1*2⁷ = 10101100₂
172₁₀ = 4*8⁰ + 5*8¹ + 2*8² = 254₈
172₁₀ = 12*16⁰ + 10*16¹ = AC₁₆
4)
A5₁₆ = 5*16⁰ + A*16¹ = 165₁₀
165₁₀ = 1*2⁰ + 0*2¹ + 1*2² + 0*2³ + 0*2⁴ + 1*2⁵ + 0*2⁶ + 1*2⁷ = 10100101₂
165₁₀ = 5*8⁰ + 4*8¹ + 2*8² = 245₈
5)
10111000₂ = 0*2⁰ + 0*2¹ + 0*2² + 1*2³ + 1*2⁴ + 1*2⁵ + 0*2⁶ + 1*2⁷ = 184₁₀
10001110₂ = 0*2⁰ + 1*2¹ + 1*2² + 1*2³ + 0*2⁴ + 0*2⁵ + 0*2⁶ + 1*2⁷ = 142₁₀
184₁₀ + 142₁₀ = 326₁₀
326₁₀ = 0*2⁰ + 1*2¹ + 1*2² + 0*2³ + 0*2⁴ + 0*2⁵ + 1*2⁶ + 0*2⁷ + 1*2⁸ = 101000110₂
Большинство задач на обработку массива сводятся к комбинированию следующих алгоритмов:
- Заполнение
- Заполнение случайными числами.
- Использование в формуле заполнения индекса элемента.
- Использование рекуррентного соотношения.
- Анализ
- Задачи подсчета — нахождение суммы или количества элементов таблицы, обладающих заданным свойством.
- Нахождение минимального или максимального среди элементов массива.
- Задачи, в которых требуется найти какие-то характеристики массива.
- Поиск
- Перестановка
- Задачи, в которых требуется поменять местами элементы массива.
- Задачи циклической перестановки.
- Задачи сортировки элементов массива.
- Задачи анализа
- Задачи подсчёта
- Нахождение минимального или максимального среди элементов массива
- Задачи, в которых требуется найти какие-то характеристики массива
- Применение алгоритма задач анализа для решения практических задач
В задачах анализа массив уже задан, и требуется найти какие-то его характеристики. Наиболее типичные базовые задачи анализа — нахождение суммы элементов массива, подсчет количества элементов, обладающих заданным свойством, определение минимального и максимального элементов.
В предлагаемой классификации определение максимума и минимума, относятся к задачам анализа, так как максимальный элемент является характеристикой массива в целом. Поиск здесь ведется по относительному признаку (больше других), и опознать элемент как максимальный можно только просмотрев весь массив.
К основным задачам подсчёта относятся задачи на нахождение суммы, произведения элементов массива, а также, задачи на нахождение количества элементов, удовлетворяющих определенным условиям. При решении данных задач необходимо использовать следующие действия:
Название |
Действие до цикла |
Действие в цикле | Действия после цикла |
сумма | s: = 0; | s: = s + a [ i ] | write (‘s=’,s); |
произведение | p:= 1 ; | p: = p * a [ i ] | write (‘p=’,p); |
количество | k: = 0; | if условие then k: = k + 1 | write (‘k=’,k); |
Задача 1. Составить программу нахождения суммы и произведения всех элементов одномерного массива.(.pas)
Исходные данные: массив x, содержащий n вещественных чисел.
Результат: сумма s и произведение p всех элементов массива.
Метод решения:
– начиная с нулевого значения суммы, добавляем поочередно новый элемент ряда и находим значение искомой суммы;
– начиная с начального, единичного произведения, находим искомое произведение, умножая текущее значение произведения на очередной элемент ряда.
program SPMas; |
Задача 2. Составить программу нахождения количества элементов целочисленного массива с нечетными индексами, запись которых оканчивается на 5. (.pas)
Исходные данные: массив a, содержащий n целых чисел.
Результат: k – количество элементов массива, запись которых оканчивается на 5 и имеющих нечетные индексы.
Метод решения:
– в цикле: вводим элемент массива, если он удовлетворяют условию задачи, то значение переменной k увеличиваем на 1, затем вводим следующий элемент.
– выводим k.
program kol; |
Задача 3. Найти среднее арифметическое всех элементов массива.(.pas)
Исходные данные: массив x, содержащий n вещественных чисел.
Результат: sr – среднее арифметическое всех элементов массива.
Метод решения:
– начиная с нулевого значения суммы sum, добавляем поочередно новый элемент ряда и находим значение суммы всех элементов массива;
– среднее арифметическое sr находим делением sum на n.
program SPMas; |
Нахождение минимального или максимального среди элементов массива.
При решении задач на нахождение максимального или минимального элемента необходимо использовать следующие действия:
Название | Действие до цикла | Цикл | Действия после цикла |
Поиск максимального (минимального) элемента произвольного массива |
|||
максимум | max: = a [ 1 ]; |
for i:=2 to n do |
write (‘max=’,max) ; |
максимум |
n_max:=1; |
for i:=2 to n do if a [ i ] > a[n_max] then n_max:= i; |
write (‘max=’,a [ n_max ]) ; |
минимум | min : = a [ 1 ]; | for i:=2 to n do if a [ i ] < min then min:=a [ i ]; |
write (‘min =’,min) ; |
Поиск максимального (минимального) элемента массива, про значения элементов которого известно, что они принадлежат определенному диапазону [a; b]. |
|||
максимум | max: = a; |
for i:=1 to n do |
write (‘max=’,max) ; |
минимум | min : = b; | for i:=1 to n do if a [ i ] < min then min:=a [ i ]; |
write (‘min =’,min) ; |
Поиск номера максимального элемента произвольного массива | |||
номер максимального |
n_max:=1; | for i:=2 to n do if a [ i ] >a [ n_max] then n_max:= i ; |
write (‘n_max =’,n_max) ; |
Задача 4. Составить программу нахождения максимального элемента произвольного одномерного массива.(.pas)
Исходные данные: массив x, содержащий m вещественных чисел.
Результат: максимальный элемент массива max.
Метод решения:
– в качестве начального значения максимума возьмем значение первого элемента массива;
– начиная со второго, переберем все элементы и проверим, есть ли элемент, который больше, чем этот выбранный максимум. Если такой нашелся – будем считать его максимальным и сравним с остальными.
program maximum; const n = 7; var x: array [1..n] of real; max: real; i: integer; begin for i:=1 to n do read (x[i]); max:=x[1]; for i:=2 to n do if (x [i]>max) then max:= x [ i ]; writeln(‘max = ‘,max); end. |
Задача 5. Составить программу нахождения номера максимального элемента произвольного одномерного массива.(.pas)
Исходные данные: массив a, содержащий n вещественных чисел .
Результат: n_max – номер максимального элемента массива.
Метод решения:
– в программе можно выделить две части: заполнение массива числами (первый цикл for) и непосредственно поиск индекса максимального элемента (второй цикл for);
– изначально делается предположение, что первый элемент массива и есть максимум. Поэтому переменной n_max присваивается значение 1 (т.е. указатель на первый элемент массива), а max[n_max] – непосредственно значение, хранящееся в первой ячейке массива;
– начиная со второго элемента, каждое очередное значение массива сравнивается со значением max[n_max]. В случае, если текущее значение массива больше, чем хранящиеся в n_max, происходит новое присваивание индекса.
program numer_max; |
Вопросы:
Задачи, в которых требуется найти какие-то характеристики массива.
Задача 6. Проверить, что массив упорядочен по возрастанию.(.pas)
Исходные данные: массив a, содержащий n целых чисел .
Результат: сообщение “массив упорядочен ” или сообщение “массив неупорядочен”.
Метод решения:
– введем дополнительную переменную-флажок flag (критерий упорядоченности). Присвоим ей начальное значение, равное нулю.
– посчитаем в каком количестве случаев порядок элементов в паре будет верным. Для этого переберём все соседние пары элементов (их будет n-1). Если в паре элемент с меньшим номером оказался больше, чем элемент с большим номером, то увеличим на единицу переменную-флажок flag.
– после окончания цикла проверим, изменилось ли значение переменной flag. Если оно осталось равным нулю – значит, во всех парах порядок верный и массив упорядочен. Иначе массив неупорядочен.
program z; const n=5; var flag,i: integer; a: array [1..n] of real; begin flag:=0; for i:=1 to n do read(a[i]); for i:=1 to n-1 do if a[i]>a[i+1] then flag:=flag+1; if flag=0 then writeln (‘упорядочен’) else writeln (‘неупорядочен’); end. |
Применение алгоритма задач анализа для решения практических задач
Задачи:
- Пусть известно, что в автопарке, имеется 21 машина марки ТАТРА. Каждый из автомобилей перевез за день определенный объем груза. Определить суммарный объем перевозок грузов за день (.pas).
- Известна среднегодовая зарплата 15 сотрудников одного предприятия. Найти величину наименьшей среднемесячной зарплаты этих сотрудников (.pas).
- Известны результаты экзамена 15 выпускников школы по истории. Определить, сколько выпускников сдали экзамен на 5 (.pas).
- На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки: Иванов Петр 4 5 4. Требуется написать программу на языке Паскаль или Бейсик, которая будет выводить на экран фамилии и имена трех лучших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трех лучших, то следует вывести и их фамилии и имена.(.exe)(.pas)
Вопросы:
-
Дан фрагмент программы, обрабатывающий массив А из 10 элементов:
n := 10;
for i:=1 tо n do A[i] := i;
j := 1;
for i:=1 tо n-1 do
if A[i] < A[i+1] then j := j + 1;
Чему будет равно значение переменной j после выполнения этого алгоритма?
1
2
10
11 - Дан фрагмент программы, обрабатывающий массив А из 10 элементов:
j := 1;
for i:=1tо 10 do
if A[i] = A[j] then j := i;
s := j;
Чему будет равно значение переменной s после выполнения этого алгоритма?
1
10
индексу элемента, равного первому, и имеющему наибольший индекс
индексу элемента, равного последнему, и имеющему наименьший индекс -
В программе описан одномерный целочисленный массив с индексами от 1 до n. Известно, что в массиве есть несколько элементов с максимальным значением. Дан фрагмент программы:
j:=1;
for i:=1 to n do
if A[i] > A[j] then j:= i;
s:=j;
Чему будет равно значение переменной s после выполнения этого фрагмента программы:
значению максимального элемента
количеству элементов в массиве A, имеющих максимальное значение
индексу первого элемента в массиве A, имеющего максимальное значение
индексу последнего элемента в массиве A, имеющего максимальное значение - Значения двух массивов A и B с индексами от 1 до 100 задаются при помощи следующего фрагмента программы:
for i:=1 to n do A[i]:=i*i;
for i:=1 to n do B[i]:=A[i]-100;
Сколько положительных значений будет в массиве B?
0
10
90
91
;
К началу страницы
№ |
Фрагмент программы |
Блок – схема |
1 |
Вычисление суммы всех элементов массива |
|
2 |
Вычисление среднего арифметического чётных элементов массива |
|
3 |
Найти произведение всех элементов массива |
|
4 |
Количество четных элементов массива |
|
5 |
Удвоить все положительные элементы массива, и поменять знак у остальных |
|
6 |
Перестановка всех элементов массива в обратном порядке |
|
7 |
Перестановка соседних элементов массива |
|
8 |
Обмен половин массива |
|
9 |
Проверить, есть ли в массиве четные числа |
|
10 |
Проверить, что массив упорядочен строго по возрастанию |
|
11 |
Поиск максимального элемента массива (границы изменения значений элементов массива неизвестны) |
|
12 |
Значения элементов массива принадлежат промежутку от -500 до 500. Найти максимальный элемент массива. |
|
13 |
Поиск количества элементов произвольного массива равных максимальному |
|
14 |
Найти номер максимального элемента массива, если он единственный, или количество максимальных элементов, если их несколько. |
|
15 | Поиск второго по величине максимального элемента массива max:=a[1]; max2:=a[2]; if max<max2 then begin max:=a[2]; max2:=a[1]; end; for i:=3 to n do if a[i]>max then begin max2:=max; max:=a[i]; end else if a[i]>max2 then max2:=a[i]; |
|
16 |
Поиск номера максимального элемента |
|
17 |
Значения элементов массива принадлежат диапазону от – 500 до 500. найти максимальный отрицательный элемент массива. Гарантируется, что отрицательные элементы есть. |
|
18 |
Номера двух элементов массива наименее отличающихся друг от друга |
|
19 |
Номера двух последовательных элементов массива наименее отличающихся друг от друга |
- Тест
- Задачи
Задача 1 (..pas) Дан целочисленный массив из 30 элементов. Элементы могут принимать значения от 0 до 100 – баллы, полученные на ЕГЭ. Опишите на русском языке или на одном из языков программирования алгоритм, который подсчитывает и выводит средний балл учащихся, сдавших экзамен (получивших оценку более 20 баллов). Гарантируется, что хотя бы один ученик в классе успешно сдал экзамен. Исходные данные объявлены так, как показано ниже. Использовать другие переменные запрещается.
const N = 30;
var A: array[1..N] of integer;
i, x, y: integer;
s: real;
begin
for i:=1 to N do readln(A[i]);
…
end.
Задача 2 (..pas) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест по информатике. Для получения положительной оценки за тест требовалось набрать не менее 20 баллов. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит минимальный балл среди учащихся, получивших за тест положительную оценку. Известно, что в классе хотя бы один учащийся получил за тест положительную оценку. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
const N=30;
var a: array [1..N] of integer;
i, j, min: integer;
begin
for i:=1 to N do readln(a[i]);
…end.
Задача
3 (.pas) Дан массив, состоящий из 30 вещественных чисел. Вычислить сумму всех элементов. Массив вводится с клавиатуры.
а) Наберите программу или воспользуйтеть файлом .pas, заменив многоточие на необходимые команды:
Program z;
Const n=5;
type mas=array[1..n] of real;
var a: mas;
s: real;
i: integer;
begin
for i:=…….. to ……. do
begin
writeln (‘введите элемент массива’);
………………….;
S:=S+…….. ;
end;
writeln (‘ Сумма равна’,…….);
End.
б) запустите данную программу и посмотрите результат её работы.
Задача
4. Дан массив целых чисел.
а) каждый положительный элемент, заменить на его квадрат;
б) выяснить, верно ли, что максимальный элемент больше среднего арифметического на 5.
Задача
5 (.pas) Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести минимальное значение среди элементов массива, которые имеют чётное значение и не делятся на три. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого чётно и не кратно трем. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но использовать все описанные переменные не обязательно.
const
N = 20;
var
a: array [1..N] of integer;
i, j, min: integer;
begin
for i := 1 to N do
readln(a[i]);
……….
end.
drtusingh395
Вопрос по информатике:
Задан массив из 10 целых чисел. Найдите среднее арифметическое всех четных элементов массива. Пожалуйста, составьте программу в паскале:)
Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?
Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок – бесплатно!
Ответы и объяснения 1
ghaidedero575
Задачка в один оператор)))
// PascalABC.NET 3.0, сборка 1150 от 22.01.2016
begin
Writeln(ArrRandom(10,1,99).Println.Where(x->x mod 2=0).Average)
end.
Тестовое решение:
96 42 79 85 16 22 50 62 54 40
47.75
“Школьный подход” (видимо, короткому решению у нас не учат)
// PascalABC.NET 3.0, сборка 1150 от 22.01.2016
const
n=10;
var
a:array[1..n] of integer;
i,k,s:integer;
begin
s:=0;
k:=0;
Randomize;
for i:=1 to n do begin
a[i]:=Random(99)+1;
Write(a[i],’ ‘);
if a[i] mod 2 = 0 then begin
s:=s+a[i];
Inc(k)
end
end;
Writeln;
Writeln(s/k)
end.
Тестовое решение:
22 22 58 41 54 80 71 65 47 99
47.2
Знаете ответ? Поделитесь им!
Гость ?
Как написать хороший ответ?
Как написать хороший ответ?
Чтобы добавить хороший ответ необходимо:
- Отвечать достоверно на те вопросы, на которые знаете
правильный ответ; - Писать подробно, чтобы ответ был исчерпывающий и не
побуждал на дополнительные вопросы к нему; - Писать без грамматических, орфографических и
пунктуационных ошибок.
Этого делать не стоит:
- Копировать ответы со сторонних ресурсов. Хорошо ценятся
уникальные и личные объяснения; - Отвечать не по сути: «Подумай сам(а)», «Легкотня», «Не
знаю» и так далее; - Использовать мат – это неуважительно по отношению к
пользователям; - Писать в ВЕРХНЕМ РЕГИСТРЕ.
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует?
Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие
вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи –
смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.