Главная страница
Навигация по странице:

  • Задание :Выполните упражнения 1, 2. Перед выполнением упражнения изучите материал по темам из разделов 2.3.1 – 2.3.7 курса лекций.Упражнение 1

  • ВКР. Учебно-методическое пособие Тольятти тгу 2011 удк 004 3(075) ббк. Учебнометодическое пособие по дисциплине Языки программирования предназначено для студентов очной формы обучения и содержит конспект лекций по ключевым темам курса и практикум


    Скачать 0.88 Mb.
    НазваниеУчебнометодическое пособие по дисциплине Языки программирования предназначено для студентов очной формы обучения и содержит конспект лекций по ключевым темам курса и практикум
    Дата30.05.2022
    Размер0.88 Mb.
    Формат файлаdoc
    Имя файлаУчебно-методическое пособие Тольятти тгу 2011 удк 004 3(075) ббк.doc
    ТипУчебно-методическое пособие
    #557668
    страница13 из 13
    1   ...   5   6   7   8   9   10   11   12   13

    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 <iostream.h>

    void main ()

    { long int F;

    int i,N;

    cout<<"N="; cin>>N;

    F=i=1;

    while(i<=N) F=F*i++;

    cout<<"\n"<<N<<"!="<<F;

    }

    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 <iostream.h>

    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=MaxInt);

    Исполнение цикла повторяется до того момента, когда логическое выражение станет равным 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 <iostream.h>

    #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.



    1   ...   5   6   7   8   9   10   11   12   13


    написать администратору сайта