User Tools

Site Tools


Sidebar






Old

courses:programming:topic1

This is an old revision of the document!


Лекция 1: Введение

  • Введение
    • О курсе
    • Структура занятий:
      • Вопросы в начале каждой пары (вопросы заранее на pr1@)
      • Самостоятельная работа c MOOC
    • Об инструментах:
      • IDE vs simple tools
      • default toolchain
        • editor, compiler, linker
      • gcc
      • git
      • make
    • Модель вычислений в архитектуре Фон-Неймана
    • Обзор парадигм/стилей программирования
      • Императивный
      • Декларативный
      • Функциональный
    • Исполнение программ. Компиляция и интерпретация.
    • О языке C. Процесс компиляции программы.
    • Введение в синтаксис. Составные элементы программы.
    • Справочные материалы:
      • KRC Керниган, Ритчи. Язык программирования Си
      • KRU Керниган, Пайк. Программное окружение Unix
      • GIT С.Чансон. Pro git
    • Домашнее задание:
      • KRC главы 1-3. Изучить, подготовить вопросы.
      • GIT 1.1–1.3, 2.*

Практика 1: Лабораторная работа №1

Задание:

1. Создайте проект, состоящий из пяти файлов: main.c, print_str.c, get_name.c, print_str.h, get_name.h в каталоге, имя которого содержит Ваше имя, Фамилию и номер лабораторной (например, ivanov_ivan_1).

  • Файл get_name.c должен содержать описание функции, которая считывает из входного потока имя пользователя и возвращает его.
  • Файл get_name.h должен содержать прототип функции, которая считывает из входного потока имя пользователя и возвращает его.
  • Файл print_str.c должен содержать описание функции, которая принимает в качестве аргумента строку и выводит её (функция ничего не возвращает).
  • Файл print_str.h должен содержать прототип функции, которая принимает в качестве аргумента строку и выводит её (функция ничего не возвращает).
  • Файл main.c содержит главную функцию, которая вызывает функцию из файла get_name.h, добавляет к результату выполнения функции строку “Hello, ” и передает полученную строку в функцию вывода строки из print_str.h.

2. После того, как Ваш проект будет готов, создайте для него Makefile.

В результате:

  1. Ваш проект, включающий в себя три файла .c, два файла .h и Makefile, должен быть выложен в репозиторий:
  2. Должен быть создан pullrequest в ветку master.

Файлы, созданные в процессе компиляции выкладывать не требуется!

Дополнительная информация для выполнения лабораторной работы:

Стандартная библиотека, которая содержит функции консольного ввода/вывода:

stdio.h

Функция вывода строки str:

puts(str)

Фрагмент кода для ввода массива символов name (предполагается, что строка не содержит более 80 символов):

char name[80];
int i = 0; 
char ch; 
while ((ch = getchar()) != '\n')
{
  name[i] = ch;
  i++; 
} 
name[i] = '\0';  
courses/programming/topic1.1473859824.txt.gz · Last modified: 2022/12/10 09:08 (external edit)