Поверхностное комментирование кода программы
 

Другие статьи из рубрики «Работа репетитора»

Содержание:

Давайте знакомиться! Я - ваш помощник в мире информатики и программирования

Здравствуйте! Меня зовут Александр Георгиевич. Я профессиональный московский рейтинговый репетитор по информатике, математике, алгоритмам, базам данных и программированию.

Одной из моих ключевых компетенций является выполнение под заказ всевозможных студенческих и школьных программ. В первую очередь я помогаю студентам, учащимся в технических вузах Российской Федерации.

Возникли проблемы с реализацией лабораторных работ или не получается алгоритмизировать и закодировать курсовую работу по программированию - берите мобильный телефон, набирайте мой контактный номер и заказывайте под ключ выполнение вашего проекта.

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

В данной статье я хотел бы рассказать своим потенциальным клиентам о том, каким образом происходит поверхностное комментирование кода программы. Чтобы каждый потребитель понимал, какого качества продукт он получит от меня после выполнения поставленной задачи.

Пример программы, использующей поверхностное комментирование

Предлагаю рассмотреть постановку задачи с последующей программной реализацией на языке программирования С++. На данном примере я продемонстрирую, что следует понимать под поверхностным комментированием кода программы.

Дан динамический одномерный целочисленный массив, состоящий из N элементов. Количество элементов запрашивается с клавиатуры от пользователя. Заполнение элементов массива осуществляется случайным образом из отрезка [-20 .. 50].

  • Вывести исходный массив на экран.

  • Найти сумму элементов массива.

  • Найти количество отрицательных элементов массива.

  • Отсортировать исходный массив методом «пузырька» и вывести его после сортировки на экран.

Поскольку язык программирования имеет мощную встроенную поддержку описания функций, то разобьем решение поставленной задачи на отдельные функции. Каждая функция будет выполнять конкретное законченное действие.

Ниже представлен программный код, правильно решающий поставленную задачу. Особое внимание обратите на комментарии. Концентрация этих комментариев невелика и они поясняют лишь самые ключевые моменты программного кода.

Наличие комментариев в подобном объеме в коде программы я называю поверхностным комментированием.

  1. // для запуска из Visual Studio
  2. #include "stdafx.h"    
  3. // для ввода-вывода информации
  4. #include <iostream>
  5. // для задач, связанных с локализацией   
  6. #include <locale>      
  7. // для использования манипуляторов ввода-вывода
  8. #include <iomanip>     
  9.  
  10. using namespace std;   
  11. //---------------------------------------------
  12. // Заполнение элементов массива случайными значениями из отрезка [-20 .. 50]
  13. //---------------------------------------------
  14. void initVector(int *pv, const int pn)
  15. {
  16.     for(int i = 0; i < pn; i++)
  17.         pv[i] = rand() % 71 - 20;
  18. }
  19. //---------------------------------------------
  20. // Вывод элементов массива на экран пользователя
  21. //---------------------------------------------
  22. void printVector(int const *pv, const int pn, const char *pmessage)
  23. {
  24.     cout << pmessage;
  25.     for(int i = 0; i < pn; i++)
  26.         cout << setw(5) << pv[i];
  27.     cout << endl << endl;
  28. }
  29. //---------------------------------------------
  30. // Нахождение суммы элементов массива
  31. //---------------------------------------------
  32. int getSumElemVector(int const *pv, const int pn)
  33. {
  34.     int sum = 0;
  35.     for(int i = 0; i < pn; i++)
  36.         sum += pv[i];
  37.     return sum;
  38. }
  39. //---------------------------------------------
  40. // Нахождение количества отрицательных элементов массива
  41. //---------------------------------------------
  42. unsigned short getCountNegativeElem(int const *pv, const int pn)
  43. {
  44.     unsigned short k = 0;
  45.     for(int i = 0; i < pn; i++)
  46.         if(pv[i] < 0)
  47.             k++;
  48.     return k;
  49. }
  50. //---------------------------------------------
  51. // Сортировка массива методом "пузырька"
  52. //---------------------------------------------
  53. int* bubbleSortVector(int *pv, const int pn)
  54. {
  55.     int swap;
  56.     for(int i = 0; i < pn; i++)
  57.         for(int j = pn - 1; j > i; j--)
  58.             if(pv[j] < pv[j - 1])
  59.             {
  60.                 swap = pv[j];
  61.                 pv[j] = pv[j - 1];
  62.                 pv[j - 1] = swap;
  63.             }
  64.     return pv;
  65. }
  66. //---------------------------------------------
  67. // Главная функция всего проекта
  68. //---------------------------------------------
  69. int main()
  70. {
  71. // поддержка русскоязычных диалогов
  72.     setlocale(LC_ALL, ""); 
  73. // чтобы каждый раз генерировались новые случайные значения  
  74.     srand(time(0));            
  75.     int n;
  76.     cout << "Введите количество элементов массива: ";
  77.     cin >> n;
  78.     int *v = new int[n];
  79.     initVector(v, n);
  80.     printVector(v, n, "Исходный массив: ");
  81.     cout << "Сумма элементов массива: " << getSumElemVector(v, n) << endl;
  82.     cout << "Количество отрицательных элементов массива: " << getCountNegativeElem(v, n) << endl;
  83.     bubbleSortVector(v, n);
  84.     printVector(v, n, "Массив после сортировки: ");
  85. // необходимо не забыть освободить динамическую память из-под массива
  86.     delete []v;                
  87.  
  88.     cout << endl;
  89.     system("pause");
  90.     return 0;
  91. }
  92. //---------------------------------------------

Как влияет поверхностное комментирование на конечную стоимость программы

Хочу вас обрадовать! Подобные комментарии в своих проектах по программированию я проставляю абсолютно бесплатно. Это занимает от 2 до 3 минут, поэтому, считаю, что могу позволить себе проделать данную работу безвозмездно.

Если же вопрос касается улучшенного или сверхдетального комментирования, то, разумеется, расценки за строчку комментария оговариваются с каждым заказчиком индивидуально.

Также не стоит забывать о том, что в поверхностных комментариях я и сам нуждаюсь, так как их наличие позволяет мне быстрее понимать и находить нужные фрагменты кода.

Остались вопросы? Звоните мне на сотовый телефон

Если у вас остались какие-либо вопросы или недопонимание, связанное с поверхностным комментированием, вы все еще сомневаетесь, а тот ли я исполнитель, который способен качественно выполнить ваш проект по программированию, то берите телефон и дозванивайтесь до меня.

Также я настоятельно рекомендую вам потратить некоторое количество времени и познакомиться с видео, а самое главное с отзывами под этим видео, в котором я детально поясняю все хитросплетения нашего будущего взаимовыгодного сотрудничества.

Очень часто студенты, обратившиеся ко мне за оперативной помощью, заказывают разовые частные уроки в виде консультаций, на которых я поясняю любые труднопонимаемые фрагменты программного кода.

Как правило, консультация проходит дистанционно посредством программы «Скайп». Вам даже не придется выходить из своей квартиры, чтобы получить профессиональную техническую поддержку.

Отзывы
моих учеников

Пахмутов
Кирилл

 
Я не знаю почему, но так сложилось, что я не смог сходу понять логические преобразования и обратился за помощью к профессиональному репетитору Александру Георгиевичу. Результат превзошел все мои ожидания, я досконально...

Курцева
Мария

 
Я очень довольна результатами)) Меня бы даже устроило бы и 70 баллов. Положительные стороны репетитора: интересно доносит материал, является экспертом в своей области, уроки ориентированы на практику. Из отрицательных...


Маслова

 
Я очень долго искала профессионального репетитора, который знает не только азы Паскаля, а также хорошо разбирается в динамических структурах данных. Очень рада, что Александр Георгиевич оказался замечательным...

Александров
Михаил

 
В школе никогда не было нормальной информатики, поэтому на первом курсе я столкнулся с большой проблемой. Надо было научится программировать на языке "чистый" СИ. А я даже не знал азы и не представлял что такое...

Иванов
Денис

 
Очень много нового узнал о ДС, Александр Георгиевич показал несколько способов построения бинарного дерева, а также реализацию функций повышенного уровня сложности. Когда шел на экзамен, то абсолютно не волновался, так...

Даниил
Сафонов

 
Чтобы программировать, нужно быть усидчивым и очень умным человеком. Я больше гуманитарий, поэтому мне вся эта техническая мысль дается крайне сложно. Но мне понравилось работать с Александром Георгиевичем. Видно, что...

Иванцова
Татьяна

 
Никогда не думала, что за 15 дней можно серьезно подготовиться к зачету по MS Excel 2003. С репетитором занимались очень интенсивно и очень много решали заданий. Было интересно и познавательно в целом, но в жизни, я...

Трунин
Сергей

 
На редкость сильный репетитор, абсолютно компетентен в преподаваемом предмете, знает язык программирования Turbo Pascal просто "насквозь". Было интересно заниматься и очень познавательно, так как в школе мы ничего этого...

Сычев
Владимир

 
Понравилось заниматься, т к я научился более серьезно понимать программные конструкции, понял наконец-то что такое "указатель" и уже не так сильно боюсь программирования. Главное, больше практиковаться и решать простые...

Павленко
Илья

 
Жаль, что я потерял 1 балл)) Александр Георгиевич подготовил меня очень круто. Когда я увидел задания на экзамене, то понял, что я могу решить абсолютно все. На экзамене я не переживал, т к был уверен в собственных...

Каховская
Оксана

 
Хочу всем сказать, что я по своему духу лингвист. Паскаль - это формальный язык написания текстов. Благодаря репетитору я уверенно себя стала чувствовать при написании программ. Мне досконально понятны все базовые...

Леонов
Никос

 
Полученный бал, превзошел все мои ожидания, так как я максимум рассчитывал на 90 баллов тестовых. Думаю, получением столь высокой оценки я обязан репетитору Александру Георгиевичу. Но мой личный вклад тоже не мал!

Булычев
Владимир

 
С учителем мы сошлись характерами и я стал заниматься регулярно и продолжительное время. Очень много давалось домашних заданий, что я даже не успевал все выполнять, так как был занят еще в ВУЗе. Выражаю огромную...
Смотреть все отзывы
 
 
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?
Занятия по информатике