Мегаобучалка Главная | О нас | Обратная связь


Лабораторная работа №4. Цель работы: изучение основных концепций функционально-ориентированного подхода



2015-12-07 417 Обсуждений (0)
Лабораторная работа №4. Цель работы: изучение основных концепций функционально-ориентированного подхода 0.00 из 5.00 0 оценок




ФУНКЦИИ

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

 

Задание к лабораторной работе

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

2 Выполнить последовательно все пункты, указанные в разделе «Ход работы»;

3 Написать программу в соответствии с выданным вариантом задания (см. раздел «Варианты заданий»);

4 Оформить отчет.

 

Ход работы

1. Написать функцию с параметрами, передаваемыми по ссылке, например:

void swap (int& a, int& b) {

int t;

t = a; a = b; b = t;

}

2. Исследовать программу нахождения максимума из двух чисел, приведенную ниже, понять, как она работает.

#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 лабораторной работы №3 таким образом, чтобы для ввода и вывода данных, а так же заполнения матрицы использовались функции, не возвращающие значения.

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

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

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;

}

6. Переделать программу, полученную в лабораторной работе №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

СТРУКТУРЫ

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

 

Задание к лабораторной работе

1 Ознакомиться с особенностями такого типа данных как структура;

2 Выполнить последовательно все пункты, указанные в разделе «Ход работы»;

3 Оформить отчет.

 

Ход работы

 

1. Объявить структуру данных и две переменных такого типа. Записать значения в переменные, вывести их на экран.

2. Объявить объединение (union), разобраться, чем отличается структура от объединения.

3. Объявить объединение из двух структур и структуру из двух объединений. Заполнить значениями, вывести на экран.

4. Объявить массив из структур. Записать значения в массив с помощью цикла, вывести на экран.

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

6. Написать функцию, выводящую весь массив структур, используя функцию из п.5 в цикле.

7. Написать функцию заполнения структуры случайными данными.

8. Написать функцию заполнения всего массива структур, использующую функцию из п.7 в цикле.

9. Написать функцию перестановки данных в двух структурах, передаваемых по ссылке. Проверить ее работоспособность.

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

 


 

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

ФАЙЛЫ

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

 

Задание к лабораторной работе

1 Изучить основные принципы и особенности организации обмена с внешней памятью на языке Си;

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

3 Выполнить последовательно все пункты, указанные в разделе «Ход работы»;

4 Написать программу в соответствии с выданным вариантом задания (см. раздел «Варианты заданий»), при выполнении любого из заданий массивы, используемые для промежуточного хранения данных, должны размещаться в памяти динамически;

5 Оформить отчет.

 

Ход работы

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

 

#include <stdio.h>

#include <stdlib.h>

 

void main()

{

FILE *f;

int i,size,*array;

 

f=fopen("lab1.dat","rb"); /* открыть файл */

if (f) { /* если операция открытия успешна */

/* определить размер файла */

fseek(f,0L,SEEK_END);

size=ftell(f)/sizeof(int);

fseek(f,0L,SEEK_SET);

 

array=(int *)malloc(size); /* выделить память под размещение */

/* массива */

for (i=0; i<size; i++) {

fread(&array[i],sizeof(int),1,f); /* читать из файла целое число */

printf("%d\n",array[i]); /* вывести число на экран */

} } }

2. Используя программу, полученную в ходе выполнения лабораторной работы №5, осуществить сохранение массива структур в бинарный файл.

3. Написать отдельную программу чтения массива из структур из файла и вывода на экран, используя функции, написанные в лабораторной работе №5.

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

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


 



2015-12-07 417 Обсуждений (0)
Лабораторная работа №4. Цель работы: изучение основных концепций функционально-ориентированного подхода 0.00 из 5.00 0 оценок









Обсуждение в статье: Лабораторная работа №4. Цель работы: изучение основных концепций функционально-ориентированного подхода

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (417)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.009 сек.)