- •«Утверждаю»
- •Учебно-методический комплекс
- •Астана 2010 График выполнения и сдачи заданий по дисциплине
- •Карта учебно-методической обеспеченности дисциплины Учебники, учебные пособия
- •Конспект лекционных занятий
- •Тема 1. Введение в программирование на Си. Структура программы. Директивы препроцессора. Типы данных.
- •Основные операции в языке Си.
- •Преобразование типов
- •Тема 2. Управляющие структуры. Выбор вариантов. Структура выбора If, If – Else, логические операции, операция условия, множественный выбор.
- •Тема 3. Управляющие структуры. Структуры повторения While, do – While, For. Управляющие операторы break и continue.
- •Тема 4. Массивы. Разработка программ с использованием одномерных и двумерных массивов.
- •Тема 5. Функции в Си. Создание и использование функций.
- •Тема 6. Классы памяти и разработка программ.
- •Тема 7. Указатели в Си.
- •Тема 8. Использование указателей при обработке одномерных и двумерных массивов.
- •Тема 9. Символы и строки в Си.
- •Функции сравнения из библиотеки обработки строк. Прототипы функций и краткое описание каждой из них приведены в таблице 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. Алгоритмизация графических построений.
- •Варианты заданий:
- •Сведения
- •Перечень экзаменационных вопросов по пройденному курсу
- •Глоссарий
Тема 3. Алгоритмическое описание, запись программ циклических структур алгоритмов.
Форма проведения: Решение задач.
Задание 1. Выполнить задание согласно варианту, используя операторы циклаFOR,WHILEиDOWHILE. Составить блок-схему алгоритма и написать программу.
Варианты заданий:
Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (включая сами эти числа), в порядке их возрастания, а также количество N этих чисел.
Даны два целых числа A и B (A < B). Вывести все целые числа, расположенные между данными числами (не включая сами эти числа), в порядке их убывания, а также количество N этих чисел.
Дано вещественное число A и целое число N (> 0). Вывести A в степени N: AN = A·A·...·A (числа A перемножаются N раз).
Дано вещественное число A и целое число N (> 0). Вывести все целые степени числа A от 1 до N.
Дано вещественное число A и целое число N (> 0). Вывести 1 + A + A2 + A3 + ... + AN.
Методические рекомендации по проведению СРСП.
Контрольный пример 1. Нарисовать блок-схему и написать программу для вычисления выражения с использованием циклических структур (рисунок 3).
Контрольный пример 2. Нарисовать блок-схему и написать программу для вычисления выражения с использованием циклических структур (рисунок 4).
/* пример 1 */ #include <stdio.h> #include <math.h> #include <conio.h> main () { float i, f, n, p; clrscr(); printf("Enter n\n"); scanf("%n", &n); f=p=1; for(i=1;i<=n;i++) { f*=i; p*=2+1/f; } printf("P = %6.2f", p); getch(); return 0; } |
/* пример 2*/ #include <stdio.h> #include <math.h> #include <conio.h> #define e 0.01 main () { float k, f, s, ak; clrscr(); f=1; s=k=0; do { k++; f*=k; ak=pow(-1,k)*(k+1)/f; s+=ak; } while (fabs(ak)>e); printf("S = %6.2f k = %4.0f", s, k); getch(); return 0; } |
Рисунок 3 |
Рисунок 4 |
Рекомендуемая литература:
1осн[134-153],2осн[211-255],3осн[57-63], 5доп[28-41],6доп[116-126], 7доп[11-15]
Тема 4. Алгоритмическое описание, составление программ обработки одномерного массива.
Форма проведения: Решение задач.
Задание.Реализовать обработку одномерного массива, как указано в варианте. Составить блок-схему алгоритма и написать программу.
Варианты заданий:
Дан массив размера N. Вывести индексы массива в том порядке, в котором соответствующие им элементы образуют возрастающую последовательность.
Дан массив размера N. Вывести вначале его элементы с четными индексами, а затем — с нечетными.
Дан целочисленный массив A размера 10. Вывести номер первого из тех его элементов A[i], которые удовлетворяют двойному неравенству: A[1] < A[i] < A[10]. Если таких элементов нет, то вывести 0.
Дан целочисленный массив размера N. Преобразовать его, прибавив к четным числам первый элемент. Первый элемент массива не изменять.
Дан целочисленный массив размера N. Вывести вначале все его четные элементы, а затем — нечетные.
Методические рекомендации по проведению СРСП.
Контрольный пример 1. Дан массив А(100). Определить количество положительных элементов с четными номерами и сумму отрицательных элементов с нечетными номерами (рисунок 5).
Контрольный пример 2. Дан массив А(100). Найти среднеарифметическую сумму положительных элементов, следующих за первым по порядку нулевым элементом (рисунок 6).
/* пример 1 */
#include <stdio.h>
#include <conio.h>
#define n 100
main()
{ int i, s, k, a[n];
clrscr();
for(i=0; i<n; i++)
scanf(“%d”, &a[i]);
s=k=0;
for(i=0; i<n; i+=2)
{ if (a[i]<0) s+=a[i];
if (a[i+1]>0) k++;}
printf(“k = %5d s = %5d”, k, s);
getch();
return 0; }
/* пример 2 */
#include <stdio.h>
#include <conio.h>
#define n 100
main()
{ int i, j, k, a[n]; float s;
clrscr();
for(i=0; i<n; i++)
scanf(“%d”, &a[i]);
s=k=0;
for(i=0; i<n-1; i++)
if (a[i]==0) {
for(j=i+1; j<n; j++)
if (a[j]>0) { s+=a[j]; k++; }
if (k>0) {s/=k; goto m1; } }
m1: printf(“s = %6.2f”, s);
getch();
return 0; }
Рисунок 5 |
Рисунок 6 |
|
Рекомендуемая литература:
1осн[223-253],2осн[244-255], 5доп[41-46], 7доп[15-23]