АЛМАТИНСКИЙ ИНСТИТУТ ЭНЕРГЕТИКИ И СВЯЗИ

 

 

Кафедра электроники и компьютерных технологий

 

 

 

 

 

 

 

 

СПЕЦКУРС ПО ИНФОРМАТИКЕ  2

 

Программа, методические указания и контрольные задания

(для специальности 050719 – Радиотехника, электроника и телекоммуникации студентов заочной формы обучения)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Алматы 2005

 

 

СОСТАВИТЕЛЬ: Т.С. Бимагамбетов. Спецкурс по информатике 2. 

Программа, методические указания и контрольные задания (для студентов специальности  050719 – Радиотехника, электроника и телекоммуникации заочной формы обучения ).

-         Алматы: АИЭС, 2005. –21 с.

 

 

 

 

 

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

 

 

 

 

 

 

          Рецензент: ст.преподаватель Г.Т. Мусатаева

 

 

 

 

 

 

 

 

 

 

 

 

 

 

          Печатается по плану издания Алматинского института энергетики и связи на 2005 г.

 

 

 

 

 

 

 

ã Алматинский институт энергетики и связи, 2005 г.

         

Введение

   Язык программирования Си создан в 1972 г. сотрудником Bell Laboratories   Деннисом Ритчи при разработке операционной системе Unix. В семейство языка Си входят такие мощные языки, как С++, поддерживающий технологии объектно-ориентированного программирования; Java - для программирования в Internet ; С# - новый объектно-ориентированный языка программирования для платформы  Microsoft.Net

                Язык программирования Си – это язык программирования, который относительно прост в изучении, довольно ясен и логичен и, будучи широко изучаемым языком программирования, приучает к хорошему стилю, а также  позволяет разрабатывать программы в соответствии с разыми парадигмами: процедурному и структурному программированию.

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

                В данном курсе студент ознакомится с основными элементами языка Си. В результате изучения  «Спецкурса по информатике- 2» студент должен:

          -знать основные элементы языка Си, способы записи алгоритмов, стандартную библиотеку языка и методы программирования;

          -уметь составить алгоритмы и программировать для решения конкретных задач;

         -иметь навыки программирования в интегрированных средах Borland C++ и Turbo Cи.

Методические указания  состоит из трех частей: программы курса, методически указаний  к изучению курса и задания для  контрольной работы. Контрольная работа состоит из четырех заданий.

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

 

В процессе выполнения лабораторных и контрольных работ используются материалы из разделов высшей математики и электротехники:

          - вещественные числа и числовые множества;

          - матрицы и их свойства;

          - числовые ряды;

          - теория линейных электрических цепей.

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

Общее количество часов необходимое для освоения курса составляет

51 часов. Самостоятельной работе – 34, а аудиторной – 17. Аудиторные занятия распределены следующим образом:

          - лекция                                 -         2 часа

          - лабораторные занятия       -       10 часов

          - дистанционное обучение  -        5 часов.

 

 

          1 Рабочая программа

 

          1.1 Цель и задачи дисциплины

Цель курса - познакомить студентов с содержанием языка Си  и основным алгоритмизации и программированию, а также с возможностями их применения по своей специальности.

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

 

1.2  Содержание дисциплины

 

   1.2.1 Базовые понятия языка. Алфавит, идентификаторы, служебные слова. Константы. Переменные и именованные константы. Основные типы данных. Операции. Унарные и бинарные операции. Разделители. Выражения и приведение арифметических типов. Отношения и логические выражения. Присваивание. Приведение типов. Условное выражение.

   1.2.2 Программы с линейной структуры. Текст программы и препроцес-сор. Структуры программы. Программирование алгоритмов линейной структуры. Управляющие операторы: условные операторы, операторы циклов, операторы перехода.

   1.2.3 Массивы. Одномерные массивы. Упорядочение в одномерных массивов. Двумерные массивы. Инициализация массивов.

   1.2.4 Символьные данные и строки. Символьные переменные и константы. Строки. Строки и указатели. Функции для работы со строками.

  1.2.5 Функции. Общие сведения о функциях. Ссылки на аргументы. Указатель на функцию. Рекурсия. Массивы и строки как параметр функции.

   1.2.6 Файлы. Файлы и функции для работы с ними. Открытие-закрытие файла. Чтение и запись данных.

   3.2.7 Графические возможности языка Си. Обзор команд по

функциональным группам. Подготовка использования модуля Graph. Координаты. Использование окон. Шрифты, отображения текста, рисунки и заполнение.

 

  1.2  Установочные лекции (4 часа)

 

  1.3.1 Основы программирования на языке Си. Построение и составление программ линейной и разветвляющейся структуры. Операторы. Массивы (2 часа).

  1.3.2 Символьные данные и строки. Функции. Ссылки на аргументы. Массивы и строки как параметр функции. Файлы. Открытие – закрытие и чтение-запись файлов. Графические возможности языка Си (2 часа).

 

  1.2 Лабораторные занятия (16 часов)

 

          1.4.1 Знакомство с интегрированной среды Turbo Cu b Borland Cu++. Состав системы программирования и экран среды. Система меню. Настройка среды (2 часа).

          1.4.2 Программы с линейной структуры. Условные операторы, операторы циклов, операторы перехода (2 часа).

          1.4.3 Массивы. Одномнрные и двумерные массивы. Обработка массивов (4 часа).

          1.4.4 Функция. Программирование с использованием функции (2 часа).

          1.4.5 Обработка символьной информации. Символы и строки (2 часа).

          1.4.5 Работа с файлами: организация, корректировка и просмотр. Файлы последовательного и произвольного доступа (2 часа).

          1.4.6 Грфические возможности языка Си (2 часа).

 

          2 Методические указания к изучению курса

 

          В соответствии с учебном планом курса “ Спец курс по информатике 2” студент объязен выполнить контрольную работу, ответить на контрольные вопросы, выполнить лабораторный практикум.

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

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

          В приведенных ниже методических указаниях даются ссылки на основную литературу [1-5]. Для более углубленного изучения курса следует пользоваться дополнительной литературой.

 

          2.1 Базовые понятия языка Си

 

          [1, с. 11-45]

          Рассматривается формирование и вычисление выражений в языка Си. Все операции языка. При сотавлении арифметических выражений необходимо знать приоритет операции и сруктуру программы на языке Си. Приступая к решению задач, следует вспомнить, что: инструкция присваивания предназначена для изменения значений перменных, в том числе и для вычислений и по формуле. В отличие большинства языков программирования в Си оператор присваивания может быть записана несколькими способами, напрмимер, в место x=x+dx  можно записать x+=dx или i=i+1 – i++  . Каждая переменная программы должны быть объявлена, комполятор Си различает прописные и строчные буквы. Основными типами является int (целый),  float(вещественный), char(символьный). Функция printf  обеспечивает вывод на экран монитора сообщений и значений переменных, а для ввода исходных данных из клавиатуры  scanf. При вводе и выводе значении зависимости от типа используется спецификаторы преобразования .

 

          Вопросы для самоконтроля

          2.1.1 Выражения. Операция присваивания и сравнения.

          2.1.2 Арифметические, логические, битовые, условные операции.

          2.1.3 Основные типы данных. Функция ввода-вывода значении переменных.

 

          2.2 Программы с линейной структуры и управляющие операторы.

          [1, с. 78-98 ; 3, с. 59-75]

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

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

          Циклы осуществляется с помощью трех операторов: for, do-while, while. Обратите внимание, что является общими для всех операторов и какие обязательные компоненты они должны содержат. В каких случаях удобно использовать то или другую операторов. Например, оператор for используется для организации циклов с фиксированным, известным во время разработки программы, число повторений, в то время цикл while – это цикл с предусловием, т.е. возможно ситуация, при которой тела цикла ни разу не будет выполнены. По этому этого оператора, как правило, используется для организации приближенных вычислений, в задачах поиска и обработки данных, вводимых с клавиатуры или из файла.

          К управляющим оператором также относится такие операторы как goto – оператор перехода, break- оператор прекращения цикла, continue- прерывает цикл и переходит к следующей итерации (повторению), return- завершает выполнение цикла.

 

          Вопросы для самоконтроля

          2.2.1 Алгоритмы программы с линейной структуры.

          2.2.2 Особенности программы с линейной структуры.

          2.2.3 Что такое оператор?

          2.2.4 Операторы управления.

          2.2.5 Модификация операторов.

 

          2.3 Массивы. Одномерные и двумерные массивы. Упорядочение массивов. Инициализация массивов.

 

          [ 2, с. 82-95; 4, с. 260-265 ]

          В языках программирования объекты группируется. Массив – это структура данных, представляющая собой набор, совокупность элементов одного типа. В объявления массива указывается количество элементов массива, а элементы массива нумеруется с нуля. Доступ к элементом массива осуществляется путем указания индекса элемента, а также при помощи указателя. Объявления массива удобно использовать именованную константу, объявленную в директиве # define. Для ввода-вывода и обработки массивов используйте оператор цикла for . При переработке элементов двумерных массивов, необходимо знать, что элементы диагонали имеет равные индексы строк и столбцов (i=j), элементы расположенных выше главной диагонали, номер строки меньше номер столбцов (i<j), а для элементов ниже – наоборот (i>j). Для элементов побочной диагонали номер строки и столбцов меняется одновременно номер строки изменяется от 1 до n с шагом +1, а номер столбца от n до 1 с шагом –1. Кроме того, для элементов побочной диагонали характерно i+j = n+1 (n – порядок матрицы).

          Инициализация – это объединение определения объекта с одновременным присваиванием его элементами значения. Значение,

которыми инициализируется массив в скобки и разделяются запятыми

int A[]={1, 2, 3}. В двумерным массиве инициализация рассматривается как массив в массивов. Символьные массивы могут инициализируется как обычный массив char str[15] = {‘C’, ‘+’, ‘+’}, а могут – как строка символов char str[15] = “ C++”. В языке Си не проверяется выход индекса за пределы массива, по этому типичной ошибкой при использовании массивов является обращение к несуществующему элементам.

 

          Вопросы для самоконтроля

          2.3.1 Каким образом задается описание массива, что в нем указывается?

          2.3.2 Что представляет собой массив как структура данных?

          2.3.3 Что называют инициализацией массива?

          2.3.4 Что такое транспонирование матрицы?

          2.3.5 Какие операторы используются для обработки массивов?

 

          2.4 Символьные данные и строки. Символьные переменные. Символьные константы. Строки. Строки и указатели. Функции для работы со строками.

 

[1, с. 192-201; 3, с. 58-60]

          Для представления текстовой информации используется символьные константы, символьные переменные и строки. Для символьных данных языке Си служат базовой тип char. Описание символьных переменных имеет вид: char список имен переменных. Для изображения отдельных знаков, имеющих индивидуальные внутренние коды, используется  символьные константы. Каждая символьная константа-это лексема, которая состоит из изображения символов и ограничивающих апострофов. Необходимо помнить, что каждому символу соответствует число-код символов. Согласно стандарту ASCII, каждому символу и некоторым управляющим инструкциями соответствует свой числовой код, принимающий  значения от 0 до 127. 

          В отличие от других языков в языке Си нет отельного тип для строк. Принято, что – это массив символов, заканчивающийся нулевым байтам, она всегда имеет тип char[]. Так как в конце стоки добавлен нулевой байт ‘\0’, необходимо помнит, что количество элементов в таком массиве на 1 больше. Записи строки могут быть один символ: “A”, однако в отличие от символьной константы ‘A’ длина строки равна двум байтам. Сообщение или подсказки, используемые в программе, удобно представить как массив указателей на строки и инициализировать массив, задать сообщения в инструкции объявления массива: char*mes[]={ “Сообщение 1”, ”Сообщение 2”, ……}. Если вводимая во время работы программы строка содержит

пробелы, то функция scanf вводит только част строки до первого пробела, а функция gets  - всю строку. Кроме printf для вывода используется функция puts.

          Для работы со строками существует специальная библиотека, описание которой находится в файле string.h. Должны знать действиями со строками т.е. функции для работы со строками (функция копирование, сравнения, присоединения и др.).

 

          Вопросы для самоконтроля

          2.4.1 Символьные константы и переменные.

          2.4.2 Ввод-вывод символьных данных.

          2.4.3 Строки и указателей. Массив строк.

          2.4.4 Функции для работы со строками.  

 

2.5 Функции. Общие сведения о функциях. Ссылки на аргументы. 

      Указатель на функцию. Рекурсия. Массивы и строки как параметр 

      функции.

[1, с. 205-220; 2, с. 51-54; 3, с. 97-118]

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

Формальные параметры функции является входными данными, выходными параметром является имя функции, поэтому в заголовке необходимо указать ее тип.

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

Если качестве параметра функции используется обозначение массива, то на самом деле внутрь функции передается только адрес начала массива. Например, заголовок функции можно написать двумя способами: float fun (int n, float a[]) или float fun(int n, float*a) совершенно равноправны в спецификациях. Во втором случае а определяется как указатель типа float*. Так как  массив всегда передается ф функцию как указатель, то внутри функции можно изменять значения элементов массива - фактического параметра, определенного в вызывающей программе.

Строки в качестве фактических параметров могут быть специфицированы либо как одномерные массивы типа char[],  либо как

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

указывать их длину. Признак ‘\0’, размещаемый в конце каждый строки, позволяет всегда определить ее длину. Примеры использование функции для решения некоторых типовых задач приведены [2, 5].

 

Вопросы для самоконтроля

2.5.1 Функция, правила их записи, вызов и передачи параметров.

2.5.2 Оператор return.

2.5.3 В каких случаях аргументы функции удобно использовать по умолчанию?

2.5.4 Рекурсия функции.

2.5.5      Массивы и строки как параметр функции.

 

          2.6 Файлы. Файлы и функции для работы с ними. Потоки. Тип файлов.        

      Файлы последовательного и произвольного доступа.

         

          [1, с. 325-350; 4, с.341-349]

        Информация во внешней памяти ( на диске, на магнитных лентах и т.п.) сохраняется в виде файлов – именованных объектов, доступ к которым обеспечивает операционная система. Обеспечения операционной системы состоит в том, что в ней имеются средства:

          -создания файлов;

-уничтожения файлов;

-поиска файлов на внешнем носителе информации;

-чтения и запись данных из файлов и в файлы;

-открытие файлов;

-закрытие файлов;

Функции и режим работы файлов дана в [3, с.142-145].

Поток – это абстрактное понятие, относящееся к любому переносу данных от источника к приемнику. Необходимо знать, какие функции реализует ввод и вывод потока.

          Существует два типа файлов: текстовой и двоичный. Какое отличие этих файлов? Почему текстовый файловый ввод-вывод чисел целесообразно использовать при их небольшой величине и малом количестве? Двоичный ввод-вывод данных. Какие функции при этом используется? Использование битового режима в работе с файлом.

          Обмен файлами в виде потоков байтов позволяет только читать информацию последовательно. Существует функция (fseek) позволяет доступ к содержимому файла в произвольном порядке. 

          В программе, которая выполняет операции должна быть объявлена переменная-указатель на тип FILE, а также указать тип файла. При работе с файлами возможны ошибки, поэтому рекомендуется при помощи функции

ferror проверять результаты выполнения. При завершении работы с файлами нужно его обязательно закрыт.

 

Вопросы для самоконтроля

          2.6.1 Какие процедуры существуют при рассмотрении взаимосвязи файлов с потоками ввода-вывода?

          2.6.2 Назовите функции для ввода-вывода данных.

          2.6.3 Текстовый и двоичный ввод-вывод данных.

          2.6.4 Битовый режим. Использование битового режима в работе с файлами.

          2.6.5 Работа с файлами на диске. Файлы последовательного и произвольного доступа.

 

         

    2.7 Графические возможности языка Си. Обзор команд по функциональным группам. Подготовка использования модуля Graph. Координаты. Использование окон. Шрифты, отображения текста, рисунки и заполнение.

 

    [3, с.159-162; 2, с. 257-269]

    Приступая к работе в графическом режиме необходимо знать: в графическом режиме экран представляет собой совокупность точек, каждая из которых может быть окрашена в один из 16-ти цветов. Для того чтобы программа могла выводить на экран графические примитивы (линии, окружность, прямоугольники), необходимо инициализировать графический режим. Для работы с графической библиотекой включить в программу заголовочной файл graphics.h. Функция для работы управления графической системой дана в [3, с. 159]. Как выглядит шаблон графической программы  написано в [2, с. 54-55]. Координаты точек возрастают слева направо и сверху вниз. Левая верхняя точка имеет координаты (0,0), правая нижняя– (639,479).

 

          Вопросы для самоконтроля

         

          2.7.1 Какие типы знаете видеоадаптеров?

          2.7.2 Напишите шаблоны графического режима.

          2.7.3 Напишите оператор инициализирующий графический режим.

          2.7.4 Вывод текстов в графическом режиме.

          2.7.5 Обработка ошибок графического режима.

          3 Задание для контрольной работы

Правила выполнения и оформления контрольной работы

 

          3.1 Номер варианта контрольных работ определяется  двумя последними цифрами номера зачетной книжки (таблица 1). Например, номер зачетной книжки 890354. Следовательно, 6- вариант. Номера вариантов обозначаются арабскими цифрами. 

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

          3.3 Необходимо указать литературные источники. Которые были использованы при подготовке к контрольной работе.

 

          Таблица 1

Предпоследняя цифра номера

зачетной  книжки

Последняя цифра номера зачетной книжки

 

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

10

1

11

12

13

14

15

16

17

18

19

20

2

21

22

23

24

25

1

2

3

4

5

3

15

14

13

12

11

10

9

8

7

6

4

16

17

18

19

20

21

22

23

24

25

5

10

9

8

7

6

5

4

3

2

1

6

11

25

24

23

22

21

20

19

18

17

7

12

8

9

10

11

12

13

14

15

16

8

13

7

6

5

4

3

2

1

25

24

9

14

15

16

17

18

19

20

21

22

23

 

 

          3.4 Контрольная работа включает выполнения 4-х заданий.

 

          3.4.1 Задание 1. Программирование алгоритмов линейной,  

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

 

          Программирование алгоритмов линейной структуры.

1.                            2.   

3.                          4. 

5.            6. 

12

7.                   8. 

9.                       10. 

11.                    12.

13.                      14.

15.                      16.

17.                       18.  

19.              20.

21.                    22.

23.                      24.

25.

 

          Программирование алгоритмов разветвленной структуры.

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.

 

          Программирование алгоритмов циклической структуры.

          Вычислить значение выражения при заданных n и x.

Решить задачу с использованием оператора for ;

 

1.                  2.          3.

4.                                 5. 

6.        7.         8.

9.

 

          Решить задачу с использованием оператора while ;

10.                  11.          12.

13.                                   14. 

14

15.        16.        17.

         

          Решить задачу с использованием оператора do ;       

18.                  19.          20.

21.                                   22. 

23.      24.           25.

 

 

     3.4.2 Задание 2. Одномерные и двумерные массивы

        Одномерные массивы.

1. Дан массив А(5). Найти сумму и количество положительных элементов.

2. Дан массив А(6). Найти минимальный элемент массива и его порядковый номер.

3. Дан массив А(4). Найти максимальный элемент массива и его порядковый номер.

4. Дан массив А(8). Найти минимальный  элемент массива.

5. Дан массив А(6). Найти сумму и количество положительных элементов, расположенных между минимальным и максимальным элементами.

6. Дан массив А(7). Найти максимальный элемент массива.

7. Дан массив А(10). Найти минимальный элемент массива.

8. Дан массив А(9). Упорядочить элементы, массива по убыванию.

9. Дан массив А(10). Упорядочить элементы, массива по возрастанию.

10. Дан массив А(5). Определить количество отрицательных элементов.

11. Дан массив А(6). Определить количество положительных элементов

12. Дан массив А(5).  Найти количество нечетных положительных элементов.

13. Дан массив А(7).  Найти количество четных положительных элементов.

14. Дан массив А(5). Найти сумму четных положительных элементов.

15. Дан массив А(8). Найти сумму нечетных положительных элементов.

16. Дан массив А(5). Найти произведение положительных  элементов.

17. Дан массив А(6). Найти определить количество элементов, равных 4.

18. Даны массивы А(5) и В(10). Вычислить суммы соответствующих элементов массивов.

19. Даны массивы А(5) и В(10). Вычислить разность соответствующих    

элементов массивов.

20. Дан массив А(5). Определить количество элементов, меньших 4.

21. Дан массив А(5).  Вычислить произведение отрицательных элементов 

массивов.

22. Дан массив А(5). Найти сумму и количество положительных элементов.

23. Дан массив А(5). Найти наименьший положительный элемента среди 

элементов с четными номерами массива.

24. Составить программу для нахождения наименьшего из отрицательных  

элементов массива А(10).

25. Найти наибольший среди элементов массива А(10),  остальные обнулить.

 

Двумерные массивы.

1.     Дана матрица А(5,5). Все элементы ниже главной диагонали обнулить,  

выше – заменить на  «3».

2.     Найти сумму положительных элементов матрицы А(3,5).

3.     В матрице А(3,3) найти количество нулевых элементов.

4.     В матрице А(3,5) найти произведение положительных элементов.

5.  В матрице А(4,3) необходимо определить количество элементов, больших единицы.

6. Найти произведение элементов главной диагонали матрицы А(5,5).

7. Найти количество отрицательных  элементов матрицы А(4,4).

8. Переписать элементы главной диагонали матрицы В(5,5) в одномерной массив С(5).

9. Найти количество положительных элементов, расположенных под главной диагональю матрицы А(5,5).

10. Найти сумму отрицательных элементов матрицы А(3,3).

11. Дан массив А(5,5). Найти минимальный элемент среди элементов, расположенных в нечетных строках массива.

12. Дан массив А(5,5). Построить массив В(5) по следующему правилу: В(J) присвоить максимальный элемент J – столбца массива А.

13. Дан массив А(5,5). Найти произведение и количество четных положительных элементов побочной диагонали соответствующих строк.

14. Дан массив А(7,7). Найти максимальный элемент среди элементов, расположенных выше побочной диагонали.

15. Дан массив А(7,7). Найти максимальный элемент среди элементов, расположенных ниже побочной диагонали. Поменять местами элементы строки и столбца, на пересечении которых находится максимальный элемент.

16. Дан массив А(5,5). Упорядочить элементы массива построчно.

17. Дан массив А(6,6). Найти максимум среди элементов повторившихся более одного раза.

18. Дан массив А(8,8). Найти максимальный элемент среди элементов строк.

19. Дана массив А(7,7). Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей.

20. Дан массив А(8,8). Найти минимальный элемент среди элементов строк. .

21. Найти количество нулевых элементов матрицы А(4,4), расположенных над главной диагональю.

22. Найти среднее арифметическое отрицательных элементов матрицы А(4,4).

23. Дан массив А(4,3). Переписать все ее элементы в вектор В.

24. В матрице А(3,3) найти количество нулевых элементов.

25. Дан массив А(5,5). Заменить нулями все ее элементы, расположенные на главной диагонали.

 

3.4.3 Задание 3. Функция и строки

1.     Даны действительные числа s,t , вычислить где

     .

2.     Даны действительные числа s,t , вычислить где

     .

3.     Даны действительные числа s,t , вычислить где

    .

4.     Даны действительные числа s,t , вычислить где

    .

5. Даны натуральные числа x1 , y1 , x2 , y2 , ….., x7, y7 . Найти периметры семиугольника, вершины которого имеют соответственно координаты

(x1, y1) , (x2, y2) ,….., (x7, y7).

6. Дан треугольник с известными длинами а, в, с его сторон, причем а, в, с имеют целые значения. Вычислить периметр и площадь треугольника по формуле Герона.

7. Следом квадратной матрицы называется сумма элементов, расположенных на главной диагонали. Даны квадратная матрица порядка m,  натуральное число n. Вычислить следы матриц А, А2,…..Аn.

8. Даны массивы А(5,5), В(5,5), С(5,5). Вывести на печать массив с максимальной суммой положительных четных элементов расположенных в нечетных столбцах массива.

9. Что называется параметром, и каково его назначение? Формальные, фактические параметры, их взаимосвязь.

10. Составить программу для вычисления функции (использовать рекурсию)

 

В функции вычисляется

11. Для подсчета факториала числа сначала используйте цикл , а затем вместо цикла используете рекурсию. Объясните как работает в случае рекурсии функция.

12.              Вычислите n- е по счету число Фибоначчи. Числа Фибоначчи составляют последовательность, очередной элемент которой вычисляется по двум предыдущим значениям: fn=fn-1+fn-2. Нулевое и первое значения равны единице (использовать рекурсию).

13.                 Перевести арабские числа в римские (использовать рекурсию).

14.             Вычислить значение функции  

15.             Вычислить значение функции     

        

16.             Вычислить значение функции     

         

17.             Вычислить  

        

18.             Вычислить средние арифметические элементов, расположенных ниже   

главной диагонали, для матриц А(4,4) и С(5,5).

19.             Вычислить значения функции , .

20.  Вычислить значения функции  Массивы С(10), D(15) и число х заданы.

21.    Перегруженные функции и ее свойства.

22.    Вывести на экран два различных вида линии: «+++», «---» (использовать   

свойства перегруженных функции).

23.    Дан треугольник с известными длинами а, в, с его сторон, причем а, в, с  

имеют целые значения. Вычислить периметр и площадь треугольника по  

формуле Герона (использовать перегруженную функцию).

24.    Для подсчета факториала числа сначала используйте цикл , а затем вместо цикла используйте рекурсию (перегруженную функцию).

25.     Даны действительные числа s,t , вычислить где

     (использовать перегруженную функцию).

 

Строки.

1.     Дана строка символов. Вывести самое длинное слово в обратном порядке.

2.     В некотором тексте – в строке s1 надо заменить подстроку «белый орел» подстрокой «белый лебедь».

3.     Строка s1содержит фамилию, имя, отчество, а надо получить фамилию с инициалами.

4.     В строке s1заменить символ “+” на “-”.

5.     Напишите объявление класса которое содержит две переменные: строку breed (в виде массива) и переменную age типа double (методов класс не имеет).

6.     Что такое литерал. Как с помощью литералов инициализировать

массивы.

7.     При работе со строками часто используется связь между массивами и указателями. Какое значение имеет литерал.

8.     Строковые потоки. Входные строковые потоки.

9.     Строковые потоки. Выходные строковые потоки.

10.  Стандартный класс  string языка С++.

11.  Сравнение объектов класса string.

12.  Приведите пример где используются методы erase(), replase () и insert().

13.  Определение объектов класса string и присваивание им значений.

14.  Укажите виды строк, чем они отличаются. Строковые константы и переменные.

15. Как избежать переполнения буфера, какие методы используются?

16. Напишите основные функции действия над строками и символами.

17. Напишите строки как члены классов (пример).

18. Укажите методы класса string.

19. Напишите выражение, которое используется библиотечную функцию для копирования строки name в строку blank.

20. Напишите объявление класса которое содержит две переменные: строку breed (в виде массива) и переменную age типа int (методов класс не имеет).

21. Напишите выражение, которое осуществляет поиск строки «кот» в строке s1.

22. Напишите выражение, которое вставляет строку «кот» в строку s1 на позицию 12.

23. Дана строка символов. Определить количество слов, начинающихся с        буквы “а”.

24. Дана строка символов. Вывести на экран самое длинное слово.

25. Дана строка символов. Преобразовать строку , заменив в ней каждую точку тремя точками.

 

3.4.4 Задание 4.Графики.

 

     Графики.

1.     Напишите функции для управления графической системой.

2.     Напишите функции для установки параметров изображения.

3.     Напишите функции для получения изображения на экране.

4.     Напишите функции для получения параметров изображения.

5.     Напишите шаблон графической программы.

6.     Написать программу, которая выводит на экран флаг Олимпийских игр.

7.     Написать программу, которая вычерчивает на экране шестиугольник.

8.     Написать программу, которая рисует на экран изображение шахматной доски.

9.     Написать программу, которая рисует движущуюся по экрану окружность.

10.  Написать программу, которая рисует движущуюся по экрану эллипс.

11. Написать программу, которая на экране гистограмму успеваемости в класса, например по итогам контрольной работы.

12. Написать программу, которая выводит на экран точечный график функции y= 0.5x2+4x-3. Диапазон изменения аргумента от –5 до 5 ; шаг аргумента – 0.1.

13.   Написать программу, которая выводит на экран точечный график функции y= 2x2+1. Диапазон изменения аргумента от –5 до 5 ; шаг аргумента – 0.2.

14. Написать программу, которая выводит на экран точечный график функции y= 5x2+x-1. Диапазон изменения аргумента от –5 до 5 ; шаг аргумента – 0.1.

15. Написать программу, которая выводит на экран точечный график функции y=7x-3. Диапазон изменения аргумента от –5 до 5 ; шаг

     аргумента – 0.03.

16 Написать программу, которая выводит на экран точечный график функции  

y=3.5x2-3. Диапазон изменения аргумента от – 5 до 5 ; шаг аргумента – 0.04.

17. Написать программу, которая выводит на экран точечный график функции y=5sinx. Диапазон изменения аргумента от –5 до 5 ; шаг аргумента – 0.05.

18. Написать программу, которая выводит на экран точечный график функции y=5cos2x. Диапазон изменения аргумента от –5 до 5 ; шаг аргумента – 0.05. Написать программу, которая выводит на экран точечный график

19. функции y=sinx/x. Диапазон изменения аргумента от –5 до 5 ; шаг аргумента – 0.1.

20. Написать программу, которая выводит на экран точечный график функции y=tgx. Диапазон изменения аргумента от –5 до 5 ; шаг аргумента – 0.1

21. Написать программу, которая вычисляет токи для каждого значения сопротивления и       вычерчивает на экране  схему, которая приведена на

рисунке 1. Величины сопротивлений и источник Е1 считать известными.

Значения сопротивления и  э.д.с. вводятся с клавиатуры.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


22. Написать программу, которая вычисляет токи для каждого значения   сопротивления и  вычерчивает на экране  схему,  которая приведена на рисунке 2. Величины сопротивлений и источник Е3 считать известными. 3. Значения сопротивления и  э.д.с. вводятся с клавиатуры.

23.  Написать программу, которая вычисляет токи для каждого сопротивле-ния и вычерчивает на экране  схему, которая приведена на рисунке 3. Величины сопротивлений и источник тока J1 считать известными. Значения сопротивления и  э.д.с. вводятся с клавиатуры.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24. Написать программу, которая вычисляет токи для каждого сопротивления и вычерчивает на экране  схему которая приведена на рисунок 4, Величины  сопротивлений и источник тока  J2 считать известными. Значения сопротивления и  э.д.с. вводятся с клавиатуры.

25. Написать программу, которая вычисляет токи для каждого сопротивления и  вычерчивает на экране схему, которая  приведена на рисунок 5. Величины  

сопротивлений и источника тока J3 считать известными. Значения сопротивления и  э.д.с. вводятся с клавиатуры.

 

      

 

 
 

 

 

 

 

 

 

 

 

 

 

 


Список литературы

 

1. Подбельский В.В., Фомин С.С. Программирование на языке Си: Учебное пособие. –М.: Финансы и статистика, 2000.

2. Культин Н. С/С++ в задачах и примерах. –Санкт-Петербург: БХВ-Петербург, 2004.

3. Березин Б.И., Березин С.Б. Начальный курс Си и С++: Учебное пособие. –М.: ДИАЛОГ-МИФИ, 2004.

4. Шиманович. Е.Л. С/С++ в примерах и задачах: Учебное пособие. –Минск ООО «НОВОЕ ЗНАНИЕ», 2004.

5. Жунусов З.А., Сакабаев Н.К. Основы программирования. Построение алгоритмов и программирование на языке Паскаль. –Алматы: АИЭС, 2002.  

 

 

Содержание

 

Введение …………………………………………………..…….3

1 Рабочая программа…………………………………………….4

2 Методические указания к изучению курса……….………….5

3 Задание для контрольной работы ……………………………12

Список литературы………………………………………………21

 

 

 

Дополнительный план 2005 г., поз 25

 

 

 

 

Бимагамбетов Толеугали Сапарович

 

 

 

 

 

СПЕЦКУРС ПО ИНФОРМАТИКЕ  2

 

Программа, методические указания и контрольные задания

(для студентов специальности 050719 – Радиотехника, электроника и телекоммуникации заочной формы обучения )

 

 

 

 

         

 

Редактор        Ж.М. Сыздыкова

 

 

Подписан в печать ____________                    Формат 60х84    12/16

Тираж 300 экз                                                     Бумага типографская №1

Объем 1.4 уч.-изд.л.                                            Заказ _____. Цена 144 т.

 

 

 

Копировально-множительное бюро

Алматинского института энергетики и связи

480013 Алматы, Байтурсынова 126