Лабораторная работа 2 Разработка и отладка алгоритмов и программ с использованием указателей

Save this PDF as:
 WORD  PNG  TXT  JPG

Размер: px
Начинать показ со страницы:

Download "Лабораторная работа 2 Разработка и отладка алгоритмов и программ с использованием указателей"

Транскрипт

1 Лабораторная работа 2 Разработка и отладка алгоритмов и программ с использованием указателей 1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков работы с указателями. 2. ОСНОВНЫЕ ПОНЯТИЯ Указатель это переменная, значением которой является адрес некоторого объекта (обычно другой переменной) в памяти компьютера. Общая форма объявления указателя следующая: тип *имя; В языке С определены две операции для работы с указателями: * и &. Оператор & это унарный оператор, возвращающий адрес своего операнда. Например, оператор m = &count; присваивает переменной m адрес переменной count. Оператор * это унарный оператор, возвращающий значение переменной, расположенной по указанному адресу. Например, оператор q = *m; присваивает переменной q значение переменной count. В языке С допустимы только четыре арифметические операции над указателями: инкрементирование, декрементирование, сложение с числом, вычитание. Например, следующие операции над указателями p1 и p2 допустимы: p1++; p1--; p1+7; p1-p2; Указатель всегда указывает на первый байт объекта. После увеличения (уменьшения) указатель ссылается на следующий объект такого же типа. Стандартом С допускается сравнение двух указателей. Например, если объявлены два указателя р и q, то следующий оператор является правильным: if(p < q) printf("p ссылается на меньший адрес, чем q\n");

2 Как правило, сравнение указателей может оказаться полезным, только тогда, когда два указателя ссылаются на общий объект, например, на массив. Понятия указателей и массивов тесно связаны. Рассмотрим следующий фрагмент программы: char str[80], *p1; p1 = str; Здесь p1 указывает на первый элемент массива str. Обратиться к пятому элементу массива str можно с помощью любого из двух выражений: str[4] * (p1+4) В языке С существуют два метода обращения к элементу массива: адресная арифметика и индексация массива. Рассмотрим два примера реализации одной и той же функции, выводящей строку на экран: Пример 1. void putstr(char *s) // Индексация указателя s как массива. { for(int t=0; s[t]; t++) putchar(s[t]); void putstr(char *s) // Использование адресной арифметики { while(*s) putchar(*s++); Указатели используются для динамического выделения памяти компьютера для хранения данных. Основу системы динамического распределения в С составляют функции malloc() и free().функция malloc() выделяет память, а free() освобождает ее. В программу, использующую эти функции, должен быть включен заголовочный файл <stdlib.h>.

3 Прототип функции malloc: void *malloc(количество_байтов); Для повышения мобильности используется оператор sizeof. В следующем примере выделяется память для 50 целых: int *p; p = (int *) malloc(n*sizeof(int)); Так как функция malloc возвращает результат типа void необходимо явное преобразование типов (int *). Оператор sizeof(int) возвращает количество байтов, отводящихся на тип int то есть 4. Следовательно, предыдущая функция выделяет память для n переменных типа int или n*4 байт. Функция free() имеет следующий прототип: void free(void *p) Здесь р указатель на участок памяти, выделенный перед этим функцией malloc(). Функцию free() ни в коем случае нельзя вызывать с неправильным аргументом, это мгновенно разрушит всю систему распределения памяти. Можно также динамически выделить память для многомерного массива. Для этого нужно объявить указатель, определяющий все, кроме самого левого измерения массива. Пример объявления указателя на двумерный массив: int (*p)[10]; Здесь указатель содержит двумерный динамический массив из 10 строк, в которых хранятся целые числа. Количество чисел в строке можно задавать во время выполнения программы, но количество строк должно быть фиксированным. Пример 2 - формирование одномерного динамического массива

4 //lab2 #include <stdio.h> #include <conio.h> #include <alloc.h> main() { float *p,d; int i,n; printf("\n input n:"); scanf("%d",&n); p=(float *)malloc(n*sizeof(float)); for (i=0;i<n;i++) {printf("x[%d]=",i); scanf("%f",&d); p[i]=d; for (i=0;i<n;i++) { if (i%4==0) printf("\n"); printf("\t x[%d]=%6.2f",i,p[i]); free(p); getch(); Доступ к участкам выделенной памяти выполняется с помощью операции индексирования: p[i]. 3. ВЫПОЛНЕНИЕ РАБОТЫ 3.1. Проанализировать приведенные программы Создать двумерный динамический массив и выполнить задание по своему варианту.

5 Варианты заданий 1. Даны матрица A размером m*n и вектор В размером m. Записать на главную диагональ элементы вектора, а в вектор - элементы главной диагонали. 2. Выбрать максимальный элемент матрицы С (размер m*n), элементы четных строк разделить на максимальный элемент, а к элементам нечетных прибавить максимальный элемент. 3. Найти минимальный элемент матрицы С (размер m*n), и поменять его местами с первым элементом. 4. Дана матрица Е размером m*n. Вычислить суммы элементов каждого столбца. Определить наибольшее значение этих сумм и номер соответствующего столбца. 5. В матрице К размером m*n найти в каждом столбце произведение отрицательных элементов и количество нулевых элементов в матрице. 6. Даны две матрицы А и В одинаковой размерности m*n. Получить матрицу C = max (a i j, b i j ), и матрицу D = min (a i j, b i j). 7. Дана матрица Р размером m*n. Найти сумму минимальных элементов каждого столбца матрицы. 8. Даны матрицы: А размером m*k и В размером k*n.получить матрицус=a*в. 9. Дана матрица К размером m*n. Вычислить сумму минимальных элементов каждого столбца. 10. Дана матрица С размером m*n. Упорядочить эту матрицу по возрастанию элементов в каждом столбце. 11. Дан одномерный массив A из m элементов. Вводится число k (k<m). Получить из А матрицу, по k элементов в строке. Недостающие элементы заменить В матрице Т размером m*k переставить элементы в строках так, чтобы по диагонали они были упорядочены по возрастанию.


Лекции по курсу Алгоритмы и алгоритмические языки, 1 курс, 1 поток, 2010/2011 уч.год.

Лекции по курсу Алгоритмы и алгоритмические языки, 1 курс, 1 поток, 2010/2011 уч.год. Лекция 8 Массивы и указатели 8.1. Указатели 8.1.1. Организация памяти в компьютере массив последовательно пронумерованных (адресуемых) ячеек, которые можно обрабатывать по отдельности, либо группами. Указатель

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 8

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017. Лекция 8 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2016/2017 Лекция 8 1 Указатели & - операция адресации * - операция разыменования int a = 1; int *p; p = &a; *p = 2; printf ("Значение переменной a = %d\n",

Подробнее

Алгоритмизация и программирование

Алгоритмизация и программирование Алгоритмизация и программирование Программирование на С/С++ (ч.12 указатели) Беркунский Е.Ю., кафедра ИУСТ, НУК eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Указатели Указатель переменная, значением

Подробнее

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

Лабораторная работа 4 Обработка статических массивов Лабораторная работа 4 Обработка статических массивов 1. ЦЕЛЬ РАБОТЫ: приобретение практических навыков в составлении программ с массивами. 2. ОСНОВНЫЕ СВЕДЕНИЯ Массивы - структурированный тип данных с

Подробнее

Лабораторная работа 5

Лабораторная работа 5 Лабораторная работа 5 Функции и массивы в С/С++ 1. Цель работы: 1) Получение практических навыков при работе с функциями 2) Получение практических навыков при передаче массивов в функции. 2. Теоретические

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 10

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 10 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019 Лекция 10 1 Указатели & - операция адресации * - операция разыменования int a = 1; int *p; p = &a; *p = 2; printf ("Значение переменной a =

Подробнее

4.13. Строки. 10 символов char string[11]; "строка в кавычках" Строковая константа - char str[ ] = Counted by compiler! ;

4.13. Строки. 10 символов char string[11]; строка в кавычках Строковая константа - char str[ ] = Counted by compiler! ; -одномерные массивы типа char, заканчивающийся нулевым байтом - '\0 или '\x0 10 символов char string[11]; 4.13. Строки Строковая константа - "строка в кавычках" добавляется '\0 char str[ ] = Counted by

Подробнее

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

Использование двумерных массивов в С. Определение двумерного массива Основные приемы обработки статических массивов Некоторые классические алгоритмы Использование двумерных массивов в С Определение двумерного массива Основные приемы обработки статических массивов Некоторые классические алгоритмы Объявление двумерного массива Двумерные массивы, как

Подробнее

Содержание: указатели массивы и указатели динамическое размещение массивов глобальные переменные

Содержание: указатели массивы и указатели динамическое размещение массивов глобальные переменные Тема : знакомство с С (Си) УКАЗАТЕЛИ и МАССИВЫ (динамическое размещение) Содержание: указатели массивы и указатели динамическое размещение массивов глобальные переменные Указатели Указатель это адрес памяти,

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2017/2018. Лекция 23

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2017/2018. Лекция 23 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2017/2018 Лекция 23 1 Алгоритмы перебора множеств Перестановка некоторого набора элементов это упорядоченная последовательность из этих элементов. Например,

Подробнее

Лекция 18 Тема: Двумерные динамические массивы

Лекция 18 Тема: Двумерные динамические массивы Лекция 18 Тема: Двумерные динамические массивы Под двумерным массивом понимается одномерный массив, элементами которого являются одномерные массивы. Другими словами, это набор однотипных данных, имеющий

Подробнее

Алгоритмизация и программирование

Алгоритмизация и программирование Алгоритмизация и программирование Программирование на С/С++ (ч.12 указатели) Беркунский Е.Ю., кафедра ИУСТ, НУК eugeny.berkunsky@gmail.com http://www.berkut.mk.ua Указатели Указатель переменная, значением

Подробнее

int *p, c; char *strdup(char *ptr); int *aptr[20]; p = &c;

int *p, c; char *strdup(char *ptr); int *aptr[20]; p = &c; 1 Занятие 5 1.1 Указатели Рассмотрим важнейший производный тип указательный. Если base это некоторый базовый тип, то тип указателя на тип base имеет своим множеством значений всевозможные адреса памяти,

Подробнее

Алгоритмизация и программирование

Алгоритмизация и программирование Алгоритмизация и программирование Программирование на С/С++ (ч.12 указатели) Беркунский Е.Ю., кафедра ИУСТ, НУК eugeny.berkunsky@gmail.com http://berkut.homelinux.com Указатели Указатель переменная, значением

Подробнее

Лабораторная работа 3

Лабораторная работа 3 Цель работы: Лабораторная работа 3 Знакомство с массивами в языке Си. Алгоритмы сортировки и обработки двумерных массивов. 1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 1.1. Массивы Массив - упорядоченная структура, предназначенная

Подробнее

ЛЕКЦИЯ 5 ДИНАМИЧЕСКИЕ МАССИВЫ И ПРИМЕРЫ РАБОТЫ С УКАЗАТЕЛЯМИ

ЛЕКЦИЯ 5 ДИНАМИЧЕСКИЕ МАССИВЫ И ПРИМЕРЫ РАБОТЫ С УКАЗАТЕЛЯМИ ЛЕКЦИЯ 5 ДИНАМИЧЕСКИЕ МАССИВЫ И ПРИМЕРЫ РАБОТЫ С УКАЗАТЕЛЯМИ 1. Функция суммирования элементов массива 1.1. Реализация функции суммирования без использования указателей Имеется массив a из 5 элементов.

Подробнее

5%. Через сколько дней он будет пробегать больше 15 км? Спортсмен в первый день пробежал 5 км. С каждым днем он увеличивает расстояние на

5%. Через сколько дней он будет пробегать больше 15 км? Спортсмен в первый день пробежал 5 км. С каждым днем он увеличивает расстояние на ОЦЕНОЧНЫЕ СРЕДСТВА ДЛЯ ТЕКУЩЕГО КОНТРОЛЯ УСПЕВАЕМОСТИ ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ ПО ИТОГАМ ОСВОЕНИЯ ДИСЦИПЛИНЫ Б1.Б.22 Теоретические основы информатики Контрольные работы 1 семестра 1. Программа на С++.

Подробнее

struct circle { double x, y, r; int c; }; struct circle c1; struct foo { struct bar { double x; }; int y; struct bar z; }; struct bar t;

struct circle { double x, y, r; int c; }; struct circle c1; struct foo { struct bar { double x; }; int y; struct bar z; }; struct bar t; 1 Занятие 6 1.1 Структуры Ранее мы рассмотрели методы определения и работы с массивами и перечислимыми типами. Теперь рассмотрим определение и использование структур. Структура в языке Си это объединение

Подробнее

Тема 1.3 Операции в С

Тема 1.3 Операции в С Тема 1.3 Операции в С Преобразование типов явное и неявное. Операции арифметического типа. Преобразование типа в операции присвоения. Операции логического типа. Одноместные и двуместные операции. Адресные

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 14

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 14 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019 Лекция 14 1 Препроцессор: операции # и ## Операция # позволяет получить строковое представление аргумента #define FAIL(op) \ do { \ fprintf

Подробнее

Лабораторная работа 3

Лабораторная работа 3 Лабораторная работа 3 Задание Требуется реализовать программу, выполняющую действия над массивами. При выполнении части 1 допускается использование массивов статического размера. При выполнении части 2

Подробнее

7. Сформировать квадратную матрицу по заданному образцу (n=10):

7. Сформировать квадратную матрицу по заданному образцу (n=10): Двумерные массивы Общее задание ( 5; 6- письменно) Вариант. Дан массив целых чисел А(5 5). Найти сумму элементов массива.. Дан массив целых чисел А(5 5). Найти минимум в каждой строке матрицы А.. Дан массив

Подробнее

Курс «Алгоритмы и алгоритмические языки» Лекция 9

Курс «Алгоритмы и алгоритмические языки» Лекция 9 Курс «Алгоритмы и алгоритмические языки» Лекция 9 1 Рекурсия В языке Си функция может быть рекурсивной, т.е. вызывать саму себя: int fibrec (int n) { if (n == 1 n == 2) return 1; else return fibrec (n

Подробнее

Задачи и вопросы для самостоятельного изучения

Задачи и вопросы для самостоятельного изучения Министерство образования и науки Российской Федерации ФГБОУ ВПО «Уральский государственный лесотехнический университет» Институт экономики и управления Кафедра Информационных технологий и моделирования

Подробнее

Лабораторная работа 3 Работа с массивами

Лабораторная работа 3 Работа с массивами Лабораторная работа 3 Работа с массивами 1. Цель работы: 1) Получение практических навыков при работе с массивами. 2) Получение практических навыков при работе с указателями. 2. раткие теоретические сведения

Подробнее

Алгоритмы, структуры данных и прогр-ие_рус_3рк_зим_шайдуллина_ис(2к3,4г очн)

Алгоритмы, структуры данных и прогр-ие_рус_3рк_зим_шайдуллина_ис(2к3,4г очн) Алгоритмы, структуры данных и прогр-ие_рус_3рк_зим_шайдуллина_ис(2к3,4г очн) Автор теста: Шайдуллина Динара Ташеновна Название курса: Алгоритмы, структуры данных и программирование Название теста: Алгоритмы,

Подробнее

ЛЕКЦИЯ 4 МАССИВЫ И УКАЗАТЕЛИ

ЛЕКЦИЯ 4 МАССИВЫ И УКАЗАТЕЛИ ЛЕКЦИЯ 4 МАССИВЫ И УКАЗАТЕЛИ 1. Массивы Массив это набор однородных элементов фиксированной длины. Память для массивов выделяется одним куском. При инициализации массива записывается тип элементов массива,

Подробнее

Алгоритм-я и основы програм-я_рус_4кр_зим_шайдуллина Т_ВТиПО(2к4г очн)

Алгоритм-я и основы програм-я_рус_4кр_зим_шайдуллина Т_ВТиПО(2к4г очн) Алгоритм-я и основы програм-я_рус_4кр_зим_шайдуллина Т_ВТиПО(2к4г очн) 1 Преобразование целочисленной переменной value в ASCII эквивалент 2 Это значение 5.9875e17 может быть сохранено в переменной, типа:

Подробнее

Матрицы. Шокуров Антон В. 8 апреля 2017 г. Версия: 0.10

Матрицы. Шокуров Антон В.  8 апреля 2017 г. Версия: 0.10 Матрицы Шокуров Антон В. shokurov.anton.v@yandex.ru 8 апреля 2017 г. Версия: 0.10 Аннотация Показаны различные традиционные способы задания матриц, как двумерных, так и многомерных. Цель. Научится работать

Подробнее

Компьютерная Академия Шаг Урок 12. Программирование на C. Оглавление

Компьютерная Академия Шаг Урок 12. Программирование на C. Оглавление Оглавление 1. Статическое и динамическое выделение памяти. 2. Указатели. 3. Указатели и массивы. 4. Указатели - аргументы функций. Передача аргументов по указателю. 5. Домашнее задание. 1 Статическое и

Подробнее

Массивы. Дисциплины "ЯЗЫКИ ПРОГРАММИРОВАНИЯ" "ПРОГРАММИРОВАНИЕ" Преподаватель: Перышкова Евгения Николаевна. СибГУТИ Кафедра вычислительных систем

Массивы. Дисциплины ЯЗЫКИ ПРОГРАММИРОВАНИЯ ПРОГРАММИРОВАНИЕ Преподаватель: Перышкова Евгения Николаевна. СибГУТИ Кафедра вычислительных систем СибГУТИ Кафедра вычислительных систем Дисциплины "ЯЗЫКИ ПРОГРАММИРОВАНИЯ" "ПРОГРАММИРОВАНИЕ" Массивы Преподаватель: Перышкова Евгения Николаевна Кафедра вычислительных систем СибГУТИ 1 Численное вычисление

Подробнее

три столбца и одну строку, и занимает 24 байта памяти;

три столбца и одну строку, и занимает 24 байта памяти; Лабораторная работа Работа с векторами в MatLab Цель работы: выработать навыки работы с векторами в MatLab. Требуемое оборудование и программное обеспечение: ПЭВМ класса Pentium или выше, операционная

Подробнее

Лабораторная работа 6.

Лабораторная работа 6. Лабораторная работа 6. АГВ Ветвление в программе по условию, досрочный выход из цикла анализа матриц. Все задачи сформулированы по схеме: ЕСЛИ (выполнено УСЛОВИЕ в матрице), ТОГДА выполнить ДЕЙСТВИЕ_1,

Подробнее

Одномерные массивы. Лабораторная работа 9

Одномерные массивы. Лабораторная работа 9 Лабораторная работа 9 Одномерные массивы Массивы. Ссылочные типы и null. Часто в программах требуется завести большое количество переменных одного и того же типа. Можно, конечно, написать большое количество

Подробнее

Язык Си. Реализация списков с помощью цепочек динамических объектов

Язык Си. Реализация списков с помощью цепочек динамических объектов Язык Си. Реализация списков с помощью цепочек динамических объектов А. А. Вылиток В языке Си нет встроенных типов данных и операций для работы со списками. Программируя на языке Паскаль (в котором также

Подробнее

Лекция 9 Опасный код. Общие понятия. Основы использования указателей

Лекция 9 Опасный код. Общие понятия. Основы использования указателей Лекция 9 Опасный код Общие понятия С С# позволяет программистам писать то, что называется "опасный кодом" (unsafe code). Опасный код это код, который не плохо написан, а код, который не выполняется под

Подробнее

Лабораторная работа 5 Программирование с использованием массивов Цель работы: Общие сведения

Лабораторная работа 5 Программирование с использованием массивов Цель работы: Общие сведения Лабораторная работа 5 Программирование с использованием массивов Цель работы: научиться правильно описывать различные массивы, уметь инициализировать массивы, распечатывать содержимое массива; научится

Подробнее

Лабораторная работа 9. Тема: «Обработка одномерных массивов. Сортировка массивов»

Лабораторная работа 9. Тема: «Обработка одномерных массивов. Сортировка массивов» Лабораторная работа 9 Тема: «Обработка одномерных массивов. Сортировка массивов» 1. Цель работы 1.1 Получение практических навыков в работе с одномерными массивами. 1.2 Знакомство с алгоритмами упорядочения.

Подробнее

Указатели и Массивы.

Указатели и Массивы. Указатели и Массивы. Шокуров Антон В. shokurov.anton.v@yandex.ru 26 марта 2017 г. Версия: 0.12 Аннотация Указатели. Зачем это? Модификация переданных функции переменных. Индексация переменных. Статические

Подробнее

ЛЕКЦИЯ 4. Алгоритмы обработки двумерных массивов. 7. Алгоритмы обработки матриц 7.1. Алгоритм ввода-вывода матриц

ЛЕКЦИЯ 4. Алгоритмы обработки двумерных массивов. 7. Алгоритмы обработки матриц 7.1. Алгоритм ввода-вывода матриц ЛЕКЦИЯ 4. Алгоритмы обработки двумерных массивов. Цель лекции : Знакомство с понятием матрицы, как двумерного массива. Приобретение навыков построения алгоритмов предназначенных для обрабо тки ма триц.

Подробнее

Лекция 4. Динамическая память

Лекция 4. Динамическая память http://compscicenter.ru 1/21 Александр Смаль CS центр 1 октября 2014 Санкт-Петербург http://compscicenter.ru 2/21 Зачем нужна динамическая память? Стек программы ограничен. Он не предназначен для хранения

Подробнее

Язык C++. Массивы учебный год Урок 4.

Язык C++. Массивы учебный год Урок 4. Язык C++. Массивы 2017-2018 учебный год Урок 4. #include #include #include using namespace std; int main() { int a, b, k, n,x; cout

Подробнее

Семинар 4. Дружественные функции. Перегрузка операторов. Динамическое распределение памяти.

Семинар 4. Дружественные функции. Перегрузка операторов. Динамическое распределение памяти. Семинар 4. Дружественные функции. Перегрузка операторов. Динамическое распределение памяти. 1. Дружественные функции Дружественные функции обладает такими же правами доступа к данным класса, как и его

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 29 Создание приложения с разветвленным меню. Динамические массивы

ЛАБОРАТОРНАЯ РАБОТА 29 Создание приложения с разветвленным меню. Динамические массивы ЛАБОРАТОРНАЯ РАБОТА 29 Создание приложения с разветвленным меню. Динамические массивы Цели: научиться применять указатели; научиться работать с динамическими массивами; закрепить умение по обработке ошибок;

Подробнее

ООП. С++. Вопросы для проверки и закрепления знаний. 7. Проанализируйте ранее разработанные Вами программы

ООП. С++. Вопросы для проверки и закрепления знаний. 7. Проанализируйте ранее разработанные Вами программы ООП. С++. Вопросы для проверки и закрепления знаний. 1. Проанализируйте ранее разработанные Вами программы и ответьте на вопрос: в каких из них наблюдается слабая связь между структурой данных и функционированием

Подробнее

Тема 1.1 Функции в С. Понятие функции

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

Подробнее

Объявление функций в С/С++

Объявление функций в С/С++ Объявление функций в С/С++ Описание функций в отдельных файлах В С++ существует возможность поместить объявления функций в отдельный файл, тогда необходимо будет подключать файл с функциями, как в случае

Подробнее

Задачи для самостоятельного решения

Задачи для самостоятельного решения Задачи для самостоятельного решения Звездочкой помечены задачи повышенного уровня сложности. Команда пересылки 1. Даны две переменных а (тип integer) и b (тип byte). Присвоить b значение а. Вывести на

Подробнее

спецификатор-типа описатель [константное - выражение];

спецификатор-типа описатель [константное - выражение]; Тема : знакомство с С (Си) МАССИВЫ и ФУНКЦИИ, упражнение Содержание: массивы упражнение Массивы Массивы - это группа элементов одинакового типа (double, float, int и т.п.). Из объявления массива компилятор

Подробнее

Массивы. Дисциплины "ЯЗЫКИ ПРОГРАММИРОВАНИЯ" "ПРОГРАММИРОВАНИЕ" Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич

Массивы. Дисциплины ЯЗЫКИ ПРОГРАММИРОВАНИЯ ПРОГРАММИРОВАНИЕ Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Дисциплины "ЯЗЫКИ ПРОГРАММИРОВАНИЯ" "ПРОГРАММИРОВАНИЕ" Массивы Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич Кафедра вычислительных систем

Подробнее

Лабораторная работа 6

Лабораторная работа 6 Тема: Двумерные массивы Лабораторная работа 6 Цель: Изучение способов задания двумерных массивов в языке C#. Приобретение навыков составления и отладки программ с использованием двумерных массивов. 1 Теоретический

Подробнее

Векторы и матрицы При работе в MATLAB необходимо учитывать две существенные особенности реализации арифметических вычислений в этой системе.

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

Подробнее

Курс «Алгоритмы и алгоритмические языки» Лекция 6

Курс «Алгоритмы и алгоритмические языки» Лекция 6 Курс «Алгоритмы и алгоритмические языки» Лекция 6 1 Символьный тип данных (char) Программа подсчета числа строк во входном потоке #include int main (void) { } int c, nl = 0; while ((c = getchar())!=

Подробнее

Практические задания по дисциплине «Программирование на языке высокого уровня» Cеместр 1

Практические задания по дисциплине «Программирование на языке высокого уровня» Cеместр 1 Федеральное агентство связи ФГОБУ ВПО «Сибирский государственный университет телекоммуникаций и информатики» Кафедра вычислительных систем Практические задания по дисциплине «Программирование на языке

Подробнее

Цель: Приобретение навыков составления и отладки программ с использованием процедур и функций программиста.

Цель: Приобретение навыков составления и отладки программ с использованием процедур и функций программиста. Лабораторная работа 8 Тема: Процедуры и функции программиста. Цель: Приобретение навыков составления и отладки программ с использованием процедур и функций программиста. I. Теоретический материал Подпрограммой

Подробнее

Значение переменной в памяти. Память. Аргументы функции: вызовы по значению (by value) и по ссылке (by reference)

Значение переменной в памяти. Память. Аргументы функции: вызовы по значению (by value) и по ссылке (by reference) Тема : знакомство с С (Си). Рекурсия и стеки (продолжение) Содержание: указатели, аргументы функции, доступ к элементам массива через указатели, рекурсия, разделение программы на файлы, упражнение 1, упражнение

Подробнее

ЛЕКЦИЯ 3. Алгоритмы обработки одномерных массивов. построения алгоритмов предназначенных для обработки одномерных массивов.

ЛЕКЦИЯ 3. Алгоритмы обработки одномерных массивов. построения алгоритмов предназначенных для обработки одномерных массивов. ЛЕКЦИЯ 3. Алгоритмы обработки одномерных массивов. Цель лекции : Знакомство с понятием массива. Приобретение навыков построения алгоритмов предназначенных для обработки одномерных массивов. 6. Алгоритмы

Подробнее

Введение в программирование Урок 9: Указатели и массивы

Введение в программирование Урок 9: Указатели и массивы Введение в программирование Урок 9: Указатели и массивы 1 Введение: массив как тип Рассмотрим два следующих определения: int a[5], b[6]; Каков тип a и b? Мы ожидаем, что типом будет 'массив int-ов', т.е.

Подробнее

Например, следующий оператор объявляет массив из 100 целочисленных элементов с именем data:

Например, следующий оператор объявляет массив из 100 целочисленных элементов с именем data: Массивы Массив (или массив данных) это набор однородных элементов. Массив это пронумерованная ( или проиндексированная) последовательность величин одинакового типа, обозначаемая одним именем. Элементы

Подробнее

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

Одномерные и двумерные массивы Одномерные и двумерные массивы Вариант 1 1. Дан массив целых чисел (n = 15), заполненный случайным образом числами из [-20, 50]. Удалить из него все элементы, в которых есть цифра 5. Вставить число k после

Подробнее

Занятие 6 Статические массивы

Занятие 6 Статические массивы Занятие 6 Статические массивы Программирование, численные методы и информатика А. В. Позднеев Кафедра автоматизации научных исследований Факультет вычислительной математики и кибернетики Московский государственный

Подробнее

Массивы данных ПРОГРАММИРОВАНИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ. Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич

Массивы данных ПРОГРАММИРОВАНИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ. Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем ПРОГРАММИРОВАНИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Массивы данных Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич Кафедра вычислительных систем ФГОБУ

Подробнее

ЛАБОРАТОРНАЯ РАБОТА 1

ЛАБОРАТОРНАЯ РАБОТА 1 Задания к лабораторным работам по ОАиП. Зимняя сессия. ФТК. ЛАБОРАТОРНАЯ РАБОТА Написать программу вычисления значения выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным

Подробнее

int vektor[10]; // вектор из 10 элементов double vektor[10]; // вектор из 10 элементов

int vektor[10]; // вектор из 10 элементов double vektor[10]; // вектор из 10 элементов Тема : знакомство с С (Си) МАССИВЫ, упражнения Содержание: массивы упражнение 1 упражнение 2 Массивы Массивы делятся на одномерные (вектора), двумерные (матрицы), трехмерные и многомерные. Обычно используют

Подробнее

Лабораторная работа 6

Лабораторная работа 6 24. В одномерном массиве A=(a 1, а 2,..., а n ) группу, содержащую наибольшее число подряд идущих положительных элементов, переписать в «хвост» массива. 25. В одномерном массиве A=(a 1, а 2,..., а n )

Подробнее

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЕ

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЕ Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Владимирский государственный университет имени

Подробнее

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

Методические указания к лабораторным работам Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Владимирский государственный университет имени

Подробнее

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

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

Подробнее

ЗАДАЧНИК по программированию

ЗАДАЧНИК по программированию Воронежский государственный педагогический университет Кафедра информатики и методики преподавания математик В.А. ЧУЛЮКОВ ЗАДАЧНИК по программированию Воронеж - 000 Содержание ОПЕРАТОР ПРИСВАИВАНИЯ...5

Подробнее

Обработка двумерных массивов данных (практическое занятие)

Обработка двумерных массивов данных (практическое занятие) ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем ПРОГРАММИРОВАНИЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Обработка двумерных массивов данных (практическое занятие) Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем

Подробнее

Лабораторная работа 5. Обработка матриц с выполнением нескольких задач за один проход.

Лабораторная работа 5. Обработка матриц с выполнением нескольких задач за один проход. Лабораторная работа 5. Обработка матриц с выполнением нескольких задач за один проход. Дана матрица А, состоящая из строк и столбцов (А j это элемент, стоящий на пересечении -й строки и j-го столбца) или

Подробнее

Алтайский государственный университет Математический факультет Кафедра информатики. Массивы ... Лабораторная работа 9.

Алтайский государственный университет Математический факультет Кафедра информатики. Массивы ... Лабораторная работа 9. Алтайский государственный университет Математический факультет Кафедра информатики Массивы Лабораторная работа Барнаул Массивы Лабораторная работа Цель работы Освоить использование одномерных и многомерных

Подробнее

Лабораторная работа 7. Строки в С/С++

Лабораторная работа 7. Строки в С/С++ Лабораторная работа 7 Строки в С/С++ 1. Цель работы: 1) Получение практических навыков при работе со строками 2) Получение практических навыков при передаче строк в функции. 2. Краткие теоретические сведения

Подробнее

Занятие 12 Статические и динамические массивы. Рекурсивные функции. Строки. Дополнительные материалы

Занятие 12 Статические и динамические массивы. Рекурсивные функции. Строки. Дополнительные материалы Занятие 12 Статические и динамические массивы. Рекурсивные функции. Строки. Дополнительные материалы Программирование, численные методы и информатика Александр Валерьевич Позднеев Кафедра автоматизации

Подробнее

Двумерные массивы (матрицы) Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом

Двумерные массивы (матрицы) Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом Двумерные массивы (матрицы) Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом Одним из основных направлений использования компьютеров является

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2017/2018. Лекция 9

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2017/2018. Лекция 9 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2017/2018 Лекция 9 1 Указатели и аргументы функций Используя аргументы-указатели, функция может обращаться к объектам вызвавшей ее функции. Использование

Подробнее

О.В. Игнатьева ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ. Учебно-методическое пособие для лабораторных работ. Часть 2

О.В. Игнатьева ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ. Учебно-методическое пособие для лабораторных работ. Часть 2 РОСЖЕЛДОР Федеральное государственное бюджетное образовательное учреждение высшего образования «Ростовский государственный университет путей сообщения» (ФГБОУ ВО РГУПС) О.В. Игнатьева ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ

Подробнее

МАССИВЫ В ЯЗЫКЕ C# тип [] имя; new тип [размер];

МАССИВЫ В ЯЗЫКЕ C# тип [] имя; new тип [размер]; МАССИВЫ В ЯЗЫКЕ C# Массив - это составной объект, состоящий из элементов одного типа. Простейшей разновидностью массива является одномерный массив, который можно рассматривать как информационную модель

Подробнее

ЗАДАНИЯ ДЛЯ КОНТРОЛЬНОЙ РАБОТЫ ПО ДИСЦИПЛИНЕ «ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ» ZПМИ4 7 семестр

ЗАДАНИЯ ДЛЯ КОНТРОЛЬНОЙ РАБОТЫ ПО ДИСЦИПЛИНЕ «ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ» ZПМИ4 7 семестр ЗАДАНИЯ ДЛЯ КОНТРОЛЬНОЙ РАБОТЫ ПО ДИСЦИПЛИНЕ «ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ» ZПМИ4 7 семестр Каждое задание контрольной работы должно быть выполнено и оформлено в виде текстового документа doc-формата

Подробнее

В.Л. Тарасов Лекции по программированию на C++

В.Л. Тарасов Лекции по программированию на C++ 60 В.Л. Тарасов Лекции по программированию на C++ Лекция 4 Массивы и вектора Массив представляет собой набор последовательно пронумерованных элементов одного типа. Все элементы массива имеют одно имя,

Подробнее

МГТУ МИРЭА. КУРСОВОЙ ПРОЕКТ по дисциплине «Процедурное программирование»

МГТУ МИРЭА. КУРСОВОЙ ПРОЕКТ по дисциплине «Процедурное программирование» МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Московский государственный технический университет радиотехники, электроники и

Подробнее

Двумерный массив удобно представлять как таблицу, состоящую из строк и столбцов. Пример двумерного массива размерностью 3*3 с именем А:

Двумерный массив удобно представлять как таблицу, состоящую из строк и столбцов. Пример двумерного массива размерностью 3*3 с именем А: Лабораторная работа Организация работы с двумерными массивами (матрицами) Цель работы - Изучение основных алгоритмов обработки двумерных массивов и средств реализации этих алгоритмов на языке Бейсик. Двумерный

Подробнее

Язык программирования Си. Семинар 8. Пользовательские типы данных (enum, struct, union). Побитовые операторы.

Язык программирования Си. Семинар 8. Пользовательские типы данных (enum, struct, union). Побитовые операторы. Язык программирования Си Бикулов Д.А., Иваницкая Н.В., Иванов А.П. Семинар 8. Пользовательские типы данных (enum, struct, union). Побитовые операторы. 1 Структуры Структура это объединение нескольких переменных

Подробнее

Какие типы вы бы использовали?

Какие типы вы бы использовали? C++ - занятие 2 1 Какие типы вы бы использовали? age // возраст salary // зарплата за месяц (в рублях) grade // средний балл char short long int unsigned long long float double Я бы написал так: int age;

Подробнее

Вариант II-A-5 1. Нарисовать на плоскости область, в которой и только в которой истинно указанное выражение:

Вариант II-A-5 1. Нарисовать на плоскости область, в которой и только в которой истинно указанное выражение: Вариант II-A-1 1. Вывести на экран фразу "у меня n книг"с согласованием падежей (n 20). 2. Вычислить произведение элементов массива, попадающих в интервал [a, b]. 3. По заданному двумерному массиву составить

Подробнее

Язык программирования Си. Семинар 9. Зачет: методика его проведения, теоретический минимум и типовые задания.

Язык программирования Си. Семинар 9. Зачет: методика его проведения, теоретический минимум и типовые задания. Язык программирования Си Бикулов Д.А., Иваницкая Н.В., Иванов А.П. Семинар 9. Зачет: методика его проведения, теоретический минимум и типовые задания. Зачет проводится в практикуме и состоит из двух частей:

Подробнее

Занятие 12 Статические и динамические массивы. Рекурсивные функции. Строки. Дополнительные материалы

Занятие 12 Статические и динамические массивы. Рекурсивные функции. Строки. Дополнительные материалы Занятие 12 Статические и динамические массивы. Рекурсивные функции. Строки. Дополнительные материалы Программирование, численные методы и информатика Александр Валерьевич Позднеев Кафедра автоматизации

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 19

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 19 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019 Лекция 19 1 Топологическая сортировка узлов ациклического ориентированного графа Структуры данных для представления узлов: Каждый узел исходного

Подробнее

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 12

Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019. Лекция 12 Курс «Алгоритмы и алгоритмические языки» 1 семестр 2018/2019 Лекция 12 1 Ключевое слово inline: встраиваемые функции (C99) #include inline static int max (int a, int b) return a > b? a : b; int

Подробнее

Лекция 2. Основные типы данных

Лекция 2. Основные типы данных Лекция 2 Рыбалка С.А., Шкатова Г.И. Лекции по C++ Основные типы данных Основным средством хранения данных, обрабатываемых программой, являются ячейки памяти. Вся память компьютера является однородной и

Подробнее

Основы программирования

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

Подробнее

Практическая работа 5 Работа с двумерными массивами Цель работы: Содержание работы. Основные понятия. Задание Исходные данные: Решение:

Практическая работа 5 Работа с двумерными массивами Цель работы: Содержание работы. Основные понятия. Задание Исходные данные: Решение: Практическая работа 5 Работа с двумерными массивами Цель работы: Изучить структуру двумерного массива, научится работать с двумерными массивами, создать программы, выполняющие алгебраические операции с

Подробнее

Лабораторная работа 2 Функции и массивы в С/С++

Лабораторная работа 2 Функции и массивы в С/С++ 1143ст, 1153 ст (3 уровень) 1 Лабораторная работа 2 Функции и массивы в С/С++ 1. Цель работы: 1) Получение практических навыков при работа со строками, одномерными и двумерными массивами. 2) Получение

Подробнее

Задание 1. Ваша программа должна выполнять следующие действия:

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

Подробнее

Тема: Файлы. Общие задания Текстовые файлы Бинарные файлы Индивидуальные задания Вариант -1. Вариант -2. Вариант -3.

Тема: Файлы. Общие задания Текстовые файлы Бинарные файлы Индивидуальные задания Вариант -1. Вариант -2. Вариант -3. Тема: Файлы. Общие задания Текстовые файлы 1. Дан текстовый файл. В этом файле записана последовательность целых чисел, разделенная пробелами. Найти количество ненулевых элементов в заданном файле. 2.

Подробнее

Фонд оценочных средств для проведения промежуточной аттестации обучающихся по дисциплине

Фонд оценочных средств для проведения промежуточной аттестации обучающихся по дисциплине Общие сведения 1. Кафедра Фонд оценочных средств для проведения промежуточной аттестации обучающихся по дисциплине 2. Направление подготовки 3. Дисциплина 4. Тип заданий 5. Количество этапов формирования

Подробнее

enum traffic_light { green, yellow, red }; enum traffic_light light = red; enum a { c1, c2 }; enum b { c3 }; enum a a; int f() { enum a b = c1;

enum traffic_light { green, yellow, red }; enum traffic_light light = red; enum a { c1, c2 }; enum b { c3 }; enum a a; int f() { enum a b = c1; 1 Занятие 5 1.1 Перечислимые типы Язык Си имеет средства для определения перечислимых типов. В общем виде объявление перечислимых типов выглядит следующим образом: например, enum {

Подробнее

Ввести двумерный массив 3 4. Определить среднее геометрическое положительных чётных элементов, считая, что они в нём есть.

Ввести двумерный массив 3 4. Определить среднее геометрическое положительных чётных элементов, считая, что они в нём есть. Л. Р. «Двумерные массивы» Студент Иванов И. И. Группа ХХ-999 Дата дд.мм.гг Допуск Выполнение Отчет Условие задачи 1 A Ввести двумерный массив 3 4. Определить среднее геометрическое положительных чётных

Подробнее

ЛАБОРАТОРНАЯ РАБОТА N6

ЛАБОРАТОРНАЯ РАБОТА N6 ЛАБОРАТОРНАЯ РАБОТА N6 Программирование матриц ВАРИАНТЫ Вариант 1 одномерный массив B, каждый элемент которого равен количеству нулевых элементов, расположенных в каждом столбце матрицы. строк, начиная

Подробнее