Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инорм и програм - Метод. указания-3-й семестр.doc
Скачиваний:
5
Добавлен:
21.11.2018
Размер:
1.58 Mб
Скачать

Передача строк в качестве параметров функций

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

Пример: Функция поиска заданного символа в строке

int find(char *s,char c)

{

int i;

for (i=0;i<strlen(s);i++)

if(s[I]==c) return i;

return –1;

}

С помощью этой функции подсчитаем количество гласных букв в строке.

void main()

{

char s[255];

char *gl="aouiey";

int i, k;

gets(s);

for(i=0,k=0;I<strlen(gl);i++)

if(find(s,gl[I])>0

k++;

printf("%d",k);

}

Рекомендации по выполнению лабораторной работы Комментарии к заданию 1

При определении количество дней между двумя датами следует учитывать следующее:

  1. Вне зависимости от того, какая дата больше – первая или вторая, разность между ними всегда положительна. Между 1 сентября 2007 года и 31 августа 2007 года разница – 1 день, как и между 31 августа 2008 года и 1 сентября 2008 года.

  2. Високосный год – это год, который делится нацело на 4, но не делится при этом нацело на 100 или год, который делится нацело на 400. Это определение приведено здесь потому, что многие студенты почему-то (???) считают, что високосный год – это только такой год, который делится нацело на 4 

Комментарии к заданию 2

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

  1. Перевод целой части вещественного числа в нужную систему (алгоритм описан в лабораторной работе №5).

  2. Перевод дробной части вещественного числа в нужную систему счисления. Алгоритм перевода следующий:

  1. Дробная часть числа умножается на основание новой системы счисления.

  2. Получившаяся при умножении целая часть считается очередной цифрой дробной части числа в новой систем счисления, начиная со старшей (старшая цифра – первая справа от запятой).

  3. Получившаяся после умножения дробная часть считается новым значение дробной части числа, подлежащей переводу.

  4. Пункты a-c выполняются до тех пор, пока дробная часть не станет равной 0 или пока не будет достигнута заданная точность (нужное количество цифр после запятой).

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

Отчет по лабораторной работе должен содержать:

  • задание лабораторной работы, соответствующее варианту

  • структурную схему алгоритма программы и подпрограммы (подпрограмм)

  • текст программы

  • результаты работы программы

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

Цель работы

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

Задание

Разработать программу и подпрограмму (подпрограммы), выполняющие действия согласно варианту задания

Вариант

1

для заданного натурального N получить символьное представление числа в виде последовательности троек цифр и пробела между ними.

2

для заданного целого числа N получить N чисел Фибоначчи u0 = 0; u1 = 1; ui = ui-1 + ui-2 и N членов последовательности f0 = 0; f1 = 1; fi = fi-1 + fi-2 + ui-2.

3

для заданного натурального числа m получить все трехзначные числа, сумма цифр которых равна m (m<27).

4

перевод десятичного числа в римскую систему счисления I=1, V=5, X=10, L=50,C=100,D=500,M=1000.

5

перевод десятичного числа в двоично-десятичную систему счисления.

6

вычисление суммы n членов последовательности a0+a1+a2+…+an, где ai = 1/(i2+0+1)+1/(i2+1+1)+...+1/(i2+j+1), j=0…i

Рекомендации по выполнению лабораторной работы

Комментарии к заданию 1

Требуется представить любое натуральное число в виде групп из 3-х цифр, разделенных пробелом. Например, число 123456 в результате работы программы должно принять вид 123<символ_пробела>456, а число 1234567890 – вид 1<символ_пробела>234<символ_пробела>567<символ_пробела>890.

Комментарии к заданию 4

В римской системе счисления рядом не может стоять более трех одинаковых римских цифр. Поскольку самое большое число, отображаемое римской цифрой, - это число 1000 (M), то максимально возможное число, которое можно записать в римской системе счисления, равно 3999 (MMMCMXCIX).

Комментарии к заданию 5

Двоично-десятичная система счисления (Binary Coded Decimal, BCD) – это такое представление десятичных чисел, в котором каждая десятичная цифра представлена своим двоичным эквивалентом. Поскольку максимальная десятичная цифра – 9 и для ее представления требуется четыре двоичных разряда (1001), то в двоично-десятичной системе счисления все десятичные цифры записываются четырьмя двоичными разрядами.

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

Отчет по лабораторной работе должен содержать:

  • задание лабораторной работы, соответствующее варианту

  • структурную схему алгоритма программы и подпрограммы (подпрограмм)

  • текст программы

  • результаты работы программы

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

Цель работы

Изучение принципов работы с текстовыми файлами.

Задание

Разработать программу подпрограмму (подпрограммы), работающую с текстовым файлом и выполняющую действия согласно варианту задания

Задание

1

Подсчитать количество слов и определить и вывести на экран максимальное и минимальное слова и их длину.

2

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

3

Подсчитать в файле количество слов разной длины.

4

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

5

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

6

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