Оглавление
Структура работы....................................................................................................... 2
Задание 1. Базовый вывод информации............................................................. 3
Задание 2. Составление блок-схем алгоритмов................................................ 5
Задание 3. Анализ программного кода................................................................ 7
Задание 4. Вычисление выражений................................................................... 14
Задание 5. Условный оператор............................................................................ 21
Задание 6. Работа с одномерными массивами................................................ 26
Приложение............................................................................................................... 30
Оформление выполняемых заданий.................................................................................... 30
Оформление исходного кода..................................................................................................... 30
1. Титульный лист
2. Лист задания
3. Оглавление
4. Вводная часть
a. Краткая история развития языков программирования
b. Описание и сравнение основных языков и сред программирования
c. Отсортированный список наиболее используемых/популярных языков на текущее время
5. Описание основных алгоритмов и синтаксиса языка C++
a. Операции базового ввода/вывода
b. Краткое описание правил составления блок-схем
c. Выполнение арифметических операций в программе
d. Использование условного оператора
e. Назначение и применение одномерных/многомерных массивов
6. Практические задания
a. Задание 1
b. Задание 2
c. Задание 3
d. Задание 4
e. Задание 5
f. Задание 6
7. Заключение
a. Выводы и замечания по проделанной работе
Программа рисующая которая с помощью функции print рисует из символов:
1. Ваше имя в рамке (пример):
****************************************************
* _____ .___ *
* / _ \ ____ __| _/_______ ____ __ _ __*
* / /_\ \ / \ / __ | \_ __ \_/ __ \ \ \/ \/ /*
*/ | \| | \/ /_/ | | | \/\ ___/ \ / *
*\____|__ /|___| /\____ | |__| \___ > \/\_/ *
* \/ \/ \/ \/ * ****************************************************
2. Нарисовать автопортрет из ASCII символов
Для оценки качества выполнения работы результат должен быть представлен в виде:
1. Программного кода:
// Задание №1 - Программа выводит на экран имя // Автор: Хайдаров А.Г.
#include "stdafx.h"
#include <stdio.h> //подключаем нужные библиотеки
#include <conio.h> using namespace System;
int main(array<System::String ^> ^args)
{
// Вывод на экран
// Для вывода на экран “\” в функции printf требуется использовать “\\” printf("\n"\
" ****************************************************\n"\
"* _____ .___ *\n"\
"* / _ \\ ____ __| _/_______ ____ __ _ __*\n"\
"* / /_\\ \\ / \\ / __ | \\_ __ \\_/ __ \\ \\ \\/ \\/ /*\n"\
"*/ | \\| | \\/ /_/ | | | \\/\\ ___/ \\ / *\n"\
"*\\____|__ /|___| /\\____ | |__| \\___ > \\/\\_/ *\n"\
"* \\/ \\/ \\/ \\/ *\n"\
" ****************************************************\n");
getch();//Ожидание нажатия клавиши перед завершением работы программы
}
2. Скриншот(ы) выполнения программы (Alt + PrintScreen):
Количество полученных баллов зависит от:
• Сложности (оригинальности) вывода автопортрета
• Сложности и эстетичности написания вашего имени
• Грамотности программного кода
P.S. Текст и автопортрет могут выводится при помощи одной или двух отдельных программ по желанию
Рисование блок-схем алгоритмов по заданной предметной области:
Вар. № |
Предметная область |
1. |
первая помощь |
2. |
правила дорожного движения |
3. |
бизнес-процесс на выбор |
4. |
настройка элемента ИТ |
5. |
поиск информации в интернете |
6. |
алгоритм сортировки |
7. |
поиск неисправности компьютерной сети |
8. |
отладка программы |
9. |
выбор техники в интернет-магазине |
10. |
выбор будущей профессии |
11. |
выбор фильма для просмотра |
12. |
алгоритм поведения муравья |
13. |
действия при пожаре |
14. |
оформление кредита |
15. |
покупка машины |
16. |
покупка квартиры |
17. |
как починить компьютер |
18. |
игра в шахматы (шашки) |
19. |
игра в морской бой |
20. |
игра в карты (на выбор) |
21. |
выращивание клубники |
22. |
свидание с девушкой (парнем) |
23. |
проектирование ИС |
24. |
движение по лабиринту |
25. |
запуск ракеты в космос |
26. |
подготовка к экзамену |
27. |
подготовка курсовой работы |
28. |
настройка сети |
29. |
верстка сайта |
30. |
поиск информации |
Количество полученных баллов зависит от:
• Количества представленных блок-схем (оптимально 8-10 схем)
• Развернутости блок-схем (полстраницы-страница)
• Аккуратности выполнения (блоки выровнены, линии аккуратно соединены)
• При малом количестве схем дополнительные баллы можно получить за составление блок-схем по более близкой для вас тематике на ваш выбор
Список возможных программ для рисования блок-схем:
• MS Word (не рекомендуется)
• MS Visio
• OmniGraffle
• https://www.draw.io (рекомендуется)
• https://www.gliffy.com
• https://creately.com
• http://yuml.me/
• и другие онлайн-сервисы
В результате выполнения задания в отчет должны быть вставлены изображения с нарисованными блок-схемами.
Хорошо |
Плохо |
Самостоятельное составление аккуратной блок-схемы за 3 минуты:
После этого составление еще 9 аккуратных блок-схем в таком же стиле с последующим получением максимального балла за это задание. |
Копирование блок-схемы из интернета плохого качества с непрозрачным фоном с дальнейшим получением «0» баллов за нее:
Копирование еще одной неаккуратно сделанной схемы из интернета оформленную другим автором в другом стиле, где «не влезают слова» и блоки «наезжают друг на друга»:
|
Выполнить анализ предоставленного программного кода.
Предлагаемые к рассмотрению критерии оценки программы:
1. Предполагаемое назначение/использование
2. Объяснения работоспособности/неработоспособности
3. Возможный вариант оптимизации или альтернативы
4. Ваши комментарии
5. Другие критерии оценки по вашему усмотрению
Список заданий:
Вар. № |
Анализируемый программный код |
||
1. |
bool { |
IsBukva(char symbol) switch (symbol) { case'a':return 1; break; case'b':return 1; break; case'c':return 1; break; case'd':return 1; break; case'e':return 1; break; case'f':return 1; break; case'g':return 1; break; case'h':return 1; break; case'i':return 1; break; case'j':return 1; break; case'k':return 1; break; case'l':return 1; break; case'm':return 1; break; case'n':return 1; break; case'o':return 1; break; case'p':return 1; break; case'q':return 1; break; case'r':return 1; break; case's':return 1; break; case't':return 1; break; case'u':return 1; break; case'v':return 1; break; case'w':return 1; break; case'x':return 1; break; case'y':return 1; break; case'z':return 1; break; case'A':return 1; break; case'B':return 1; break; case'C':return 1; break; case'D':return 1; break; case'E':return 1; break; case'F':return 1; break; case'G':return 1; break; case'H':return 1; break; case'I':return 1; break; case'J':return 1; break; case'K':return 1; break; case'L':return 1; break; case'M':return 1; break; |
} |
case'N':return 1; break; case'O':return 1; break; case'P':return 1; break; case'Q':return 1; break; case'R':return 1; break; case'S':return 1; break; case'T':return 1; break; case'U':return 1; break; case'V':return 1; break; case'W':return 1; break; case'X':return 1; break; case'Y':return 1; break; case'Z':return 1; break; default:return 0; } |
|||
2. |
} |
char alphabet [] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; int count = sizeof(alphabet); char * p = alphabet; for (int i = 0; i < count; i++, p++) { if (symbol == *p) return 1; |
||
3. |
bool isZifra(int c) { return true; } bool isZifra(char c) { return false; } |
|||
4. |
if (result == true) return true; else return result; |
|||
5. |
} |
if (re else { |
sult == true) return true; if (result == false) return false; else { return (!true) && (!false); // ну надо же хоть что-то вернуть.... } |
|
6. |
#define private public #include <mylib.h> #undef private |
|||
7. |
#define CRASH_SOMETIMES 10/(rand()%10) |
|||
8. |
int SUM(int A, int B) { if (0 == A) return B; if (0 == B) return A; return (1 + (SUM(A, B - 1) + SUM(A - 1, B)) / 2); } |
|||
9. |
int SUM(int A, int B, int C) { |
} |
if (0 == A) return B + C; if (0 == B) return C + A; if (0 == C) return A + B; return (1 + (SUM(A - 1, B, C) + SUM(A, B - 1, C) + SUM(A, B, C - 1)) / 3); |
||
10. |
int tilde(int a, int b) { return b + 1; } int inc(int a, int b) { if (a == 0) return b; if (b == 0) return a; return tilde(a, inc(a, b - 1)); } |
||
11. |
void get_tomorrow_date(struct timeval *date) { sleep(86400); // 60 * 60 * 24 gettimeofday(date, 0); } |
||
12. |
void get_yesterday_date(struct timeval *date) { timemachine.return_to_yesterday(); gettimeofday(date, 0); timemachine.return_to_tomorrow(); } |
||
13. |
CNode* CBSTree::AddNode(CNode *&pTree, CNode *pNode) { ... return !NULL; } ... if (AddNode(pTree->left, pNode) != NULL) { ... } ... |
||
14. |
int p, k, l, i, j, d, q, R, t, r; S1: s = 0; p = 1; S2: if (s == 0) { i = 1; j = n; k = n; l = 2 * n + 1; } if (s == 1) { i = n + 1; j = 2 * n; k = 0; l = n + 1; } d = 1; q = p; r = p; S3: if (x[i] > K > x[j]->K) goto S8; S4: k = k + d; x[k] = x[i]; c[k] = c[i]; S5: i += 1; q -= 1; if (q > 0) goto S3; S6: k += d; if (k == l) goto S13; else x[k] = x[j]; c[k] = c[j]; S7: j -= 1; r -= 1; if (r > 0) goto S6; else goto S12; S8: k += d; x[k] = x[j]; c[k] = c[j]; S9: j -= 1; r -= 1; if (r > 0) goto S3; S10: k += d; if (k == l) goto S13; else x[k] = x[i]; c[k] = c[i]; S11: i += 1; q -= 1; if (q > 0) goto S10; S12: q = p; r = p; d = -d; t = k; k = l; l = t; if (j - i < p) goto S10; else goto S3; S13: p += p; if (p < n) { s = 1 - s; goto S2; } |
if (s == 0) for (t = 1; t <= n; t += 1) { x[t] = x[t + n]; c[t] = c[t + n] } |
|||
15. |
while (true) { ++i--; } |
||
16. |
int main() { ... return rand(); } |
||
17. |
#define _ F-->00 || F-OO--; long F=00,OO=00; main(){F_OO();printf("%1.3f\n", 4.*-F/OO/OO);}F_OO() { _-_-_-_ _-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_-_-_-_ _-_-_-_-_-_-_-_-_ _-_-_-_ } |
||
18. |
double } |
vvod(double a1, double a2, double a3) { // a1=a a2=b a3=c cout << "Введите значение коэфицента a: "; cin >> a1; cout << endl; cout << "Введите значение коэфицента b: "; cin >> a2; cout << endl; cout << "Введите значение коэфицента c: "; cin >> a3; cout << endl; return (a1); return (a2); return (a3); |
|
19. |
{ }while (1 < --index); |
||
20. |
#include <iostream> using namespace std; int main() { for (int i = 0; i < ((cout << 'c'), 5); ((cout << 'i'), ++i)) cout << "b"; cout << endl; return 0; |
} |
||
21. |
} |
calculateSomething(int n){ float* x = new float[n]; /*do smth*/ if ( /*validation*/) { delete [] x; return; } float* y = new float[n]; /*do smth*/ if ( /*validation*/) { delete [] x; delete [] y; return; } float* z = new float[n]; /*next step*/ if ( /*smth goes wrong*/) { delete [] x; delete [] y; delete [] z; return; } /*more calculations with validation*/ delete [] x; delete [] y; ... /*more delete[]*/ return; |
22. |
char * { } |
f(char *s1, ...) char **cp = &s1; //--адрес первого указателя int len = 0; // цикл для определения общей длины сцепляемых строк while (*cp) { len += strlen(*cp); cp++; } char *s = new char[len + 1]; //--память для строки s[0] = 0; //-- "очищаем" строку // цикл для сцепления строк cp = &s1; //-- опять установка на 1-й параметр while (*cp) { strcat(s, *cp); //-- прицепляем первую (и следующие) cp++; //-- перемещаемся на следующую } return s; |
23. |
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <iostream> } void main(){ |
int prog = 0, n; printf("Which programm? "); scanf("%d", &prog); if (prog == 1){ int glas = 0, sogl = 0, j = 0, k = 0; char *s, *l, *m; s = (char*) calloc(20, sizeof(char) ); l = (char*) calloc(20, sizeof(char) ); m = (char*) calloc(20, sizeof(char) ); flushall(); printf("\nEnter text: "); gets(s); n = strlen(s); /*Разбиваем на два массива исходную строку*/ for (int i = 0; i < n; i++){ if (s[i] == 'a' || s[i] == 'q' || s[i] == 'e' || s[i] == 'y' || s[i] == 'u' || s[i] == 'i' || s[i] == 'o' || s[i] == 'j'){ l[j] = s[i]; glas++; j++; } if (s[i] == 'g' || s[i] == 'f' || s[i] == 'd' || s[i] == 's' || s[i] == 'p' || s[i] == 't' || s[i] == 'r' || s[i] == 'w' || s[i] == 'h' || s[i] == 'k' || s[i] == 'l' || s[i] == 'z' || s[i] == 'x' || s[i] == 'c' || s[i] == 'v' || s[i] == 'b' || s[i] == 'b' || s[i] == 'n' || s[i] == 'm') { m[k] = s[i]; sogl++; k++; } } printf("\nDivided:\n"); puts(l); puts(m); /*Сортируем каждый массив*/ char c = 51, d = 11; for (j = 0; j < sogl; j++) { for (int i = 0; i<sogl; i++){ if (m[i]>m[i + 1] && (i + 1) < sogl) { d = m[i + 1]; m[i + 1] = l[i]; m[i] = d; } } } for (j = 0; j < glas; j++) { for (int i = 0; i<glas; i++) { if (l[i]>l[i + 1] && (i + 1) < glas) { c = l[i + 1]; l[i + 1] = l[i]; l[i] = c; } } } printf("\nFinal:\n"); puts(l); flushall(); puts(m); } |
|||
24. |
bool ok = (state == 0) ? false : true; |
||
25. |
int a = 0; while (a <= 1 && a >= 0) { a--; } |
||
26. |
bool IsDigit(char cKey, const char *cKeys) { for (int i = 0; i < strlen(cKeys); i++) if (cKeys[i] == cKey) return true; return false; } |
||
27. |
void check(const elemType eps = std::numeric_limits<elemType>::epsilon()){ |
||
} |
count = 4; int isAB = 0, isAC = 0, isAD = 0, isBC = 0, isBD = 0, isCD = 0; if (A == B) isAB = 1; if (A == C) isAC = 1; if (A == D) isAD = 1; if (B == C) isBC = 1; if (B == D) isBD = 1; if (C == D) isCD = 1; if (isAB) { B = C; C = D; --count; } if (isAC) { C = D; --count; } if (isAD) { --count; } if (isBC) { C = D; --count; } if (isBD) { --count; } if (isCD) { --count; } if (count < 3){ std::cerr << "Warning: Bad Frame.\n"; } |
||
28. |
double } |
vvod(double a1, double a2, double a3) { // a1=a a2=b a3=c cout << "Введите значение коэфицента a: "; cin >> a1; cout << endl; cout << "Введите значение коэфицента b: "; cin >> a2; cout << endl; cout << "Введите значение коэфицента c: "; cin >> a3; cout << endl; return (a1); return (a2); return (a3); |
|
29. |
void m { } |
ain(void) intz |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.