Пятница, 29.03.2024, 10:59
Блог учителя информатики и математики
О блогеМой профильРегистрацияВыходВход
Вы вошли как Гость · Группа "Гости" Приветствую Вас, Гость · RSS
Меню блога
Погода в нашем районе.

НАГРАДА

Как Вы считаете, должны ли дети ходить в школу в школьной форме?
Всего ответов: 2806
 
 Блог учителя
Главная » Статьи » Информатика » В помощь ученику

Разбор задачи C2

  Разбор задачи C2 

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти и вывести произведение элементов массива, которые имеют нечётное значение и делятся на 3. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого нечётно и кратно 3.
Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. Исходные данные всегда подобраны так, что результат произведения не выходит за пределы объявленных типов данных.
Паскаль Алгоритмический язык
const
   N=30;
var
   a: array [1..N] of longint;
   i, j, p: longint;
begin
   for i := 1 to N do
      readln(a[i]);

end.
алг
нач
   цел N=30
   целтаб a[1:N]
   цел i, j, p
   нц для i от 1 до N
      ввод a[i]
   кц
...
кон
Бейсик Си
N=30
DIM A(N) AS LONG
DIM I, J, P AS LONG
FOR I = 1 TO N
   INPUT A(I)
NEXT I

END
#include <stdio.h>
#define N 30
void main(void){
   long a[N];
   long i, j, p;
   for (i=0; i<N; i++)
      scanf("%ld", &a[i]);

}
Русский (естественный) язык
Объявляем массив A из 30 элементов.
Объявляем целочисленные переменные I, J, P.
В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.
В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка  программирования, например Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны  использовать те же самые исходные данные и переменные, какие были предложены в условии  (например, в образце, записанном на естественном языке).
 
Решение:

Фрагмент решения в программе выделен розовым:

Паскаль Алгоритмический язык
const
   N=30;
var
   a: array [1..N] of longint;
   i, j, p: longint;
begin
   for i := 1 to N do
      readln(a[i]);

   p := 1;
   for i := 1 to N do
      if (a[i] mod 2<>0) and (a[i] mod 3=0) then
         p := p * a[i];
   writeln(p);


end.
алг
нач
   цел N=30
   целтаб a[1:N]
   цел i, j, p
   нц для i от 1 до N
      ввод a[i]
   кц

   p := 1
   нц для i от 1 до N
      если mod(a[i],2)<>0 и mod(a[i],3)=0
         то
            p := p * a[i]
      все
   кц
   вывод p


кон
Бейсик Си
N=30
DIM A(N) AS LONG
DIM I, J, P AS LONG
FOR I = 1 TO N
   INPUT A(I)
NEXT I

P = 1
FOR I = 1 TO N
   IF
A(I) MOD 2<>0 AND A(I) MOD 3=0 THEN
      P = P * A(I)
   ENDIF
NEXT I
PRINT P


END
#include <stdio.h>
#define N 30
void main(void){
   long a[N];
   long i, j, p;
   for (i=0; i<N; i++)
      scanf("%ld", &a[i]);

   p=1;
   for (i=0; i<N; i++)
      if (a[i]%2!=0 && a[i]%3==0)
         p=p*a[i];
   printf("%ld", p);


}
Русский (естественный) язык
Объявляем массив A из 30 элементов.
Объявляем целочисленные переменные I, J, P.
В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й.

Записываем в P (произведение элементов массива) значение, равное 1. В цикле от 1-го до 30-го элемента ищем числа, которые являются нечетными (остаток от деления элемента массива на 2 не равен 0) и кратны 3-м (остаток от деления на 3 равен 0). Если в очередном проходе цикла находим такое число, то тогда считаем произведение данного элемента массива и значения переменной P. Результат сохраняем в переменную P. Переходим к следующему элементу массива.
Когда цикл завершается, выводится значение переменной P
Категория: В помощь ученику | Добавил: Harchev (08.04.2013)
Просмотров: 5903 | Комментарии: 1 | Теги: Разбор задачи C2, ЕГЭ, 2013, информатика, Демо | Рейтинг: 4.2/47
Всего комментариев: 0
Имя *:
Email *:
Код *:
Copyright MyCorp © 2024
Блог учителя Учительский портал