Лекции по проге / 00_Структура курса
.pdf
Структура курса "Основы программирования"
Цели, задачи и структура курса Критерии качества ПО Рейтинговая система Организационные вопросы
1
Общая структура курса
1-й семестр |
2-й семестр |
|
Создание программ в |
|
Различный |
консольном режиме. |
|
Объем кода не более |
||
уровень |
||
300 строк. Сложность |
||
студентов |
||
алгоритмов – средняя и |
||
|
||
|
выше среднего |
Создание программ с графическим интерфейсом пользователя. Объем кода 1000-1500 строк. Сложность алгоритмов – не выше среднего
2
Знания и умения, приобретаемые в первом семестре
Знания
Простые типы данных и массивы в языке Си
Типы данных, определяемые пользователем, в языке Си
Операции и библиотечные функции в языке Си
Управляющие операторы в языке Си
Функции в языке Си
Указатели и динамические 3 структуры данных в языке Си
Умения
Составление тестовых примеров Составление алгоритмов
Создание консольных проектов в среде разработки Microsoft Visual Studio 2010
Кодирование алгоритмов Умение работать со справкой
Правильное форматирование и комментирование кода
Тестирование и отладка программы
Цели и задачи первого семестра
Создание качественных программ в консольном режиме
4
Критерии качества программного обеспечения (ПО)
С точки зрения пользователя
С точки зрения программиста
Написание хороших программ требует ума, вкуса и терпения Б. Страуструп
5
Критерии качества ПО с точки зрения пользователя
Функциональная полнота Высокая надежность Приемлемая стоимость
Простота и логичность работы в программе
Приемлемые требования к аппаратным требованиям
Приемлемые сроки разработки
6
Критерии качества ПО с точки зрения программиста
Простота и ясность решения Хорошо читаемый код Простота отладки Простота модификации
Возможность разработки ПО в группе Приемлемые сроки и затраты на разработку
7
Пример некачественной программы
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{float a1, a2;
printf("Введите координату X "); scanf("%f", &a1);
printf("\nВведите координату Y "); scanf("%f", &a2);
if(a1 > 0){ if(a2==0) printf("\nТочка попала на полуось +X"); else if(a2>0)
printf("\nТочка попала в I квадрант");
else printf("\nТочка попала в IV квадрант");
}
else { if(a1 < 0) if(a2 >0)printf("\nТочка попала во II квадрант"); else if(a2==0)
printf("\nТочка попала на полуось -X"); else printf("\nТочка попала в III квадрант");
else if(a2>0) printf("\nТочка попала на полуось +Y"); else {printf("\nТочка попала на полуось -Y");}
}
8return 0;}
Пример качественной программы
#include "stdafx.h"
// Определение положения точек на координатной плоскости int _tmain(int argc, _TCHAR* argv[])
{ |
|
float x, y; |
// координаты точки |
// Ввод координат точки printf("Введите координату X "); scanf("%f", &x);
printf("\nВведите координату Y "); scanf("%f", &y);
if((x > 0)&&(y == 0)) // точка попадает на полуось +X { printf("\nТочка попала на полуось +X"); }
else if((x > 0)&&(y > 0)) // точка попадает в I квадрант { printf("\nТочка попала в I квадрант"); }
else if((x == 0)&&(y > 0)) // точка попадает на полуось +Y
{ printf("\nТочка попала на полуось +Y"); }
9
Пример качественной программы (продолжение)
else if((x < 0)&&(y > 0)) // точка попадает во II квадрант { printf("\nТочка попала во II квадрант"); }
else if((x < 0)&&(y == 0)) // точка попадает на полуось -X { printf("\nТочка попала на полуось -X"); }
else if((x < 0)&&(y < 0)) // точка попадает в III квадрант { printf("\nТочка попала в III квадрант"); }
else if((x == 0)&&(y < 0)) // точка попадает на полуось -Y { printf("\nТочка попала на полуось -Y"); }
else if((x > 0)&&(y < 0)) // точка попадает в IV квадрант { printf("\nТочка попала в IV квадрант"); }
else if((x == 0)&&(y == 0)) // точка пападает в цент координат { printf("\nТочка попала в начало координат"); }
return 0;
}Качественная программа обладает «внутренней»
10 |
простотой и хорошо читаема |
