2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Верно ли?
Сообщение10.12.2013, 14:19 
Программа составлена по задаче : Дан числовой массив A размера N. Сформировать новый массив B того же размера по следующему правилу: элемент B[k] равен сумме элементов массива A с номерами от 1 до k.
код: [ скачать ] [ спрятать ]
Используется синтаксис C++
#include<iostream>

using System;
 
 
namespace ConsoleApplication5
void main();
{
    class Program
    {
        static void Main(string[] args)
        {
           
            Console.WriteLine("Введите N");            
            int N = Int32.Parse(Console.ReadLine());
            int[] A = new int[N];
            for (int i = 0; i < N; i++)
            {
                A[i] = i+1;                
            }
            int k = 0;
            int sum = 0;
            int[] B = new int[N];
            for (int i = 0; i < N; i++)
            {
                sum = 0;
                for (k=i; k < N; k++)
                {
                    sum = sum + A[k];
                }
                B[i] = sum;
            }
            Console.Write("Массив A \n");
            foreach (int x in A)
            { Console.Write(x + " "); }
            Console.WriteLine("\nМассив B");
            foreach (int x in B)
            { Console.Write(x + " "); }
            Console.ReadLine();
           
        }
    }
}
 

и какие коментарии можно подписать в код..

 
 
 
 Re: Верно ли?
Сообщение10.12.2013, 16:15 
Начну с конца: комментарии можно писать любые.
И — тестировать пробовали? И?
И последнее (или первое): что за язык?

 
 
 
 Re: Верно ли?
Сообщение10.12.2013, 17:29 
Аватара пользователя
Тут и язык знать не нужно, чтобы понять, что мало того, что алгоритмически неверно, но хуже того: не эффективно. Ну хотя бы на бумажке, вручную, для массива из пяти единиц сделать то, что требуется по заданию. Тестировать надо уже мелочи.

 
 
 
 Re: Верно ли?
Сообщение11.12.2013, 10:42 
st.basic в сообщении #798662 писал(а):
Дан числовой массив A размера N.
Может, стоит его всё-таки ввести, а не заполнять числами $1,\ldots,N$?

 
 
 
 Re: Верно ли?
Сообщение11.12.2013, 12:53 
gris в сообщении #798764 писал(а):
Тут и язык знать не нужно, чтобы понять, что мало того, что алгоритмически неверно, но хуже того: не эффективно
Не, "неверно" таки хуже, чем "неэффективно".
Язык, конечно, знать для вывода не надо. Просто любопытно
gris в сообщении #798764 писал(а):
Тестировать надо уже мелочи
Ну дык а это что? По какой-то классификации, помнится, программы до 1000 строк — мелочи, не требующие вообще ничего (книжка была по структурному программированию), их можно просто садиться и писать.

 
 
 
 Re: Верно ли?
Сообщение12.12.2013, 14:28 
iifat в сообщении #799087 писал(а):
По какой-то классификации, помнится, программы до 1000 строк — мелочи, не требующие вообще ничего (книжка была по структурному программированию), их можно просто садиться и писать.

Как мне это нравится!!!

 
 
 
 Re: Верно ли?
Сообщение12.12.2013, 15:10 
Аватара пользователя
iifat писал(а):
Тестировать пробовали? <...> Не, "неверно" таки хуже, чем "неэффективно".

Позволю себе немного не согласиться.
1) Автор, по крайней мере, попробовал попробовать потестировать, задав хороший массив данных.

2) Неверность кода или алгоритма может быть устранена в процессе отладки. А неэффективность — она не в коде сидит. Ну начали подсчитывать совершенно не то. ТС отвлёкся. Это сразу же выяснилось бы, если бы он повнимательнее почитал задание. А вот то, что он многократно одно и то же складывает, это нехорошо. Я, конечно, не про тончайшую эффективность, которую сразу можно и не почувствовать.

3) Наверное, я плохо выразился. Под тестированием и мелочами я понимал завершающее тестирование, когда проверяются ошибки входных данных, защиты от дурака и прочие мелкие недоделки.

Ну это, конечно, философствование :-)

 
 
 
 Re: Верно ли?
Сообщение12.12.2013, 15:59 
gris в сообщении #799714 писал(а):
Под тестированием и мелочами я понимал завершающее тестирование
А. Это, по-моему, называется надёжность. Когда не падает попустякам.

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group