Некоммерческое акционерное общество
АЛМАТИНСКИЙ УНИВЕРСИТЕТ ЭНЕРГЕТИКИ  И СВЯЗИ
Кафедра инженерной кибернетики
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
Методические указания по выполнению расчетно-графических работ
для  специальности 5В074600 – Космическая техника и технологии

Алматы 2014

СОСТАВИТЕЛИ: Г.А.Омарова, К.Т.Cауанова Алгоритмизация и программирование. Методические указания по  выполнению расчетно-графичеких работ для студентов  специальности 5В074600 – Космическая техника и технологии. - Алматы: АУЭС, 2014.-19 с.

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

Ил.-, табл.-1, библиогр.-12

Рецензент: Алмуратова К.Б.

Печатается по  плану издания некоммерческого акционерного общества “Алматинский университета энергетики и связи” на 2014 г.

© НАО “Алматинский универсистет энергетики и связи”, 2014 г.

ВВЕДЕНИЕ

В настоящее время Язык Си/Си++ является одним из распространенных языков программирования высокого уровня.  Он получил широкое применение в развитии космических технологий для  разработок программного обеспечения  специализированного  оборудования.

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

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

В каждой лабораторной работе приводятся краткие теоретические сведения по темам расчетно-графических  работ, варианты заданий и примеры разработки программ на языке Си/Си++.

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

Лабораторная работа №1. Алгоритм линейной структуры

Цель работы: изучение среды Турbo C++ и структуры программы написанной  на языке Си/Си++; изучение правил записи выражений, операторов присваивания, процедур ввода и вывода данных.

1.1 Задание

1.1.1 Составить программу по выбранному варианту  вычисления функции y = f(x) для заданного значения аргумента x,  записанного по правилам языка Си/Си++. Все значения для вычисления ввести с клавиатуры;

1.1.2 Составить блок-схему данного алгоритма;

1.1.3 Составить отчет.

1.2 Варианты  задания

1.                

2. 

3.                

4.

5.                

6.

7.                            

8.

9.        

10. 

11.                

12. 

13.        

14. 

15. 

2. Методические указания к выполнению лабораторной работы

2.1  Структура программы

Общая структура программы на С/С++ :

  #include <имя библиотеки 1>

  #include <имя библиотеки 2>

            ...

  #include "имя подключаемого файла 1"

  #include "имя подключаемого файла 2"

            ...

  // прототипы функций (заголовки)

  // глобальные идентификаторы (типы, переменные и т.д.)

 

  void main()

  {

    // описание переменных

    // раздел операторов         

  }

 

  // реализация функций

2.2 Общий вид оператора присваивания

y = x;

где y- переменная, x - выражение. Выражение x может содержать константы, переменные, названия функций, знаки операций и скобки. Описание математических функций содержится во включаемых файлах math.h и stdlib.h (см приложение А ).

 Если выражение не содержит скобок, то операции выполняются в порядке  приоритета (см приложение Б ).

 

2.3 Описание функций ввода-вывода

- Фунция форматированного вывода printf

printf(<управляющая строка>, <список переменных>);

- Функция putchar – записывает в стандартный поток вывода.

int putchar(int character);

- Функция puts-записывает символьную строку в стандартный поток данных.

 Например:                        puts("Привет");

-  Функция форматированного ввода scanf . Позволяет ввести информацию с клавиатуры.

scanf(<управляющая строка>, <список адресов переменных>);

Функция ввода строки gets(). Считывает символьную строку из стандартного входного потока и помещает ее по адресу , заданному указателем.

сhar *gets ( char *f);

- Функция getchar Считывает символ из стандартного входного потока.

 int getchar (void);

 Пример - Вычислить следующее выражение

,

при x=2.444, y=0.0869, z=-130.0, должно быть получено: -0.49871.

Текст  программы может иметь следующий вид:

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define x 2.444

#define y 0.00869

#define z -130.0

 

void main(void)

{

 double rezult,dop,a,b,c;

    clrscr( ); /* ОЧИСТКА ЭКРАНА */

      dop=fabs(y-x);

       a=pow(x,y+1)+exp(y-1);

       b=1+x*fabs(y-tan(z));

      c=0.5*pow(dop,2)-pow(dop,3)/3;

      rezult=a/b*(1+dop)+c;

    printf("\a\n ОТВЕТ:  rezult=%lf, Press any key...", rezult);

  getch( );  /* ЗАДЕРЖКА ДО НАЖАТИЯ ЛЮБОЙ КЛАВИШИ */

}

2.5 Изучение среды Турbo C++

2.5.1 Для создания программы в среде Турbo C++ входим во вкладку FILE-NEW и в окне редактора набираем исходный код программы (см рисунок 1.1)

Рисунок 1.1 – Создание нового файла.

2.5.2 После набора исходного текста программы запускаем ее на компиляцию (см. рисунок 1.2).

Рисунок 1.2  - Запуск программы на компиляцию

Во время компиляции выявляются синтаксические и логические ошибки.

2.3.3 После успешного завершения компиляции запускаем программу на выполнение (см. рисунок 1.3).

Рисунок 1.3  - Запуск программы на выполнение

2.3.4 В диалоговом окне вводим данные (см рисунок.1.4)

 

Рисунок 1. 4- Ввод данных

 

2.5.5 Для просмотра результатов вычисления переходим в пользовательское окно (см рисунок.1.5)

Рисунок 1.5  - Просмотр результата.

3. Содержание отчета

3.1  Титульный лист 

3.2 Второй лист должен содержать:

-  задание по варианту;

- листинг программы;

- тестирование программы;

- блок-схема.

4. Контрольные вопросы:

4.1       Структура простейшей программы на Си.

1.           Напишите формат и пример операции форматированного вывода на

экран.

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

3.           Перечислите управляющие символы, используемые в форматной строке.

4.           Перечислите спецификаторы формата, используемые в форматной

строке.

Лабораторная работа №2. Алгоритмы ветвления

Цель работы. Приобретение навыков программирования разветвленных алгоритмов.

1.1 Задание.

1.1.1 Составить программу по вычисления с применением условного оператора. Все данные в правых частях формул выбрать самостоятельно и ввести с клавиатуры.

1.1.2  Составить блок-схему данного алгоритма;

1.1.3  Составить отчет.

1.2 Варианты  задания

1.                  

2.

3.

4.

5.      

6.

7.          

8.

9.    

10.

11.

12.

13.              14.

15.

2. Методические указания к выполнению лабораторной работы

2.1 Условный оператор.

Условный оператор является средством ветвления.

Синтаксис описания условного оператора имеет 2 формы:

1.           if (логическое выражение)  оператор 1;

2. if (логическое выражение)  оператор 1;

                                                            else  оператор 2 ;

Условный оператор работает по следующему алгоритму. Вначале вычисляется условное выражение <условие>. Если результат есть TRUE (ИСТИНА), то выполняется <оператор1>, а <оператор2> пропускается; если результат есть FALSE (ЛОЖЬ), наоборот, <оператор1> пропускается, а выполняется <оператор2>. Если при этом часть условного оператора, начиная со слова else, отсутствует, то управление немедленно передается оператору, следующему за условным.

2.2 Оператор варианта (выбора)

Для выбора одного из вариантов решения задачи используют оператор выбора.

Синтаксис описания оператора выбора:

       switch (выражение)

       {

         case константа1:последовательность операторов; break;

         case константа2:последовательность операторов; break;

        case константаN:последовательность операторов; break;

        default:последовательность операторов; break;

      }

Оператор варианта работает следующим образом: сначала вычисляется выражение в скобках за ключевым словом switch. Затем просматривается список меток (case константа1 и т. д.) до тех пор, пока не находится метка, соответствующая значению вычисленного выражения. Далее происходит выполнение соответствующей последовательности операторов, следующих за двоеточием. Если же значение выражения не соответствует ни одной из меток оператора switch, то выполняется последовательность  операторов, следующая за ключевым словом default

2.3 Условная  (тернарная) операция ( ? : )

Служит  для определения одного из операндов.

 Синтаксис : <операнд1> ? <операнд2>:<операнд3>

  Пример: x= a >b ? a: b;

 Пример - Даны два числа: a и b, не равные нулю (использование оператора if).

Вычислить : ,

где : a=10; b=5;

;

Листинг программы:

#include <stdio.h>

#include <conio.h>

    void main( )

       {

            float a,b,c;

                  puts(“\n введите а и b:“);

                  scanf(“%f%f”, &a, &b);

       if (a>=b)    c=a/b;

                                     else c=b/a;

     printf(“\n c=%f”, c);

  getch();

         }

 

3. Содержание отчета

3.1  Титульный лист 

3.2 Второй лист должен содержать:

-  задание по варианту;

- листинг программы;

- тестирование программы;

- блок-схема.

 

4. Контрольные вопросы:

1.   Какова может быть вложенность операторов ветвления.

2.   Напишите формат и пример тернарной операции.

3.   Напишите формат и пример условного оператора в полной форме.

4.   Напишите формат и пример условного оператора в краткой форме.

5.   Напишите формат и пример оператора выбора.

Лабораторная работа №3 Циклические алгоритмы

Цель работы: приобретение навыков программирования алгоритмов циклических структур.

1.1 Задание  

1.1. Составить программу  вычисления таблицы значений суммы S(x) и функции в произвольном диапазоне [a,b] изменения аргумента x с произвольным шагом h. Значения a,b,h и n вводятся с клавиатуры. Функция Y(x) разложена в ряд  S(x). Значения S и Y для данного аргумента x должны совпадать в целой части и в первых  двух-четырех позициях после десятичной точки.

1.1.2 Составить блок-схему данного алгоритма;

1.1.3 Составить отчет.

 

1.2 Варианты   заданий

1. 

   

2.

3.  

4.

5.

7.

 

8. 

   

9. 

 

10.

11.  

12. 

13. 

14. 

15.

2. Методические указания к выполнению лабораторной работы

В языкеСи/Си++ имеются три различных оператора, с помощью которых можно запрограммировать циклические структуры алгоритмов.

2.1 Оператор цикла  с параметром (for)

  Синтаксис записи оператора:

for (выражение 1; выражение 2; выражение 3 ) оператор;

где:

- выражение 1 – установление начального значения переменной-параметра цикла (инициализация);

- выражение 2 – проверка условия на продолжение  цикла;

- выражение 3 – изменение параметра цикла (коррекция параметра);

- оператор – простой или составной оператор языка.

1.1.         Оператор цикла с постусловием (do-while)

Синтаксис записи оператора:

do <тело_цикла> while (условие);

do, while – зарезервированные слова;

тело_цикла - произвольный оператор(или набор операторов)

условие – логическое выражение.

Тело  цикла обязательно выполнится  хотя бы один раз, после чего вычисляется значение выражения_условия. Операторы тела цикла повторяются до тех пор, пока верно условие.

1.2.         Оператор цикла с предусловием (while)

Синтаксис записи оператора:

while (условие) тело_цикла;

while – зарезервированное слово;

Если «условие» имеет значение  true, то выполняется тело цикла, после чего вычисляется снова значение условие  и его проверка повторяется. Цикл выполняется до тех пор, пока условие принимает значение «истинно» (т.е. отлично от нуля). Когда же условие примет значение «ложно», программа передаст управление следующему оператору программы.

Пример - Вычислить ; на печать программа должна выводить промежуточные  и окончательный результаты.

Текст программы может иметь вид:

#include <stdio.h>

#include <conio.h>

#include <math.h>

#define n 10   

 

void main(void)

 

{

  float s; int k;

    clrscr( ); // очистка экрана

       s=0;

  for (k=1; k<=n; k++)

    {

      s=s+1.0/k;

      printf(" \t\n k=%d s=%f  1.0/k=%f\ n ", k, s, 1.0/k);

    }

   printf("\a\n ОТВЕТ:  s=%f, Press any key...",s);

  getch( );  /* задержка до нажатия клавиши ENTER */

}

 

3. Содержание отчета

3.1  Титульный лист 

3.2 Второй лист должен содержать:

-  задание по варианту;

- листинг программы;

- тестирование программы;

- блок-схема.

4. Контрольные вопросы:

1. Какой процесс называется ”циклическим” ?

2. Чем отличается оператор цикла с предусловием от оператора цикла с параметрами?

3. Поясните понятие “Вложенный цикл”;.

4. Какое значение должно быть выполнено для работы оператора цикла с постусловием (истина или ложь);

5. Какую роль играет операция «запятая» для оператора  цикла for?

Лабораторная работа №4  Обработка  одномерных массивов

Цель работы: приобретение навыков программирования при решении задач с использованием одномерных  массивов.

1.1 Задание  

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

1.1.2 Составить блок-схему данного алгоритма;

1.1.3 Составить отчет.

 

 1.2 Варианты   заданий

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

2. Дан массив размера N. Вывести вначале его элементы с четными1|нечетными2 индексами, а затем — с нечетными1|четными2. 

3. Дан целочисленный массив A размера 10. Вывести номер первого1|последнего2 из тех его элементов A[i], которые удовлетворяют двойному неравенству: A[1] < A[i] < A[10]. Если таких элементов нет, то вывести 0. 

4. Дан целочисленный массив размера N. Преобразовать его, прибавив к четным1|нечетным2 числам первый3|последний4 элемент. Первый и последний элементы массива не изменять. 

5. Дан целочисленный массив размера N. Вывести вначале все его четные1|нечетные2 элементы, а затем — нечетные1|четные2. 

6. Поменять местами минимальный и максимальный элементы массива размера 10. 

7. Заменить все положительные1|отрицательные2 элементы целочисленного массива размера 10 на значение минимального3|максимального4. 

8. Дан массив размера 10. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным элементами. 

9. Дан массив размера N. Осуществить циклический сдвиг элементов массива влево1|вправо2 на одну позицию. 

10. Дан массив размера N и число k (0 < k < 5, k < N). Осуществить циклический сдвиг элементов массива влево1|вправо2 на k позиций. 

11. Проверить, образуют ли элементы целочисленного массива размера N арифметическую1|геометрическую2 прогрессию. Если да, то вывести разность1|знаменатель2 прогрессии, если нет — вывести 0. 

12. Дан массив ненулевых целых чисел размера N. Проверить, чередуются ли в нем [четные и нечетные]1|[положительные и отрицательные]2 числа. Если чередуются, то вывести 0, если нет, то вывести номер первого элемента, нарушающего закономерность. 

13. Дан массив размера N. Найти количество его локальных минимумов1|максимумов2. 

14. Дан массив размера N. Найти максимальный1|минимальный2 из его локальных минимумов1|максимумов2. 

15. Дан массив размера N. Определить количество участков, на которых его элементы монотонно возрастают1|убывают2.

2. Методические указания к выполнению лабораторной работы

Массив – это структура данных, состоящая из фиксированного числа компонент одного типа. К компонентам массива обеспечен доступ при помощи указания индексов компонент.

2.1 Описание  массива

 

тип  имя_масссива [размер]

 где [размер]-количество индексов ,определяющий размерность массива.

 2.2 Заполнение массива значениями  с клавиатуры

for (i=0; i<N; i++)

  scanf (“%d”, &A[i]);

 

2.3 Вывод на экран значений элементов массива

for (i=0; i<N; i++)

printf (“%d ”, A[i]);

 

 Пример - В массиве а целого типа найти индекс и значение максимального элемента и переставить его с первым элементом. Программа также должна  подсчитать количество положительных и отрицательных элементов данного мaссива.

Текст программы может быть следующим:

#include <stdio.h>

#include <ctype.h>

#include <conio.h>

 

void main(void)

{

   int a[4]={-1,-20,4,100};   // обьявление массива a

     int i, index ,zam, max, kp,  ko;

       clrscr();

    for (i=0; i<=3; i++)

      printf("%d  ",a[i]);

                 max=a[0]; kp=0; ko=0;

        for (i=1; i<=3; i++)

            {

              if (a[i]>max)

                 {

                   max=a[i]; index=i;

                   }

            }

       zam=a[0]; a[0]=max; a[index]=zam;

      for (i=0;i<=3;i++)

  {

    if (a[i]<0) ko=ko+1;

             else kp=kp+1;

  }

    for (i=0; i<=3; i++)

      printf("%d  ",a[i]);/* вывод элементов массива */

           printf("\n  положительных элементов массива: %d \n",kp);

                   printf(" \n  отрицательных  элементов массива: %d",ko);

  getch();

}

 

3. Содержание отчета

3.1  Титульный лист 

3.2 Второй лист должен содержать:

-  задание по варианту;

- листинг программы;

- тестирование программы;

- блок-схема.

4.Контрольные вопросы

1. Как описывается одномерный массив ?

2. Какими методами можно проинициализировать массив?

3. С помощью каких  операторов  можно ввести элементы массива?

4. В каком случае размерность массива можно явно не указывать.

Лабораторная работа №5 Строки

Цель работы.  Приобретение навыков программирования при решении задач обработки текстов.

1.1 Задание 

1.1.1  Составить программу для решения задачи с использованием строк.

1.1.2   Составить блок-схему данного алгоритма;

1.1.3  Составить отчет.

1.2 Варианты  заданий

1. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина L кратна 2,  то удаляются все числа, которые делятся на 2.

2. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие  клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина L четная,  то удаляются 2 первых и 2 последних символа.

3. Выяснить, имеются ли среди символов S1...Sn некоторой строки все буквы, входящие в слово DOS.

4. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие  клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина L нечетная, то удаляется символ, стоящий посередине строки.

5. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши "Ввод". Составить программу для замены в  строке длиной К символов каждого второго символа ! на $.

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

7. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие  клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина L>10, то удаляются все цифры.

8. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие  клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина L кратна 3,  то удаляются все числа, делящиеся на 3.

9. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие  клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина  L кратна 5,  то подсчитывается количество скобок всех видов.

10. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина L кратна 4, то первая часть строки меняется местами со второй.

11. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина L=10, то удаляются все A...Z.

12. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие  клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина 

L >15, то удаляются все a…z.

13. В строке символов поменять местами символы на четных и нечетных позициях.

14. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие клавиши "Ввод". Программа должна определить длину введенной строки L, и, если длина

L >6, то выделяется подстрока в { } скобках.

15. Ввести с клавиатуры строку символов. Признак окончания ввода строки – нажатие  клавиши "Ввод". Программа должна определить длину введенной  строки L и, если длина

2. Методические указания к выполнению лабораторной работы

Строка – это массив, элементы которого являются символы.

2.1 Стандартные функции работы со строками и символами

 - size_t strlen (const char *s) — возвращает длину в байтах строки s, не включая '\0'.

- char * strcat (char *dest, const char *src) — присоединяет строку src в конец строки dest.

- char * strcpy (char *dest, const char *src) — копирует строку src в место па­мяти, на которое указывает dest.

- char * strncat (char *dest, const char *src, size_t maxlen) — присоединяет maxlen символов строки src в конец строки dest.

- char * strncpy (char *dest, const char *src, size_t maxlen) — копирует maxlen первых символов строки src в место памяти, на которое указывает dest.

- char * strstr (char *sl, const char *s2) — отыскивает первое вхождение строки s2 в строку si.

- int strcmp (const char *sl, const char *s2) — сравнивает две строки в лекси­кографическом порядке с учетом различия прописных и строчных букв; возвращает значение меньше нуля, если si располагается в упорядочен­ном по алфавиту порядке раньше, чем s2, и больше нуля, если наоборот. Функция возвращает нуль, если строки идентичны.

- char * stricmp (const char *sl, const char *s2) — аналогична strcmp, только не различает прописные и строчные буквы.

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

#include <stdio.h>

#include <string.h>

#include <conio.h>

 

void main(void)

{

   char s[100];   // обьявление символьного массива

    int i, k;

      clrscr();

      puts(" Введите исходную строку");

       gets(s);

  k=strlen(s);

  puts(" ...   РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ ......\n");

    for (i=k; i>=0; i--)

      printf("%c",s[i]);

      /* вывод элементов массива в обратном порядке */

      printf("\n Press any key...");

    getch();

  }

3. Содержание отчета

3.1  Титульный лист 

3.2 Второй лист должен содержать:

-  задание по варианту;

- листинг программы;

- тестирование программы;

- блок-схема.

4. Контрольные вопросы:

1.   Заполните символьный массив  x[15]  из диапазона а-d;

2.   Если  объявлен и проинициализирован  массив char m[6],как вывести элемент m[4]?

3.   Чему равно нижнее значение индекса?

4.   Что означает нуль-терминатор?

5.   Какими переменными инициализируются строки?

Приложение А

Таблица А1 - Описание математических функций

Функция

Математическое

обозначение

Обозначение

Абсолютное значение

|x|

fabs(x)

Косинус

cos x

cos(x)

Синус

sin x

sin(x)

Тангенс

tg x

tan(x)

Экспонента 

ех

exp(x)

 Возведение в степень

ху

pow(x,y)

Степенная функция

10n

pow10(n)

Логарифм натуральный

ln x

log(x)

Логарифм десятичный

log x

log10(x)

Корень квадратный

sqrt(x)

Приложение Б

Таблица Б1- Описание операций (операции расположены по убыванию приоритета).

операция

описание

()

вызов функции

[]

выделение массива

.

обращение к полям и методам через сам объект

->

обращение к полям и методам через ссылку на объект

!

Логическое отрицание

~

Побитовое отрицание

-

изменение знака

++

инкремент

--

декремент

&

взятие адреса (&a)

*

обращение по адресу (a*)

(тип)

преобразование типа

sizeof()

размер в байтах

*

умножение

/

деление

%

остаток от деления

+

сложение

-

вычитание

меньше

больше

<=

меньше равно

>=

больше равно

==

равно

!=

не равно

&

поразрядное логическое И

^

поразрядное исключающее ИЛИ

|

поразрядное логическое ИЛИ

&&

логическое И

||

логическое ИЛИ

?:

условная операция

=

операция присваивания

,

операция запятая

+=   -=   *=   /=   <<=   >>=   &=   |=   ^=

Бинарные операции

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

Основная литература:

1.Саблина Н.Г. Основы программирования на языке Си. Учебное пособие.  Екатеринбург, УГТУ-УПИ, 2007  

2.Керниган Б., Ритчи Д. Язык программирования СиДПер. с англ., 3-е      изд., испр. —СПб.:      "Невский Диалект", 2001. - 352 с: ил.

3. В.В. Борисенко  Основы программирования  программирования http://www.intuit.ru/department/se/pbmsu/

4.Программирование на языке Си К. Поляков, 1995-2009 http://kpolyakov.narod.ru

5.В.Л Бусько, А.Г. Корбит, И.Н. Коренская, В.И. Убийконь  Л12  Лабораторный практикум по программированию в 2 ч. Ч.2: Основы программирования на алгоритмическом языке - Мн.: БГУИР,2001.-62 с.

Дополнительная литература:

1.Жоголев Е. А. Лекции по технологии программирования. МГУ, 2000  http://sp.cmc.msu.ru/info/3/techprog.htm.

2.Е.А. Ерёмин, А.П. Шестаков. Примерные ответы на профильные билеты." //Информатика, 2006-2007http://comp-science.narod.ru/Bilet/bil6.htm

3.Павловская Т.А. C/C++. Программирование на языке высокого уровня: учебник для студентов вузов, обучающихся по направлению "Информатика и вычисл. техника" / Т.А. Павловская СПб.: Питер, 2005. 461 с.

4.Культин Н. Б.C/C++ в задачах и примерах. — СПб.: БХВ-Петербург, 2005. —288 с : ил.

5.Подбельский В.В. Язык СИ++: учебное пособие.  М.:     Финансы и статистика, 2003. 560 с.

Сводный план 2014г., поз 101

Гульнара Абуталиновна Омарова
Клара Тагаевна Сауанова
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
Методические указания по выполнению расчетно-графических работ
для  специальности 5В074600 – Космическая техника и технологии

Редактор
Специалист по стандартизации

Подписано в печать _______
Тираж   25   экз.  
Объем   1,2   уч.-изд.л.
Формат 60х84 1/16
Бумага типографская №__
Заказ ____.Цена  600   тенге.

Копировально-множительное бюро
Некоммерческое акционерное общество
“Алматинский университет энергетики и связи”
050013, Алматы, ул.Байтурсынова, 126