Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Листинг 5 (продолжение)



void DrawLine(int);

int main(void)

{

ShowMsg(msg1);

DrawLine(45);

ShowMsg(msg2);

DrawLine(45);

ShowMsg(msg3);

getchar();

getchar();

return 0;

}

void ShowMsg(char* msg)

{

puts(msg);

}

void DrawLine(int len)

{

int i;

for(i=0; i<len; i++)

putchar('*');

}

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

1. Напишите программу, запрашивающую у пользователя фамилию, имя и отчества(например: "What is your name?", или "Здравствуй, как тебя зовут?") и выводящую полученные данные в приветствии (например: " Hello, Ivanov Andrei Petrovich ", или "Здравствуй, Иванов Иван Иванович.").

2. Напишите программу, печатающую целые числа в различных форматах (десятичном, восьмеричном, шестнадцатеричном), с различными флагами, с различной шириной поля.

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

4. Напишите программу, вычисляющую площадь прямоугольника.

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

6. Напишите программу, вычисляющую сумму вкладу (исходные данные: сумма вклада, процентная ставка и время размещения вклада). Вычисление значения конечной суммы вклада осуществляется по формуле суммы членов геометрической прогрессии.

7. Напишите программу, вычисляющую площадь круга.

8. Напишите программу, вычисляющую площадь кольца.

9. Напишите программу, определяющую принадлежность точки с указанными координатами кругу, для которого заданы координаты центра и радиус.

10. Индивидуальное задание, выполняемое по вариантам, указанным в табл.1. Необходимо составить блок-схему алгоритма и написать программу на языке Си для вычисления значений переменных Y и Z по заданным формулам.

Требования, предъявляемые к разрабатываемым программам:

1) массовость, программа должна быть работоспособной без изменения текста программы, для любых значений параметров задачи, удовлетворяющих заданным ограничениям;

2) дискретностью, программа должна состоять из блоков, в каждом из которых решается самостоятельная "подзадача". Для обеспечения читаемости программы рекомендуется использовать имена переменных, отражающие их функциональную нагрузку;

3) программа должна быть защищена от неправильного ввода данных, то есть, в логику работы программы должен быть заложен механизм анализа допустимости вводимых данных;

4) в начале работы программа должна выводить служебное сообщение, описывающее ее назначение (логотип программы), например:

"Нижегородский государственный технический университет"

"Лабораторная работа №1. Задание 1."

"Выполнил студент группы _____.____________. "

или

" Nizhniy Novgorod Technical University "

" Study work number 1. Task number 1."

" Performed student __________ ________________"

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

Программу реализовать с использованием команд форматного ввода-вывода IO (Input/Output) printf (), scanf (). Программа должна выполнять следующие действия: 1) вывести приглашение для ввода значений переменных; 2) произвести проверку корректности вводимых значений; 3) вывести результаты вычислений.

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

sin (x), cos (x), tan (x) – тригонометрические функции вычисления значений синуса, косинуса и тангенса от заданного значения угла, соответственно (значение x задается в радианах);

asin (x), acos (x), atan (x) – обратные тригонометрические функции arcsin x, acrcos x, arctan x соответственно;

exp (x), sinh (x), cosh (x) – экспонента и гиперболические функции;

log (x) – логарифм натуральный от x, log10 (x) – логарифм десятичный от x;

sqrt (x) –корень квадратный из x, причем x ≥0, fabs (x) – абсолютное значение x;

ceil (x) – наименьшее целое, большее чем x;

floor (x) – наибольшее целое, меньшее чем x;

pow (x, y) – возведение x в степень y.

Аргументы и значения, возвращаемые всеми математическими функциями, имеют тип double.

Замечание 1. Компилятор GCC «не корректно» работает с некоторыми математическими функциями, поэтому для компиляции программы, составленной по заданию №10 необходимо использовать компилятор С ++:

$ C ++ - o task 10 task 10. c < Enter >

Замечание 2. Общая структура программы, реализующей линейный алгоритм вычисления значений переменных Y и Z, может быть представлен следующим псевдокодом

Программа:

Ввести a, x.

Y:= <Формула вычисления значения переменной Y >

Z:= < Формула вычисления значения переменной Z >

Вывести Y, Z.

Конец.

Таблица1. Варианты индивидуальных заданий

1. при a =0.01 x =0.12 9. при a =2.53 x =0.7
2. при a = -5.1 x =4.78 10. при a =0.75 x =0.14
3. при a =2.8 x =1.29 11. при a =1.5 x =3.3

Таблица1. Варианты индивидуальных заданий (продолжение)

4. при a = -3.4 x =2.75 12. при a =0.6 x =0.3
5. при a = 0.34 x =0.02 13. при a =-3 x =0.6
6. при a =2.50 x =3.11 14. при a =0.35 x =-0.78
7. при a =2.48 x =0.21 15. Y = при x =1 a =2.3
8. при a =0.35 x =0.21 16. Y =2a x+ ln|x+a3| Z = При x =2.1 a = 0.2

Контрольные вопросы для собеседования:

1. Структура простой консольной программы на языке С (рекомендуемая и для С ++).

2. Этапы создания задач на ЭВМ. Процесс создание исполняемой программы на языке С.

3. Структура и состав языка С.

4. Базовые типы данных, машинное представление данных. Модификаторы типов данных.

5. Идентификаторы. Объявление и инициализация переменных. Венгерская нотация, POSIX- нотация именования программных объектов.

6. Область видимости переменных: глобальные, локальные, автоматические, регистровые.

7. Стандартный поток ввода/вывода. Использование функций printf (), scanf ().

8. Спецификации форматов ввода-вывода функций printf (), scanf ().

Пример использования различных форматов вывода для функции printf()

prefix 6d 6o 8x 10.2e 10.2f

%-+#0 |+555 |01053 |0x22b |+5.50e+00 |+5.50 |

%-+# |+555 |01053 |0x22b |+5.50e+00 |+5.50 |

%-+0 |+555 |1053 |22b |+5.50e+00 |+5.50 |

%-+ |+555 |1053 |22b |+5.50e+00 |+5.50 |

%-#0 |555 |01053 |0x22b |5.50e+00 |5.50 |

%-# |555 |01053 |0x22b |5.50e+00 |5.50 |

%-0 |555 |1053 |22b |5.50e+00 |5.50 |

%- |555 |1053 |22b |5.50e+00 |5.50 |

%+#0 |+00555 |001053 |0x00022b |+005.50e+00 |+0000005.50|

%+# | +555 | 01053 | 0x22b | +5.50e+00 | +5.50 |

%+0 |+00555 |001053 |0000022b |+005.50e+00 |+0000005.50|

%+ | +555 | 1053 | 22b | +5.50e+00 | +5.50 |

%#0 |000555 |001053 |0x00022b |005.50e+00 |0000005.50 |

%# | 555 | 01053 | 0x22b | 5.50e+00 | 5.50 |

%0 |000555 |001053 |0000022b |005.50e+00 |0000005.50 |

% | 555 | 1053 | 22b | 5.50e+00 | 5.50 |






Дата публикования: 2014-11-18; Прочитано: 632 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (2.809 с)...