- •«Программирование в интегрированных средах»
- •Лабораторная работа №1 Структура программы, текстовый ввод-вывод
- •Лабораторная работа №2 основные операторы языка с
- •Лабораторная работа №3 обработка массивов информации
- •Лабораторная работа №4 функции
- •Лабораторная работа №5 структуры
- •Лабораторная работа №6 файлы
- •Лабораторная работа №7 указатели и списки
- •Лабораторная работа №8 создание приложений, основанных на диалоговом окне
- •Приложение а требования к оформлению отчета
- •Приложение б - Оформление программного кода
- •Основные типы данных.
- •Основные операции. Арифметические операции.
- •Операции отношения.
- •Логические операции.
- •Побитовые операции.
- •Адресные операции.
- •Другие операции.
- •Основные операторы.
- •Приложение г – технология визуального проектирования
Лабораторная работа №4 функции
Цель работы: изучение основных концепций функционально-ориентированного подхода, знакомство с основными приемами реализации пользовательских функций на языке Си.
Задание к лабораторной работе
Ознакомиться с основными принципами и особенностями разработки пользовательских функций на языке Си, способами передачи параметров;
Выполнить последовательно все пункты, указанные в разделе «Ход работы»;
Написать программу в соответствии с выданным вариантом задания (см. раздел «Варианты заданий»);
Оформить отчет.
Ход работы
Написать функцию с параметрами, передаваемыми по ссылке, например:
void swap (int& a, int& b) {
int t;
t = a; a = b; b = t;
}
Исследовать программу нахождения максимума из двух чисел, приведенную ниже, понять, как она работает.
#include <stdio.h>
int max(int a,b) {
return (a>b)?a:b;
}
void main() {
int m,n;
scanf(“%d”, m);
scanf(“%d”, n);
printf(“%d”,max(m,n));
}
Переделать программу, полученную в п.3 лабораторной работы №3 таким образом, чтобы для ввода и вывода данных, а так же заполнения матрицы использовались функции, не возвращающие значения.
Переделать программу, полученную в п.4 таким образом, чтобы для ввода данных и вычислений использовались функции, возвращающие значения.
Написать функцию, возвращающую разные значения, в зависимости от условия. Написать программу, использующую эту функцию. Пример:
int f(int p) {
if (p==1) return 1;
if (p==2) return 4;
if (p>2) return p+5;
if (p==0) return 666;
return p-1000;
}
Переделать программу, полученную в лабораторной работе №2 п.3. таким образом, чтобы вместо вложенных ветвлений использовались функции. Пример:
int siro (int p) {
if (p== “Y”) { //тепло?
return 1; // весна
} else return 3; // осень
}
int syxo (int p) {
if (p== “Y”) { //тепло?
return 2; // лето
} else return 0; // зима
}
int check (char a, char b) {
if (b == “Y”) { //сыро? - весна или осень
return siro(a);
} else return suxo(a);
}
void main () {
char a,b;
int vg[4] = {“Зима”, “Весна”, “Лето”, “Осень”};
printf(“Тепло? (Y/N)”); scanf(“%c”,&a);
printf(“Сыро? (Y/N)”); scanf(“%c”,&b);
printf(“%s”,vg[check(a,b)]);
}
Варианты заданий
Для варианта задания, выполненного в ходе предыдущей лабораторной работы, разработать и реализовать программу с использованием функций.
Лабораторная работа №5 структуры
Цель работы: научиться работать со структурами данных, укрепить навыки работы с функциями.
Задание к лабораторной работе
Ознакомиться с особенностями такого типа данных как структура;
Выполнить последовательно все пункты, указанные в разделе «Ход работы»;
Оформить отчет.
Ход работы
Объявить структуру данных и две переменных такого типа. Записать значения в переменные, вывести их на экран.
Объявить объединение (union), разобраться, чем отличается структура от объединения.
Объявить объединение из двух структур и структуру из двух объединений. Заполнить значениями, вывести на экран.
Объявить массив из структур. Записать значения в массив с помощью цикла, вывести на экран.
Написать функцию вывода структуры на экран. Переделать программу, полученную в п.4, с использованием этой функции.
Написать функцию, выводящую весь массив структур, используя функцию из п.5 в цикле.
Написать функцию заполнения структуры случайными данными.
Написать функцию заполнения всего массива структур, использующую функцию из п.7 в цикле.
Написать функцию перестановки данных в двух структурах, передаваемых по ссылке. Проверить ее работоспособность.
Отсортировать массив из структур по одному из полей структуры любым способом.