- •«Утверждаю»
- •Учебно-методический комплекс
- •Астана График выполнения и сдачи заданий по дисциплине
- •Карта учебно-методической обеспеченности дисциплины Учебники, учебные пособия
- •Конспект лекционных занятий
- •Тема 1. Введение в программирование на Си. Структура программы. Директивы препроцессора. Типы данных.
- •Основные операции в языке Си.
- •Преобразование типов
- •Тема 2. Управляющие структуры. Выбор вариантов. Структура выбора If, If – Else, логические операции, операция условия, множественный выбор.
- •Тема 3. Управляющие структуры. Структуры повторения While, do – While, For. Управляющие операторы break и continue.
- •Тема 4. Массивы. Разработка программ с использованием одномерных и двумерных массивов.
- •Тема 5. Функции в Си. Создание и использование функций.
- •Тема 6. Классы памяти и разработка программ.
- •Тема 7. Указатели в Си.
- •Тема 8. Использование указателей при обработке одномерных и двумерных массивов.
- •Тема 9. Символы и строки в Си.
- •Тема 10. Функции операции над строками.
- •Функции сравнения из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 6.
- •Функции поиска из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 7.
- •Другие функции из библиотеки обработки строк. В таблице 8 приведены прототипы и краткое описание остальных функций из библиотеки обработки строк.
- •Ниже приведены примеры программы, использующих функции работы со троками.
- •Тема 11. Структуры данных в Си.
- •Тема 12. Динамические структуры данных.
- •Тема 13. Работа с файлами в Си.
- •Тема 14. Графика в Си.
- •Тема 15. Объектно-ориентированное программирование.
- •Методические рекомендации по выполнению лабораторных заданий
- •Лабораторная работа № 3. Использование операторов цикла при решении задач.
- •Лабораторная работа №4. Разработка программ с использованием одномерных массивов.
- •Лабораторная работа №5. Разработка программ с использованием двумерных массивов.
- •Лабораторная работа № 6. Программирование задач с использованием нескольких функций на языке Си.
- •Лабораторная работа № 8. Программирование задач обработки структур данных.
- •Лабораторная работа № 9. Разработка программ с использованием файловых переменных.
- •Лабораторная работа № 10. Разработка программ с использованием графических функций языка Си.
- •Содержание отчета по выполнению лабораторной работы
- •1 Задание
- •Тема 1. Запись констант, стандартных функций, выражений, операторов присваивания. Запись программ линейных структур алгоритмов.
- •Тема 2. Алгоритмическое описание, запись программ линейных, разветвляющихся.
- •Тема 3. Алгоритмическое описание, запись программ циклических структур алгоритмов.
- •Тема 4. Алгоритмическое описание, составление программ обработки одномерного массива.
- •Тема 5. Алгоритмическое описание, составление программ обработки двумерного массива.
- •Тема 6-7. Составление программ решения задач с использованием функции.
- •Рекомендуемая литература:
- •Тема 8-9. Составление программ решения задач обработки массивов с использованием указателей.
- •Тема 10-11. Программирование задач обработки символьных и стрковых данных.
- •Рекомендуемая литература.
- •Тема 12. Методы сортировки.
- •Тема 13. Составление программ решения задач с использованием структур данных.
- •Тема 14. Составление программ решения задач с использованием файла произвольного доступа.
- •Рекомендуемая литература.
- •Тема 15. Алгоритмизация графических построений.
- •Варианты заданий:
- •Сведения
- •Перечень экзаменационных вопросов по пройденному курсу
- •Глоссарий
Тема 13. Составление программ решения задач с использованием структур данных.
Форма проведения: Решение задач.
Задание. Создать массив записей в соответствии с заданной структурой. Реализовать ввод и обработку записей.
Варианты заданий:
Варианты 1-5
Предусмотреть вывод значений для полей элементов массива записей по следующим ключам: по адресу юридической консультации, по названию юридической консультации, по фамилии, имени, отчеству (Ф.И.О.) адвоката или нотариуса, по номеру телефона адвоката или нотариуса.
Запросы:
Определить, сколько юридических консультаций находится в определенном районе.
Определить юридическую консультацию, в которой работает наибольшее количество адвокатов.
Определить юридическую консультацию, в которой работает наименьшее количество нотариусов.
Определить, сколько нотариусов и адвокатов работает в определенной юридической консультации.
Определить юридические консультации, которые находятся на одной определенной улице.
Методические рекомендации по проведению СРСП.
Контрольный пример 1. Даны сведения о сотрудниках фирмы: фамилия, имя, адрес, возраст, телефон, зарплата. Вывести сведения о сотрудниках по имени Alex в возрасте от 25 до 30 лет.
Контрольный пример 2. Даны сведения о сотрудниках фирмы: фамилия, имя, адрес, возраст, телефон, зарплата. Вывести список сотрудников по убыванию возраста.
/* пример 1 */ #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #define n 3 struct person { char fam[20], name[15], address[30]; int age, phone, salary; }; main () { struct person str_pr[n]; int i; clrscr(); printf("Input svedeniya\n"); |
/* пример 2 */ #include <stdio.h> #include <conio.h> #define n 3 struct person { char fam[20], name[15], address[30]; int age, phone, salary; }; main () { struct person str_pr[n], buf; int i, j; clrscr(); |
for (i=0;i<n;i++) {printf("%i person\n",i+1); printf("Fam: "); scanf("%s", str_pr[i].fam); printf("Name: "); scanf("%s", str_pr[i].name); printf("Address: "); scanf("%s", str_pr[i].address); printf("Age: "); scanf("%i", &str_pr[i].age); printf("Phone: "); scanf("%i", &str_pr[i].phone); printf("Salary: "); scanf("%i", &str_pr[i].salary); printf("\n"); } for (i=0;i<n;i++) if (strcmp(str_pr[i].name,"alex")==0&& str_pr[i].age>=25&&str_pr[i].age<=30) { printf("Fam: %s\n", str_pr[i].fam); printf("Address: %s\n", str_pr[i].address); printf("Phone: %i\n", str_pr[i].phone); printf("Salary: %i\n", str_pr[i].salary); } getch(); return 0; } |
printf("Input svedeniya\n"); for (i=0;i<n;i++) {printf("%i person\n",i+1); printf("Fam: "); scanf("%s", str_pr[i].fam); printf("Name: "); scanf("%s", str_pr[i].name); printf("Address: "); scanf("%s", str_pr[i].address); printf("Age: "); scanf("%i", &str_pr[i].age); printf("Phone: "); scanf("%i", &str_pr[i].phone); printf("Salary: "); scanf("%i", &str_pr[i].salary); printf("\n"); } for (i=0;i<n-1;i++) for (j=i+1;j<n;j++) if (str_pr[i].age<str_pr[j].age) { buf=str_pr[i]; str_pr[i]=str_pr[j]; str_pr[j]=buf; } for (i=0;i<n-1;i++) { printf("Fam: %s\n", str_pr[i].fam); printf("Name: %s\n", str_pr[i].name); printf("Address: %s\n", str_pr[i].address); printf("Age: %i\n", str_pr[i].age); printf("Phone: %i\n", str_pr[i].phone); printf("Salary: %i\n", str_pr[i].salary); } getch(); return 0; } |
Рекомендуемая литература.
1осн[393-397], 2осн[406-436], 3осн[108-128], 6доп[200-209], 8доп[13-16]