Учебно-методическое пособие Тольятти тгу 2011 удк 004. 3(075) ббк 32. 97
Вид материала | Учебно-методическое пособие |
- Учебно-методическое пособие Казань 2006 удк. 316. 4 (075); 11. 07. 13 Ббк 72; 65я73, 2129.18kb.
- Учебно-методическое пособие Новочеркасск юргту (нпи) 2011 г. Удк 004 : 012 (076) ббк, 1329.07kb.
- Учебно-методическое пособие Новочеркасск юргту (нпи) 2011 г. Удк 004 : 012 (076) ббк, 994.64kb.
- Пособие адресовано студентам, изучающим основы самоорганизации, а также всем тем, кто, 2706.76kb.
- Учебно-методическое пособие Нижний Новгород 2010 удк 338. 24(075. 8) Ббк 65. 290-2я73, 2121.39kb.
- Учебно-методическое пособие по изучению дисциплины, 1772.48kb.
- Учебно-методическое пособие Минск 2009 удк 618. 19-006. 03 (075. 9) Ббк 57. 15я73, 956.31kb.
- Учебное пособие Санкт-Петербург 2008 удк 005. 91: 004. 9(075. 8) Ббк 65. 291. 212., 97.7kb.
- Учебно-методическое пособие Майкоп 2009 удк 811. 133. 1(075. 8) Ббк 81. 471. 1-923, 489.6kb.
- Учебное пособие Ульяновск 2010 удк 004. 8(075. 8) Ббк 32. 813я73, 1559.86kb.
3.2Программирование циклов
Цель работы: ознакомиться с циклическими алгоритмами и операторами, реализующими эти алгоритмы. Освоить особенности применения каждого оператора. Составить программы с использованием всех операторов цикла.
Задание:
Выполните упражнения 1, 2. Перед выполнением упражнения изучите материал по темам из разделов 2.3.1 – 2.3.7 курса лекций.
Упражнение 1
Формулировка задания
Составить программу вычисления факториала целого положительного числа N! с использованием циклов с предусловием и постусловием.
Решение
1. Составим аналогичную программу на Паскале, используя цикл с предусловием:
Program Faktorial;
Var F:Longint; I,N:Integer;
Begin write(‘N=’);
ReadLn(N);
F:=1; i:=1;
While i<=N Do
Begin
F:=F*I;
I:=i+1
End;
Writeln(N,’!=’,F)
End.
2. В Си-программе в теле цикла также можно написать два оператора присваивания, объединив их фигурными скобками. Но используем более лаконичный способ записи, который более характерен для Си:
F=F*i++;
Этот же самый оператор можно было записать еще короче: F*=i++.
3. Программа с использованием цикла с предусловием на Си будет иметь вид:
// Программа вычисления факториала
#include
void main ()
{ long int F;
int i,N;
cout<<"N="; cin>>N;
F=i=1;
while(i<=N) F=F*i++;
cout<<"\n"<
}
4. При использовании цикла с постусловием программа на Паскале примет вид:
Program Faktorial;
Var F:Longint; I,N:Integer;
Begin write(‘N=’);
ReadLn(N);
F:=1; i:=1;
Repeat
F:=F*I;
I:=i+1
Until i>N;
Writeln(N,’!=’,F)
End.
4. При использовании цикла с постусловием программа на Си будет иметь вид:
// Программа вычисления факториала
#include
void main ()
{ long int F;
int i,N;
cout<<"N="; cin>>N;
F=i=1;
do F=F*i++;
while(i<=N);
cout<<"\n"<
}
Упражнение 2
Формулировка задания
Составить программу, которая вычисляет сумму гармонического ряда 1+1/2+1/3+… с заданной точностью ε.
Решение
1. Суммирование прекращается, когда очередное слагаемое становится меньше ε или целая переменная i достигает значения MaxInt. На Паскале фрагмент программы с использованием оператора цикла с предусловием будет выглядеть следующим образом.
S:=0;
I:=l;
While (l/I>=Eps) And (I
Begin
S:=S+1/I;
I:=1+1
End;
2. Эта же задача с использованием цикла с постусловием решается так:
S:=0;
I:=1;
Repeat
S:=S+1/I; I:=I+1
Until (1/I
Исполнение цикла повторяется до того момента, когда логическое выражение станет равным true.
3. Для составления аналогичной программы в Си++ необходимо с помощью препроцессора подключить файл limits.h, содержащий определения предельных констант для целых типов данных. В частности, константа с именем INT_MAX равна максимальному значению типа int в данной реализации компилятора. Если для типа int используется двухбайтовое представление, то INT_MAX=32767. В этом же заголовочном файле определены и другие константы: INT_MIN=-32768; LONG_MAX=2147483647 и т.д.
4. Программа на Паскале будет иметь вид:
Var n: Integer; S,eps: Real;
Begin
Write(‘Точность:’);
ReadLn(eps);
n:=1; S:=0;
While(1/n>eps) And (n>MAXINT) Do
Begin S:=S+1/n;
n:=n+1
End;
WriteLn(‘Сумма=’,S)
End.
5. Программа на Си будет иметь вид:
// Сумма гармонического ряда
#include
#include
void main ()
{int n=1;
double S=0, eps;
cout<<"Точность:";
cin>>eps;
while(1.0/n>eps && n
S+=1./n++;
cout<<"\nСумма="<
}
Контрольные задания
1. При практическом использовании программы из упражнения 1 необходимо помнить, что факториал – очень быстро растущая функция, и поэтому при определённых значениях N выйдет из диапазона, соответствующего типу long int. Задав для переменной F тип unsigned long, можно сдвинуть эту границу, но этого может оказаться недостаточно. В качестве самостоятельного задания исследуйте предельные значения N для двух указанных типов переменной F.
2. Составить программу вычисления факториала целого положительного числа N! с использованием цикла for.
3. Используя циклы while, do-while и for, написать три варианта программы получения на экране таблицы синусов для значений аргумента в диапазоне от 0 до π/2 с заданным числом шагов.
4. Составить программу, вычисляющую и выводящую все члены числового ряда
1, , , …, ,
значение которых превышает 10-5.
5. Составить программу, печатающую в возрастающем порядке все трёхзначные числа, в десятичной записи которых нет одинаковых цифр.
6. Составить программу, печатающую все простые числа из диапазона [2, n] при целом n > 2.
7. Составить программу перевода целого десятичного числа в двоичную систему счисления.
8. Составить программу перевода целого десятичного числа в шестнадцатеричную систему счисления.
Заключение
В настоящее время трудно себе представить какую-либо область деятельности, где человек обходился бы без использования компьютеров, средств коммуникаций и соответствующих программ. Прикладная информатика объединила информационные и коммуникационные технологии с теми предметными областями, в которых эти технологии активно используются. Одной из этих предметных областей является экономика.
В процессе развития информатики как прикладной науки появились разные подходы к программированию. Дисциплина «Языки программирования» призвана содействовать знакомству студентов с различными парадигмами проектирования и разработки программного обеспечения. Она важна с той точки зрения, что, являясь составной частью подготовки экономиста, способствует развитию алгоритмического мышления, навыков программирования студентов.
Сфера применения новых информационных технологий постоянно развивается и всё глубже проникает во все процессы деятельности человека: от обеспечения простейших функций служебной переписки до системного анализа и поддержки сложных задач принятия решений. Кроме того, стремительное развитие компьютерных систем и средств коммуникаций, модернизация и смена поколений вычислительной техники, переход на новые операционные системы, обновление версий прикладных программ, средств и языков программирования предъявляет всё возрастающие требования к компьютерной грамотности специалистов. Поэтому сегодня, как никогда, актуальна подготовка специалистов, профессионально адаптированных к новым условиям работы в современной экономике, чей уровень подготовки напрямую зависит от профессионально значимых качеств, формируемых в процессе обучения в высшей школе.
В мире, где информация является самым ценным ресурсом, необходимы специалисты, способные качественно провести её анализ и отбор, оптимизировать в зависимости от требуемых критериев, выбрать методы хранения и трансляции. Выполнение всех вышеперечисленных операций лежит в основе деятельности экономиста, которая определяет состав качеств личности специалиста.
Данное учебно-методическое пособие позволяет ознакомиться с основными понятиями языков программирования и получить практические навыки работы в области программирования.
Тонких Артём Петрович
Языки программирования
Учебно-методическое пособие
для очного отделения
Формат 84х108/16.
Печать оперативная.
Тираж 50 экз.
Тольяттинский государственный университет
445667, г. Тольятти, ул. Белорусская, 14.