Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

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




Методические указания

 

По выполнению контрольной работы по курсу

«Основы алгоритмизации и программирования» (ОАиП)

 

для студентов заочного отделения ИИТ

 

 

Минск 2007


Рукопись

 

 

Авторы:

А. Г. Корбит, Т. М. Кривоносова

 

Методические указания по выполнению контрольной работыпо курсу «Основы алгоритмизации и программирования» для студентов заочного отделения ИИТ. / Корбит А.Г., Кривоносова Т.М. – Минск: БГУИР, 2007.

 

                  

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

 

         

                                                                                               

      

 

 

  © УО «Белорусский государственный университет информатики и радиоэлектроники», 2007



СОДЕРЖАНИЕ

Общие требования к оформлению контрольной работы 4

Задание №1. Линейный вычислительный процесс.. 4

1.1. Теоретические сведения. 4

1.2. Пример выполнения задания. 9

1.3. Индивидуальные задания. 10

Задание №2. Реализация разветвляющихся алгоритмов 11

2.1. Теоретические сведения. 12

2.2. Пример выполнения задания. 13

2.3. Индивидуальные задания. 14

Задание №3. Реализация циклических алгоритмов.. 17

3.1. Теоретические сведения. 17

3.2. Пример выполнения задания. 17

3.3. Индивидуальные задания. 19

Задание №4. Обработка одномерных массивов.. 20

4.1. Теоретические сведения. 20

4.2. Пример выполнения задания. 21

4.3. Индивидуальные задания. 22

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

5.1. Теоретические сведения. 23

5.2. Пример выполнения задания. 27

5.3. Индивидуальные задания. 29

Дополнительное задание №6. Обработка структур с использованием файлов.. 30

6.1. Теоретические сведения. 30

6.2. Пример выполнения задания. 32

6.3. Индивидуальные задания. 35

Приложение. Операции языка С/С++. 37

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

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


 


Общие требования к оформлению контрольной работы

 

1. Стандартный титульный лист, с указанным номером варианта задания, должен быть подписан исполнителем.

2. Отчет о решенных задачах должен содержать:

– постановку задачи;

– структурную (обобщенную) схему алгоритма;

– листинг (текст кода) программы с пояснением его отдельных участков;

– результаты (экранные формы), иллюстрирующие работоспособность программы;

– список используемой литературы.

В зачетной сессии контрольная должна быть защищена (демонстрация на ПК решения задач своего варианта, указанного в списке группы).

 

Задание №1. Линейный вычислительный процесс

 

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

Теоретические сведения

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

В языке C применяются данные двух категорий: простые (скалярные) и сложные (составные).

К основным (базовым) типам данных относятся целый (int), вещественный (float, double) и символьный (char) типы. В свою очередь, данные целого типа могут быть короткими (short) и длинными (long), со знаком (signed) и беззнаковыми (unsigned). Атрибут long может использоваться и с типом double – длинное вещественное.

К сложным типам данных относятся массивы, структуры (struct), объединения (union) и перечисления (enum).



Запись самоопределенных констант

Тип данных Общий формат записи Примеры
Десятичные целые ±n 22    –15     176    –1925
Вещественные с фиксированной десятичной точкой ±n.m 1.0                  –3.125   –0.001
Вещественные с плавающей точкой ±n.mE±p смысл записи ±n,m×10±p 1.01E–10 0.12537е+4  
Символьные ' * ' 'A'      'х'     '0'     '<'
Строковые “ ****** ” Minsk” “Press any key

В таблице * – любой символ, набранный на клавиатуре.

Декларация объектов

Все объекты (переменные, массивы и т.д.), с которыми работает программа, необходимо декларировать. В декларации объектам присваиваются идентификаторы (ID), которые могут включать латинские буквы, символ нижнего подчеркивания «_» и цифры, причем первым символом ID не может быть цифра.

Внимание! В языке С/С++ строчные и прописные буквы имеют различные коды, т.е. PI, Pi и pi – различные идентификаторы (прил. 1).

При декларации объектам можно задавать начальные значения (инициализировать), например:          

                        int  k = 10, m = 3, n;

                   double c = –1.3, w = –10.23, s;

Принято использовать в ID переменных строчные буквы, а в именованных константах – прописные, например:         

                        const double PI = 3.1415926;

                        double pi = 3.1415926;

Разделителями ID являются пробелы, символы табуляции, перевода строки и страницы, а также комментарии.

Комментарий – любая последовательность символов, начинающаяся парой символов /* и заканчивающаяся парой символов */ или начинающаяся // и до конца текущей строки.

Директивы препроцессора

Перед компиляцией программы с помощью директив препро­цес­сора выполняется предва­ри­те­ль­ная обработка текста программы.

Директивы начинаются с символа # (шарп), за которым следует наименование операции препроцессора. Чаще всего используются директивы include и define.

Директива #include используется для подключения к программе заголовочных файлов с декларацией стандартных библиотечных функций, например:  

#include <stdio.h>    – стандартные функции ввода-вывода;

#include <conio.h> – функции работы с консолью;

#include <math.h> – математические функции.

Директива #define(определить) создает макроконстанту и ее действие распро­страняется на весь файл, например:              

                        #define PI  3.1415927

– в ходе препроцессорной обработки идентификатор PI везде заменяется указанным значе­нием 3,1415927.

Операции языка С/С++(арифметические: +,–,*,/,%) и наиболее часто использующиеся стандартные математические функцииописаны в прил.1.

Операция присваивания имеет полную и сокращенную формы записи.

Полная форма:       ID = выражение;

– выполняется справа налево, т.е. сначала вычисляется выражение, а затем его результат присваивается указанному ID, например: y=(x+2)/(3*x)–5;

В одном операторе можно присвоить значение несколь­ким перемен­ным, например:               x = y = z = 0;                

или z = (x = y) * 5; – сначала переменной x присваивается значение переменной y, далее вычисляется выражение x*5 , и результат присваивается переменной z.

Сокращенная форма:      ID операция=  выражениe;

где операция – одна из арифметических операций + , , *, /, %;например:

              s += 7; (s = s+7;)               или        y *= x+3; (y = y*(x+3)); 

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

В языке С/С++ существуют операции инкремента (--) и декремента (++), т.е. уменьшения или увеличения значения переменной на 1. Операции могут быть префиксные (++i и --i) и постфиксные (i++ и i--). При использовании данной операции в выражении в префиксной форме, сначала выполняется сама операция (изменяется значение i), и только потом вычисляется выражение. В постфиксной форме – операция применяется после вычисления выражения, например, для значений    b = 7 и n = 1 будут получены следующие результаты:

1) c = b*++n; – порядок выполнения: n = n+1, c = b*n, т.е. c = 14;

2) c = b*n++; – в этом случае: c = b*n, n = n+1, т.е. c = 7 .

 

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

Для вывода информации в консольном приложении чаще всего используются следующие функции:

puts(S) – вывод строки символов S с переходом на начало новой строки и вывод данных с форматированием;

     рrintf(управляющая строка, список объектов вывода);

управляющая строка – заключенная в кавычки строка, содержащая спецификации преобразования объектов вывода, управляющие символы (признак «\») и любой набор символов, использующийся в качестве поясняющего текста – указывает компилятору вид выводимой информации;

список объектов вывода – печатаемые объекты (константы, переменные или выражения, вычисляемые перед выводом). Данные, указанные в списке выводятся в соответствии со спецификациями управляющей строки.

Спецификации преобразования имеют вид

% <флаг> <размер поля . точность> спецификация

флаг: (минус) выравнивание влево (по умолчанию выполняется выравнивание вправо); + (плюс) выводится знак положительного числа;

размер поля – задает ширину поля вывода (количество символов), при недостаточном значении выполняется автоматическое расширение;

точность – задает количество цифр в дробной части числа;

спецификация – формат преобразования выводимого объекта.

Приведем основные форматы печати:

%d – десятичные целые (int);            %c – один символ (char);

%s – строка символов (string);         %f – данные типа float;

%ℓd – длинное целое;                                  %ℓf – данные типа double;

%x – шестнадцатеричные данные; %o – восьмеричные данные.

При необходимости вывода управляющих символов ( % \ и т.п.) их нужно указать 2 раза, например:  

              printf("Только %d%% предприятий не работало. \n",5);

получим:   

              Только 5% предприятий не работало.

Управляющие символы: \n – переход на новую строку; \t – горизонтальная; \v – вертикальная табуляция; \b – возврат назад на один символ; \r – возврат в начало строки; \a – звуковой сигнал; \f – прогон бумаги до начала новой страницы; \? – знак вопроса.










Последнее изменение этой страницы: 2018-04-12; просмотров: 414.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...